{"version":3,"file":"static/js/main.87c2d516.js","mappings":"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","sources":["../node_modules/axios-progress-bar/dist/index.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/hammerjs/hammer.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/invariant/browser.js","../node_modules/js-file-download/file-download.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHas.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_root.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/camelCase.js","../node_modules/lodash/capitalize.js","../node_modules/lodash/deburr.js","../node_modules/lodash/eq.js","../node_modules/lodash/get.js","../node_modules/lodash/has.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/mapKeys.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/memoize.js","../node_modules/lodash/property.js","../node_modules/lodash/snakeCase.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/toString.js","../node_modules/lodash/upperFirst.js","../node_modules/lodash/words.js","../node_modules/object-assign/index.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/property-expr/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-helmet/node_modules/react-fast-compare/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-side-effect/lib/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/toposort/index.js","../node_modules/warning/warning.js","../node_modules/classnames/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Container.js","../node_modules/react-bootstrap/esm/Row.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/Image.js","Components/Footer.js","Components/Footer_En.js","../node_modules/react-bootstrap/esm/CardBody.js","../node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/react-bootstrap/esm/CardLink.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/react-bootstrap/esm/CardText.js","../node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/react-bootstrap/esm/Card.js","../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","../node_modules/framer-motion/dist/es/context/PresenceContext.mjs","../node_modules/framer-motion/dist/es/utils/is-browser.mjs","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","../node_modules/framer-motion/dist/es/context/LazyContext.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","../node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs","../node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs","../node_modules/framer-motion/dist/es/frameloop/render-step.mjs","../node_modules/framer-motion/dist/es/frameloop/batcher.mjs","../node_modules/framer-motion/dist/es/frameloop/microtask.mjs","../node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","../node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","../node_modules/framer-motion/dist/es/render/utils/variant-props.mjs","../node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","../node_modules/framer-motion/dist/es/motion/features/definitions.mjs","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","../node_modules/framer-motion/dist/es/motion/index.mjs","../node_modules/framer-motion/dist/es/motion/features/load-features.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","../node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","../node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","../node_modules/framer-motion/dist/es/utils/clamp.mjs","../node_modules/framer-motion/dist/es/value/types/numbers/index.mjs","../node_modules/framer-motion/dist/es/value/types/utils.mjs","../node_modules/framer-motion/dist/es/value/types/numbers/units.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","../node_modules/framer-motion/dist/es/render/html/use-props.mjs","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","../node_modules/framer-motion/dist/es/render/svg/use-props.mjs","../node_modules/framer-motion/dist/es/render/dom/use-render.mjs","../node_modules/framer-motion/dist/es/render/html/utils/render.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","../node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","../node_modules/framer-motion/dist/es/utils/resolve-value.mjs","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","../node_modules/framer-motion/dist/es/utils/use-constant.mjs","../node_modules/framer-motion/dist/es/utils/noop.mjs","../node_modules/framer-motion/dist/es/frameloop/frame.mjs","../node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","../node_modules/framer-motion/dist/es/render/html/config-motion.mjs","../node_modules/framer-motion/dist/es/events/add-dom-event.mjs","../node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs","../node_modules/framer-motion/dist/es/events/event-info.mjs","../node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","../node_modules/framer-motion/dist/es/utils/pipe.mjs","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs","../node_modules/framer-motion/dist/es/motion/features/Feature.mjs","../node_modules/framer-motion/dist/es/gestures/hover.mjs","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs","../node_modules/framer-motion/dist/es/gestures/press.mjs","../node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","../node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","../node_modules/framer-motion/dist/es/motion/features/gestures.mjs","../node_modules/framer-motion/dist/es/gestures/focus.mjs","../node_modules/framer-motion/dist/es/utils/shallow-compare.mjs","../node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs","../node_modules/framer-motion/dist/es/utils/errors.mjs","../node_modules/framer-motion/dist/es/utils/time-conversion.mjs","../node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs","../node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs","../node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs","../node_modules/framer-motion/dist/es/easing/ease.mjs","../node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs","../node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs","../node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs","../node_modules/framer-motion/dist/es/easing/circ.mjs","../node_modules/framer-motion/dist/es/easing/back.mjs","../node_modules/framer-motion/dist/es/easing/utils/map.mjs","../node_modules/framer-motion/dist/es/easing/anticipate.mjs","../node_modules/framer-motion/dist/es/value/types/color/utils.mjs","../node_modules/framer-motion/dist/es/value/types/color/rgba.mjs","../node_modules/framer-motion/dist/es/value/types/color/hex.mjs","../node_modules/framer-motion/dist/es/value/types/color/hsla.mjs","../node_modules/framer-motion/dist/es/value/types/color/index.mjs","../node_modules/framer-motion/dist/es/utils/mix.mjs","../node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs","../node_modules/framer-motion/dist/es/utils/mix-color.mjs","../node_modules/framer-motion/dist/es/value/types/complex/index.mjs","../node_modules/framer-motion/dist/es/utils/mix-complex.mjs","../node_modules/framer-motion/dist/es/utils/progress.mjs","../node_modules/framer-motion/dist/es/utils/interpolate.mjs","../node_modules/framer-motion/dist/es/utils/offsets/default.mjs","../node_modules/framer-motion/dist/es/utils/offsets/fill.mjs","../node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs","../node_modules/framer-motion/dist/es/utils/offsets/time.mjs","../node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs","../node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs","../node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs","../node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs","../node_modules/framer-motion/dist/es/animation/generators/inertia.mjs","../node_modules/framer-motion/dist/es/frameloop/sync-time.mjs","../node_modules/framer-motion/dist/es/animation/animators/js/driver-frameloop.mjs","../node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs","../node_modules/framer-motion/dist/es/animation/animators/js/index.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/create-accelerated-animation.mjs","../node_modules/framer-motion/dist/es/utils/memo.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs","../node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs","../node_modules/framer-motion/dist/es/value/types/complex/filter.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs","../node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs","../node_modules/framer-motion/dist/es/animation/utils/is-none.mjs","../node_modules/framer-motion/dist/es/animation/utils/transitions.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs","../node_modules/framer-motion/dist/es/animation/utils/keyframes.mjs","../node_modules/framer-motion/dist/es/animation/animators/instant.mjs","../node_modules/framer-motion/dist/es/value/use-will-change/is.mjs","../node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs","../node_modules/framer-motion/dist/es/utils/array.mjs","../node_modules/framer-motion/dist/es/utils/subscription-manager.mjs","../node_modules/framer-motion/dist/es/value/index.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs","../node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs","../node_modules/framer-motion/dist/es/render/utils/setters.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs","../node_modules/framer-motion/dist/es/render/utils/animation-state.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs","../node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","../node_modules/framer-motion/dist/es/motion/features/animations.mjs","../node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","../node_modules/framer-motion/dist/es/utils/distance.mjs","../node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","../node_modules/framer-motion/dist/es/projection/geometry/models.mjs","../node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","../node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs","../node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs","../node_modules/framer-motion/dist/es/projection/utils/measure.mjs","../node_modules/framer-motion/dist/es/utils/get-context-window.mjs","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","../node_modules/framer-motion/dist/es/gestures/pan/index.mjs","../node_modules/framer-motion/dist/es/projection/node/state.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","../node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","../node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","../node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","../node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","../node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","../node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","../node_modules/framer-motion/dist/es/projection/shared/stack.mjs","../node_modules/framer-motion/dist/es/projection/styles/transform.mjs","../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","../node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","../node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","../node_modules/framer-motion/dist/es/debug/record.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs","../node_modules/framer-motion/dist/es/utils/delay.mjs","../node_modules/framer-motion/dist/es/animation/interfaces/single-value.mjs","../node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","../node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","../node_modules/framer-motion/dist/es/motion/features/drag.mjs","../node_modules/framer-motion/dist/es/gestures/drag/index.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.mjs","../node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs","../node_modules/framer-motion/dist/es/render/store.mjs","../node_modules/framer-motion/dist/es/render/VisualElement.mjs","../node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs","../node_modules/framer-motion/dist/es/render/utils/motion-values.mjs","../node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs","../node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs","../node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs","../node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","../node_modules/framer-motion/dist/es/render/dom/motion.mjs","../node_modules/framer-motion/dist/es/motion/features/layout.mjs","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","Components/TeamItem.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useMediaQuery.js","../node_modules/@restart/hooks/esm/useBreakpoint.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/react-bootstrap/esm/Navbar.js","../node_modules/react-bootstrap/esm/createUtilityClasses.js","../node_modules/react-bootstrap/esm/Stack.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","../node_modules/@restart/ui/node_modules/uncontrollable/lib/esm/index.js","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/react-bootstrap/esm/NavDropdown.js","Components/NaviBarv2.js","MainTeam.js","../node_modules/@restart/ui/esm/TabPanel.js","../node_modules/@restart/ui/esm/Tabs.js","../node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/react-bootstrap/esm/TabContent.js","../node_modules/react-bootstrap/esm/TabPane.js","../node_modules/react-bootstrap/esm/Tab.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/@restart/ui/esm/useRootClose.js","../node_modules/@restart/ui/esm/Overlay.js","../node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/react-bootstrap/esm/helpers.js","../node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/react-bootstrap/esm/Popover.js","../node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/react-bootstrap/esm/Spinner.js","Components/StaticCovidDataItem.js","../node_modules/chart.js/dist/chunks/helpers.segment.mjs","../node_modules/chart.js/dist/chart.mjs","../node_modules/chartjs-plugin-zoom/dist/chartjs-plugin-zoom.esm.js","Components/PublicationsData.js","Components/Main_publications_more_detailed.js","Components/Krivorotko_info.js","Components/NaviBarv2_En.js","Components/Krivorotko_info_En.js","Components/Kabanikhin_info.js","Components/Kabanikhin_info_En.js","Components/Mikhailapov_info.js","Components/Mikhailapov_info_En.js","Components/Petrakova_info.js","Components/Petrakova_info_En.js","Components/Semenova_info.js","Components/Semenova_info_En.js","Components/Nesterova_info.js","Components/Nesterova_info_En.js","Components/Zyatkov_info.js","Components/Zyatkov_info_En.js","Components/Zvonareva_info.js","Components/Zvonareva_info_En.js","Components/Neverov_info.js","Components/Neverov_info_En.js","Components/Krivorotko_Zvonareva_teaching.js","Components/Krivorotko_teaching.js","Components/Krivorotko_Zvonareva_teaching_En.js","Components/Krivorotko_teaching_En.js","Components/Krivorotko_teaching_methods.js","Components/Krivorotko_teaching_methods_En.js","../node_modules/react-icons/lib/esm/iconsManifest.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/fi/index.esm.js","../node_modules/react-bootstrap/esm/AlertHeading.js","../node_modules/react-bootstrap/esm/AlertLink.js","../node_modules/react-bootstrap/esm/Alert.js","../node_modules/react-icons/bs/index.esm.js","../node_modules/react-chartjs-2/src/utils.ts","../node_modules/react-chartjs-2/src/chart.tsx","../node_modules/react-chartjs-2/src/typedCharts.tsx","Components/StaticCovidData.js","Covid.js","Components/StaticTubData.js","Components/StaticTubDataSoc.js","Tub.js","Components/NaviBar.js","Components/Main_picture.js","../node_modules/react-yandex-maps/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-yandex-maps/node_modules/react-is/index.js","../node_modules/react-yandex-maps/node_modules/object-assign/index.js","../node_modules/react-yandex-maps/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/react-yandex-maps/node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/react-yandex-maps/node_modules/prop-types/index.js","../node_modules/react-yandex-maps/node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-yandex-maps/node_modules/react-display-name/lib/getDisplayName.js","../node_modules/react-yandex-maps/src/util/omit.js","../node_modules/react-yandex-maps/node_modules/warning/warning.js","../node_modules/react-yandex-maps/node_modules/create-react-context/lib/implementation.js","../node_modules/react-yandex-maps/node_modules/create-react-context/lib/index.js","../node_modules/react-yandex-maps/src/Context.js","../node_modules/react-yandex-maps/src/withYMaps.js","../node_modules/react-yandex-maps/src/YMaps.js","../node_modules/react-yandex-maps/src/util/set.js","../node_modules/react-yandex-maps/src/Provider.js","../node_modules/react-yandex-maps/src/util/events.js","../node_modules/react-yandex-maps/src/util/props.js","../node_modules/react-yandex-maps/src/util/ref.js","../node_modules/react-yandex-maps/src/util/getParentElementSize.js","../node_modules/react-yandex-maps/src/Map.js","../node_modules/react-yandex-maps/src/Panorama.js","../node_modules/react-yandex-maps/src/controls/BaseControl.js","../node_modules/react-yandex-maps/src/controls/TypeSelector.js","../node_modules/react-yandex-maps/src/controls/Button.js","../node_modules/react-yandex-maps/src/controls/FullscreenControl.js","../node_modules/react-yandex-maps/src/controls/GeolocationControl.js","../node_modules/react-yandex-maps/src/controls/ListBox.js","../node_modules/react-yandex-maps/src/controls/ListBoxItem.js","../node_modules/react-yandex-maps/src/controls/RouteButton.js","../node_modules/react-yandex-maps/src/controls/RouteEditor.js","../node_modules/react-yandex-maps/src/controls/RoutePanel.js","../node_modules/react-yandex-maps/src/controls/RulerControl.js","../node_modules/react-yandex-maps/src/controls/SearchControl.js","../node_modules/react-yandex-maps/src/controls/TrafficControl.js","../node_modules/react-yandex-maps/src/controls/ZoomControl.js","../node_modules/react-yandex-maps/src/geo-objects/BaseGeoObject.js","../node_modules/react-yandex-maps/src/clusterization/Clusterer.js","../node_modules/react-yandex-maps/src/clusterization/ObjectManager.js","../node_modules/react-yandex-maps/src/geo-objects/GeoObject.js","../node_modules/react-yandex-maps/src/geo-objects/Circle.js","../node_modules/react-yandex-maps/src/geo-objects/Placemark.js","../node_modules/react-yandex-maps/src/geo-objects/Polygon.js","../node_modules/react-yandex-maps/src/geo-objects/Polyline.js","../node_modules/react-yandex-maps/src/geo-objects/Rectangle.js","Components/Main_contacts.js","Components/Main_publications.js","Components/ConferenseItem.js","Main.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/react-bootstrap/esm/Tabs.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/@coreui/react-pro/node_modules/tslib/tslib.es6.js","../node_modules/@coreui/prop-types/lib/ReactPropTypesSecret.js","../node_modules/@coreui/prop-types/index.js","../node_modules/@coreui/prop-types/factoryWithThrowingShims.js","../node_modules/@coreui/classnames/index.js","../node_modules/@coreui/react-pro/src/components/accordion/CAccordion.tsx","../node_modules/@coreui/react-pro/src/components/accordion/CAccordionItem.tsx","../node_modules/@coreui/@babel/runtime/helpers/esm/extends.js","../node_modules/@coreui/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@coreui/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@coreui/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@coreui/dom-helpers/esm/removeClass.js","../node_modules/@coreui/react-transition-group/esm/config.js","../node_modules/@coreui/react-transition-group/esm/TransitionGroupContext.js","../node_modules/@coreui/react-transition-group/esm/utils/reflow.js","../node_modules/@coreui/react-transition-group/esm/Transition.js","../node_modules/@coreui/react-transition-group/esm/CSSTransition.js","../node_modules/@coreui/dom-helpers/esm/addClass.js","../node_modules/@coreui/dom-helpers/esm/hasClass.js","../node_modules/@coreui/react-pro/src/hooks/useForkedRef.ts","../node_modules/@coreui/react-pro/src/hooks/useIsVisible.ts","../node_modules/@coreui/@popperjs/core/lib/enums.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@coreui/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@coreui/@popperjs/core/lib/utils/math.js","../node_modules/@coreui/@popperjs/core/lib/utils/userAgent.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@coreui/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@coreui/@popperjs/core/lib/utils/within.js","../node_modules/@coreui/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@coreui/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@coreui/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@coreui/@popperjs/core/lib/utils/getVariation.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@coreui/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@coreui/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@coreui/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@coreui/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@coreui/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@coreui/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/flip.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/hide.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/offset.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@coreui/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@coreui/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@coreui/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@coreui/@popperjs/core/lib/utils/debounce.js","../node_modules/@coreui/@popperjs/core/lib/createPopper.js","../node_modules/@coreui/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@coreui/@popperjs/core/lib/popper.js","../node_modules/@coreui/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@coreui/react-pro/src/utils/getTransitionDurationFromElement.ts","../node_modules/@coreui/react-pro/src/utils/executeAfterTransition.ts","../node_modules/@coreui/react-pro/src/utils/isRTL.ts","../node_modules/@coreui/react-pro/src/utils/getRTLPlacement.ts","../node_modules/@coreui/react-pro/src/utils/isInViewport.ts","../node_modules/@coreui/react-pro/src/utils/isObjectInArray.ts","../node_modules/@coreui/react-pro/src/hooks/usePopper.ts","../node_modules/@coreui/react-pro/src/hooks/useStateWithCallback.ts","../node_modules/@coreui/react-pro/src/components/collapse/CCollapse.tsx","../node_modules/@coreui/react-pro/src/components/accordion/CAccordionBody.tsx","../node_modules/@coreui/react-pro/src/components/accordion/CAccordionButton.tsx","../node_modules/@coreui/react-pro/src/components/accordion/CAccordionHeader.tsx","../node_modules/@coreui/react-pro/src/components/close-button/CCloseButton.tsx","../node_modules/@coreui/react-pro/src/props.ts","../node_modules/@coreui/react-pro/src/components/alert/CAlert.tsx","../node_modules/@coreui/react-pro/src/components/alert/CAlertHeading.tsx","../node_modules/@coreui/react-pro/src/components/link/CLink.tsx","../node_modules/@coreui/react-pro/src/components/alert/CAlertLink.tsx","../node_modules/@coreui/react-pro/src/components/avatar/CAvatar.tsx","../node_modules/@coreui/react-pro/src/components/backdrop/CBackdrop.tsx","../node_modules/@coreui/react-pro/src/components/badge/CBadge.tsx","../node_modules/@coreui/react-pro/src/components/breadcrumb/CBreadcrumb.tsx","../node_modules/@coreui/react-pro/src/components/breadcrumb/CBreadcrumbItem.tsx","../node_modules/@coreui/react-pro/src/components/button/CButton.tsx","../node_modules/@coreui/react-pro/src/components/button-group/CButtonToolbar.tsx","../node_modules/@coreui/react-pro/src/components/button-group/CButtonGroup.tsx","../node_modules/@coreui/react-pro/src/components/callout/CCallout.tsx","../node_modules/@coreui/react-pro/src/components/card/CCard.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardBody.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardFooter.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardGroup.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardHeader.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardImage.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardImageOverlay.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardLink.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardSubtitle.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardText.tsx","../node_modules/@coreui/react-pro/src/components/card/CCardTitle.tsx","../node_modules/@coreui/react-pro/src/components/carousel/CCarousel.tsx","../node_modules/@coreui/react-pro/src/components/carousel/CCarouselCaption.tsx","../node_modules/@coreui/react-pro/src/components/carousel/CCarouselItem.tsx","../node_modules/@coreui/react-pro/src/components/conditional-portal/CConditionalPortal.tsx","../node_modules/@coreui/@babel/runtime/helpers/esm/typeof.js","../node_modules/@coreui/date-fns/esm/_lib/toInteger/index.js","../node_modules/@coreui/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/@coreui/date-fns/esm/toDate/index.js","../node_modules/@coreui/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/@coreui/date-fns/esm/isValid/index.js","../node_modules/@coreui/date-fns/esm/isDate/index.js","../node_modules/@coreui/date-fns/esm/subMilliseconds/index.js","../node_modules/@coreui/date-fns/esm/addMilliseconds/index.js","../node_modules/@coreui/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/@coreui/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/@coreui/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/@coreui/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/@coreui/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/@coreui/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/@coreui/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/@coreui/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/@coreui/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/@coreui/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/@coreui/date-fns/esm/_lib/format/formatters/index.js","../node_modules/@coreui/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/@coreui/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/@coreui/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/@coreui/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/@coreui/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/@coreui/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/@coreui/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/@coreui/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/@coreui/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/@coreui/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/@coreui/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/@coreui/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/@coreui/date-fns/esm/locale/en-US/index.js","../node_modules/@coreui/date-fns/esm/format/index.js","../node_modules/@coreui/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/@coreui/ua-parser-js/dist/ua-parser.min.js","../node_modules/@coreui/react-device-detect/dist/lib.js","../node_modules/@coreui/react-pro/src/components/calendar/utils.ts","../node_modules/@coreui/react-pro/src/components/calendar/CCalendar.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormFeedback.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormControlValidation.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormFloating.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormLabel.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormText.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormControlWrapper.tsx","../node_modules/@coreui/react-pro/src/components/picker/CPicker.tsx","../node_modules/@coreui/react-pro/src/components/time-picker/CTimePickerRollCol.tsx","../node_modules/@coreui/react-pro/src/components/time-picker/utils.ts","../node_modules/@coreui/react-pro/src/components/time-picker/CTimePicker.tsx","../node_modules/@coreui/react-pro/src/components/date-range-picker/utils.ts","../node_modules/@coreui/react-pro/src/components/date-range-picker/CDateRangePicker.tsx","../node_modules/@coreui/react-pro/src/hooks/useDebouncedCallback.ts","../node_modules/@coreui/react-pro/src/components/date-picker/CDatePicker.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdown.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdownDivider.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdownHeader.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdownItem.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdownItemPlain.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdownMenu.tsx","../node_modules/@coreui/react-pro/src/components/dropdown/CDropdownToggle.tsx","../node_modules/@coreui/react-pro/src/components/spinner/CSpinner.tsx","../node_modules/@coreui/react-pro/src/components/element-cover/CElementCover.tsx","../node_modules/@coreui/react-pro/src/components/footer/CFooter.tsx","../node_modules/@coreui/react-pro/src/components/form/CForm.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormCheck.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormInput.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormRange.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormSelect.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormSwitch.tsx","../node_modules/@coreui/react-pro/src/components/form/CFormTextarea.tsx","../node_modules/@coreui/react-pro/src/components/form/CInputGroup.tsx","../node_modules/@coreui/react-pro/src/components/form/CInputGroupText.tsx","../node_modules/@coreui/react-pro/src/components/grid/CCol.tsx","../node_modules/@coreui/react-pro/src/components/grid/CContainer.tsx","../node_modules/@coreui/react-pro/src/components/grid/CRow.tsx","../node_modules/@coreui/react-pro/src/components/header/CHeader.tsx","../node_modules/@coreui/react-pro/src/components/header/CHeaderBrand.tsx","../node_modules/@coreui/react-pro/src/components/header/CHeaderDivider.tsx","../node_modules/@coreui/react-pro/src/components/header/CHeaderNav.tsx","../node_modules/@coreui/react-pro/src/components/header/CHeaderText.tsx","../node_modules/@coreui/react-pro/src/components/header/CHeaderToggler.tsx","../node_modules/@coreui/react-pro/src/components/image/CImage.tsx","../node_modules/@coreui/react-pro/src/components/list-group/CListGroup.tsx","../node_modules/@coreui/react-pro/src/components/list-group/CListGroupItem.tsx","../node_modules/@coreui/react-pro/src/components/loading-button/CLoadingButton.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModalContent.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModalDialog.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModal.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModalBody.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModalFooter.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModalHeader.tsx","../node_modules/@coreui/react-pro/src/components/modal/CModalTitle.tsx","../node_modules/@coreui/react-pro/src/components/multi-select/CMultiSelectNativeSelect.tsx","../node_modules/@coreui/react-pro/src/components/virtual-scroller/CVirtualScroller.tsx","../node_modules/@coreui/react-pro/src/components/multi-select/utils.ts","../node_modules/@coreui/react-pro/src/components/multi-select/CMultiSelectOptions.tsx","../node_modules/@coreui/react-pro/src/components/multi-select/CMultiSelectSelection.tsx","../node_modules/@coreui/react-pro/src/components/multi-select/CMultiSelect.tsx","../node_modules/@coreui/react-pro/src/components/nav/CNav.tsx","../node_modules/@coreui/react-pro/src/components/nav/CNavGroupItems.tsx","../node_modules/@coreui/react-pro/src/components/sidebar/CSidebarNav.tsx","../node_modules/@coreui/react-pro/src/components/nav/CNavGroup.tsx","../node_modules/@coreui/react-pro/src/components/nav/CNavLink.tsx","../node_modules/@coreui/react-pro/src/components/nav/CNavItem.tsx","../node_modules/@coreui/react-pro/src/components/nav/CNavTitle.tsx","../node_modules/@coreui/react-pro/src/components/navbar/CNavbar.tsx","../node_modules/@coreui/react-pro/src/components/navbar/CNavbarBrand.tsx","../node_modules/@coreui/react-pro/src/components/navbar/CNavbarNav.tsx","../node_modules/@coreui/react-pro/src/components/navbar/CNavbarText.tsx","../node_modules/@coreui/react-pro/src/components/navbar/CNavbarToggler.tsx","../node_modules/@coreui/react-pro/src/components/offcanvas/COffcanvas.tsx","../node_modules/@coreui/react-pro/src/components/offcanvas/COffcanvasBody.tsx","../node_modules/@coreui/react-pro/src/components/offcanvas/COffcanvasHeader.tsx","../node_modules/@coreui/react-pro/src/components/offcanvas/COffcanvasTitle.tsx","../node_modules/@coreui/react-pro/src/components/pagination/CPagination.tsx","../node_modules/@coreui/react-pro/src/components/pagination/CPaginationItem.tsx","../node_modules/@coreui/react-pro/src/components/placeholder/CPlaceholder.tsx","../node_modules/@coreui/react-pro/src/components/progress/CProgressStacked.tsx","../node_modules/@coreui/react-pro/src/components/progress/CProgressBar.tsx","../node_modules/@coreui/react-pro/src/components/progress/CProgress.tsx","../node_modules/@coreui/react-pro/src/components/popover/CPopover.tsx","../node_modules/@coreui/@coreui/icons/dist/esm/free/cil-arrow-bottom.js","../node_modules/@coreui/@coreui/icons/dist/esm/free/cil-arrow-top.js","../node_modules/@coreui/@coreui/icons/dist/esm/free/cil-filter-x.js","../node_modules/@coreui/@coreui/icons/dist/esm/free/cil-swap-vertical.js","../node_modules/@coreui/@coreui/icons-react/dist/index.es.js","../node_modules/@coreui/react-pro/src/components/smart-pagination/CSmartPagination.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableHead.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableHeaderCell.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableBody.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableDataCell.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableRow.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableFoot.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableCaption.tsx","../node_modules/@coreui/react-pro/src/components/table/CTableResponsiveWrapper.tsx","../node_modules/@coreui/react-pro/src/components/table/utils.ts","../node_modules/@coreui/react-pro/src/components/table/CTable.tsx","../node_modules/@coreui/react-pro/src/components/smart-table/utils.ts","../node_modules/@coreui/react-pro/src/components/smart-table/CSmartTableBody.tsx","../node_modules/@coreui/react-pro/src/components/smart-table/CSmartTableHead.tsx","../node_modules/@coreui/react-pro/src/components/smart-table/CSmartTable.tsx","../node_modules/@coreui/react-pro/src/components/sidebar/CSidebar.tsx","../node_modules/@coreui/react-pro/src/components/sidebar/CSidebarBrand.tsx","../node_modules/@coreui/react-pro/src/components/sidebar/CSidebarFooter.tsx","../node_modules/@coreui/react-pro/src/components/sidebar/CSidebarToggler.tsx","../node_modules/@coreui/react-pro/src/components/sidebar/CSidebarHeader.tsx","../node_modules/@coreui/react-pro/src/components/tabs/CTabContent.tsx","../node_modules/@coreui/react-pro/src/components/tabs/CTabPane.tsx","../node_modules/@coreui/react-pro/src/components/toast/CToast.tsx","../node_modules/@coreui/react-pro/src/components/toast/CToastBody.tsx","../node_modules/@coreui/react-pro/src/components/toast/CToastClose.tsx","../node_modules/@coreui/react-pro/src/components/toast/CToastHeader.tsx","../node_modules/@coreui/react-pro/src/components/toast/CToaster.tsx","../node_modules/@coreui/react-pro/src/components/tooltip/CTooltip.tsx","../node_modules/@coreui/react-pro/src/components/widgets/CWidgetStatsA.tsx","../node_modules/@coreui/react-pro/src/components/widgets/CWidgetStatsB.tsx","../node_modules/@coreui/react-pro/src/components/widgets/CWidgetStatsC.tsx","../node_modules/@coreui/react-pro/src/components/widgets/CWidgetStatsD.tsx","../node_modules/@coreui/react-pro/src/components/widgets/CWidgetStatsE.tsx","../node_modules/@coreui/react-pro/src/components/widgets/CWidgetStatsF.tsx","../node_modules/deepmerge/dist/es.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/clone.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/toPath.js","../node_modules/lodash-es/cloneDeep.js","../node_modules/formik/src/FormikContext.tsx","../node_modules/formik/src/utils.ts","../node_modules/formik/src/Formik.tsx","../node_modules/formik/src/Form.tsx","../node_modules/formik/src/FieldArray.tsx","../node_modules/nanoclone/src/index.js","../node_modules/yup/es/util/printValue.js","../node_modules/yup/es/locale.js","../node_modules/yup/es/util/isSchema.js","../node_modules/yup/es/Condition.js","../node_modules/yup/es/util/toArray.js","../node_modules/yup/es/ValidationError.js","../node_modules/yup/es/util/runTests.js","../node_modules/yup/es/Reference.js","../node_modules/yup/es/util/createValidation.js","../node_modules/yup/es/util/reach.js","../node_modules/yup/es/util/ReferenceSet.js","../node_modules/yup/es/schema.js","../node_modules/yup/es/mixed.js","../node_modules/yup/es/util/isAbsent.js","../node_modules/yup/es/string.js","../node_modules/yup/es/number.js","../node_modules/yup/es/util/isodate.js","../node_modules/yup/es/date.js","../node_modules/yup/es/util/sortByKeyOrder.js","../node_modules/yup/es/object.js","../node_modules/yup/es/util/sortFields.js","../node_modules/react-bootstrap/esm/Table.js","Components/Description_SEIRHCD.js","Components/OptionItem.js","ModelingSEIR_HCD.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","Components/CovidDataFiles.js","Components/CollapseParamCSV.js","Components/Description_AOM.js","Modeling.js","Components/CollapseParamInvitro.js","Components/CollapseParamOmsk.js","Components/CollapseParamAltay.js","Components/CollapseParamNSKsmall.js","Components/CollapseParamAltaysmoothed.js","Components/CollapseMSDeath_data.js","Data.js","Components/NewsData.js","News.js","News_En.js","Conferences.js","Sem_Compl.js","Links.js","Data_processing_and_analysis.js","The_spread_of_epidemics.js","Medicine.js","Pollution_modeling.js","Social_processes.js","../node_modules/react-helmet/es/Helmet.js","Components/StaticCovidDataItem_En.js","Components/StaticCovidData_En.js","Covid_En.js","Components/StaticTubData_En.js","Components/StaticTubDataSoc_En.js","Tub_En.js","Components/NaviBar_En.js","Components/Main_picture_En.js","Components/Main_contacts_En.js","Components/Main_publications_En.js","Components/Main_publications_more_detailed_En.js","Main_En.js","Components/Description_SEIRHCD_En.js","ModelingSEIR_HCD_En.js","Components/CovidDataFiles_En.js","Components/CollapseParamCSV_En.js","Components/Description_AOM_En.js","Modeling_En.js","Components/CollapseParamInvitro_En.js","Components/CollapseParamOmsk_En.js","Components/CollapseParamAltay_En.js","Components/CollapseParamNSKsmall_En.js","Components/CollapseParamAltaysmoothed_En.js","Components/CollapseMSDeath_data_En.js","Data_En.js","Components/TeamItem_En.js","MainTeam_En.js","Conferences_En.js","Sem_Compl_En.js","Links_En.js","Data_processing_and_analysis_En.js","The_spread_of_epidemics_En.js","Medicine_En.js","Pollution_modeling_En.js","Social_processes_En.js","news/Sem_a.js","news/Conf_a.js","news/Conf_b.js","news/Conf_c.js","news/Conf_d.js","news/Conf_e.js","news/Conf_f.js","news/Conf_g.js","news/Conf_h.js","news/Sem_a_En.js","news/Conf_a_En.js","news/Conf_b_En.js","news/Conf_c_En.js","news/Conf_d_En.js","news/Conf_e_En.js","news/Conf_f_En.js","news/Conf_g_En.js","news/Conf_h_En.js","news/Sem_b.js","news/Sem_b_En.js","news/Sem_c.js","news/Sem_c_En.js","news/Sem_d.js","news/Sem_d_En.js","news/Sem_e.js","news/Sem_e_En.js","news/Sem_f.js","news/Sem_f_En.js","news/Sem_g.js","news/Sem_g_En.js","news/Sem_h.js","news/Sem_h_En.js","news/Sem_i.js","news/Sem_i_En.js","news/Sem_j.js","news/Sem_j_En.js","news/Sem_k.js","news/Sem_k_En.js","news/Sem_l.js","news/Sem_l_En.js","news/Sem_m.js","news/Sem_m_En.js","news/Sem_n.js","news/Sem_n_En.js","news/Sem_o.js","news/Sem_o_En.js","news/Life_a.js","news/Life_a_En.js","news/Life_b.js","news/Life_b_En.js","news/Life_c.js","news/Life_c_En.js","news/Life_d.js","news/Life_d_En.js","conference/TheoryAndNumericalMethods.js","conference/TheoryAndNumericalMethods_En.js","conference/ModernProblemsOfInverseProblems.js","conference/ModernProblemsOfInverseProblems_En.js","conference/Conf_bioresources.js","conference/Conf_dynamics.js","conference/Conf_mathematicsAI.js","conference/Conf_innovativeMethods.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"axios\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"axios\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"axios\")) : factory(root[\"axios\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) {\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 = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(1);\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.loadProgressBar = loadProgressBar;\n\n__webpack_require__(2);\n\nvar _nprogress = __webpack_require__(3);\n\nvar _nprogress2 = _interopRequireDefault(_nprogress);\n\nvar _axios = __webpack_require__(4);\n\nvar _axios2 = _interopRequireDefault(_axios);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar calculatePercentage = function calculatePercentage(loaded, total) {\n  return Math.floor(loaded * 1.0) / total;\n};\n\nfunction loadProgressBar(config) {\n  var instance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _axios2.default;\n\n  var requestsCounter = 0;\n\n  var setupStartProgress = function setupStartProgress() {\n    instance.interceptors.request.use(function (config) {\n      requestsCounter++;\n      _nprogress2.default.start();\n      return config;\n    });\n  };\n\n  var setupUpdateProgress = function setupUpdateProgress() {\n    var update = function update(e) {\n      return _nprogress2.default.inc(calculatePercentage(e.loaded, e.total));\n    };\n    instance.defaults.onDownloadProgress = update;\n    instance.defaults.onUploadProgress = update;\n  };\n\n  var setupStopProgress = function setupStopProgress() {\n    var responseFunc = function responseFunc(response) {\n      if (--requestsCounter === 0) {\n        _nprogress2.default.done();\n      }\n      return response;\n    };\n\n    var errorFunc = function errorFunc(error) {\n      if (--requestsCounter === 0) {\n        _nprogress2.default.done();\n      }\n      return Promise.reject(error);\n    };\n\n    instance.interceptors.response.use(responseFunc, errorFunc);\n  };\n\n  _nprogress2.default.configure(config);\n  setupStartProgress();\n  setupUpdateProgress();\n  setupStopProgress();\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports === 'object') {\n    module.exports = factory();\n  } else {\n    root.NProgress = factory();\n  }\n\n})(this, function() {\n  var NProgress = {};\n\n  NProgress.version = '0.2.0';\n\n  var Settings = NProgress.settings = {\n    minimum: 0.08,\n    easing: 'ease',\n    positionUsing: '',\n    speed: 200,\n    trickle: true,\n    trickleRate: 0.02,\n    trickleSpeed: 800,\n    showSpinner: true,\n    barSelector: '[role=\"bar\"]',\n    spinnerSelector: '[role=\"spinner\"]',\n    parent: 'body',\n    template: '<div class=\"bar\" role=\"bar\"><div class=\"peg\"></div></div><div class=\"spinner\" role=\"spinner\"><div class=\"spinner-icon\"></div></div>'\n  };\n\n  /**\n   * Updates configuration.\n   *\n   *     NProgress.configure({\n   *       minimum: 0.1\n   *     });\n   */\n  NProgress.configure = function(options) {\n    var key, value;\n    for (key in options) {\n      value = options[key];\n      if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n    }\n\n    return this;\n  };\n\n  /**\n   * Last number.\n   */\n\n  NProgress.status = null;\n\n  /**\n   * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n   *\n   *     NProgress.set(0.4);\n   *     NProgress.set(1.0);\n   */\n\n  NProgress.set = function(n) {\n    var started = NProgress.isStarted();\n\n    n = clamp(n, Settings.minimum, 1);\n    NProgress.status = (n === 1 ? null : n);\n\n    var progress = NProgress.render(!started),\n        bar      = progress.querySelector(Settings.barSelector),\n        speed    = Settings.speed,\n        ease     = Settings.easing;\n\n    progress.offsetWidth; /* Repaint */\n\n    queue(function(next) {\n      // Set positionUsing if it hasn't already been set\n      if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n      // Add transition\n      css(bar, barPositionCSS(n, speed, ease));\n\n      if (n === 1) {\n        // Fade out\n        css(progress, { \n          transition: 'none', \n          opacity: 1 \n        });\n        progress.offsetWidth; /* Repaint */\n\n        setTimeout(function() {\n          css(progress, { \n            transition: 'all ' + speed + 'ms linear', \n            opacity: 0 \n          });\n          setTimeout(function() {\n            NProgress.remove();\n            next();\n          }, speed);\n        }, speed);\n      } else {\n        setTimeout(next, speed);\n      }\n    });\n\n    return this;\n  };\n\n  NProgress.isStarted = function() {\n    return typeof NProgress.status === 'number';\n  };\n\n  /**\n   * Shows the progress bar.\n   * This is the same as setting the status to 0%, except that it doesn't go backwards.\n   *\n   *     NProgress.start();\n   *\n   */\n  NProgress.start = function() {\n    if (!NProgress.status) NProgress.set(0);\n\n    var work = function() {\n      setTimeout(function() {\n        if (!NProgress.status) return;\n        NProgress.trickle();\n        work();\n      }, Settings.trickleSpeed);\n    };\n\n    if (Settings.trickle) work();\n\n    return this;\n  };\n\n  /**\n   * Hides the progress bar.\n   * This is the *sort of* the same as setting the status to 100%, with the\n   * difference being `done()` makes some placebo effect of some realistic motion.\n   *\n   *     NProgress.done();\n   *\n   * If `true` is passed, it will show the progress bar even if its hidden.\n   *\n   *     NProgress.done(true);\n   */\n\n  NProgress.done = function(force) {\n    if (!force && !NProgress.status) return this;\n\n    return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n  };\n\n  /**\n   * Increments by a random amount.\n   */\n\n  NProgress.inc = function(amount) {\n    var n = NProgress.status;\n\n    if (!n) {\n      return NProgress.start();\n    } else {\n      if (typeof amount !== 'number') {\n        amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n      }\n\n      n = clamp(n + amount, 0, 0.994);\n      return NProgress.set(n);\n    }\n  };\n\n  NProgress.trickle = function() {\n    return NProgress.inc(Math.random() * Settings.trickleRate);\n  };\n\n  /**\n   * Waits for all supplied jQuery promises and\n   * increases the progress as the promises resolve.\n   *\n   * @param $promise jQUery Promise\n   */\n  (function() {\n    var initial = 0, current = 0;\n\n    NProgress.promise = function($promise) {\n      if (!$promise || $promise.state() === \"resolved\") {\n        return this;\n      }\n\n      if (current === 0) {\n        NProgress.start();\n      }\n\n      initial++;\n      current++;\n\n      $promise.always(function() {\n        current--;\n        if (current === 0) {\n            initial = 0;\n            NProgress.done();\n        } else {\n            NProgress.set((initial - current) / initial);\n        }\n      });\n\n      return this;\n    };\n\n  })();\n\n  /**\n   * (Internal) renders the progress bar markup based on the `template`\n   * setting.\n   */\n\n  NProgress.render = function(fromStart) {\n    if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n    addClass(document.documentElement, 'nprogress-busy');\n    \n    var progress = document.createElement('div');\n    progress.id = 'nprogress';\n    progress.innerHTML = Settings.template;\n\n    var bar      = progress.querySelector(Settings.barSelector),\n        perc     = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n        parent   = document.querySelector(Settings.parent),\n        spinner;\n    \n    css(bar, {\n      transition: 'all 0 linear',\n      transform: 'translate3d(' + perc + '%,0,0)'\n    });\n\n    if (!Settings.showSpinner) {\n      spinner = progress.querySelector(Settings.spinnerSelector);\n      spinner && removeElement(spinner);\n    }\n\n    if (parent != document.body) {\n      addClass(parent, 'nprogress-custom-parent');\n    }\n\n    parent.appendChild(progress);\n    return progress;\n  };\n\n  /**\n   * Removes the element. Opposite of render().\n   */\n\n  NProgress.remove = function() {\n    removeClass(document.documentElement, 'nprogress-busy');\n    removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n    var progress = document.getElementById('nprogress');\n    progress && removeElement(progress);\n  };\n\n  /**\n   * Checks if the progress bar is rendered.\n   */\n\n  NProgress.isRendered = function() {\n    return !!document.getElementById('nprogress');\n  };\n\n  /**\n   * Determine which positioning CSS rule to use.\n   */\n\n  NProgress.getPositioningCSS = function() {\n    // Sniff on document.body.style\n    var bodyStyle = document.body.style;\n\n    // Sniff prefixes\n    var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n                       ('MozTransform' in bodyStyle) ? 'Moz' :\n                       ('msTransform' in bodyStyle) ? 'ms' :\n                       ('OTransform' in bodyStyle) ? 'O' : '';\n\n    if (vendorPrefix + 'Perspective' in bodyStyle) {\n      // Modern browsers with 3D support, e.g. Webkit, IE10\n      return 'translate3d';\n    } else if (vendorPrefix + 'Transform' in bodyStyle) {\n      // Browsers without 3D support, e.g. IE9\n      return 'translate';\n    } else {\n      // Browsers without translate() support, e.g. IE7-8\n      return 'margin';\n    }\n  };\n\n  /**\n   * Helpers\n   */\n\n  function clamp(n, min, max) {\n    if (n < min) return min;\n    if (n > max) return max;\n    return n;\n  }\n\n  /**\n   * (Internal) converts a percentage (`0..1`) to a bar translateX\n   * percentage (`-100%..0%`).\n   */\n\n  function toBarPerc(n) {\n    return (-1 + n) * 100;\n  }\n\n\n  /**\n   * (Internal) returns the correct CSS for changing the bar's\n   * position given an n percentage, and speed and ease from Settings\n   */\n\n  function barPositionCSS(n, speed, ease) {\n    var barCSS;\n\n    if (Settings.positionUsing === 'translate3d') {\n      barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n    } else if (Settings.positionUsing === 'translate') {\n      barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n    } else {\n      barCSS = { 'margin-left': toBarPerc(n)+'%' };\n    }\n\n    barCSS.transition = 'all '+speed+'ms '+ease;\n\n    return barCSS;\n  }\n\n  /**\n   * (Internal) Queues a function to be executed.\n   */\n\n  var queue = (function() {\n    var pending = [];\n    \n    function next() {\n      var fn = pending.shift();\n      if (fn) {\n        fn(next);\n      }\n    }\n\n    return function(fn) {\n      pending.push(fn);\n      if (pending.length == 1) next();\n    };\n  })();\n\n  /**\n   * (Internal) Applies css properties to an element, similar to the jQuery \n   * css method.\n   *\n   * While this helper does assist with vendor prefixed property names, it \n   * does not perform any manipulation of values prior to setting styles.\n   */\n\n  var css = (function() {\n    var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n        cssProps    = {};\n\n    function camelCase(string) {\n      return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n        return letter.toUpperCase();\n      });\n    }\n\n    function getVendorProp(name) {\n      var style = document.body.style;\n      if (name in style) return name;\n\n      var i = cssPrefixes.length,\n          capName = name.charAt(0).toUpperCase() + name.slice(1),\n          vendorName;\n      while (i--) {\n        vendorName = cssPrefixes[i] + capName;\n        if (vendorName in style) return vendorName;\n      }\n\n      return name;\n    }\n\n    function getStyleProp(name) {\n      name = camelCase(name);\n      return cssProps[name] || (cssProps[name] = getVendorProp(name));\n    }\n\n    function applyCss(element, prop, value) {\n      prop = getStyleProp(prop);\n      element.style[prop] = value;\n    }\n\n    return function(element, properties) {\n      var args = arguments,\n          prop, \n          value;\n\n      if (args.length == 2) {\n        for (prop in properties) {\n          value = properties[prop];\n          if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n        }\n      } else {\n        applyCss(element, args[1], args[2]);\n      }\n    }\n  })();\n\n  /**\n   * (Internal) Determines if an element or space separated list of class names contains a class name.\n   */\n\n  function hasClass(element, name) {\n    var list = typeof element == 'string' ? element : classList(element);\n    return list.indexOf(' ' + name + ' ') >= 0;\n  }\n\n  /**\n   * (Internal) Adds a class to an element.\n   */\n\n  function addClass(element, name) {\n    var oldList = classList(element),\n        newList = oldList + name;\n\n    if (hasClass(oldList, name)) return; \n\n    // Trim the opening space.\n    element.className = newList.substring(1);\n  }\n\n  /**\n   * (Internal) Removes a class from an element.\n   */\n\n  function removeClass(element, name) {\n    var oldList = classList(element),\n        newList;\n\n    if (!hasClass(element, name)) return;\n\n    // Replace the class name.\n    newList = oldList.replace(' ' + name + ' ', ' ');\n\n    // Trim the opening and closing spaces.\n    element.className = newList.substring(1, newList.length - 1);\n  }\n\n  /**\n   * (Internal) Gets a space separated list of the class names on the element. \n   * The list is wrapped with a single space on each end to facilitate finding \n   * matches within the list.\n   */\n\n  function classList(element) {\n    return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n  }\n\n  /**\n   * (Internal) Removes an element from the DOM.\n   */\n\n  function removeElement(element) {\n    element && element.parentNode && element.parentNode.removeChild(element);\n  }\n\n  return NProgress;\n});\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ })\n/******/ ]);\n});","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n    var responseType = config.responseType;\n    var 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    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\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      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !responseType || responseType === 'text' ||  responseType === 'json' ?\n        request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: 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(createError('Request aborted', config, 'ECONNABORTED', 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(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n      var transitional = config.transitional || transitionalDefaults;\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(\n        timeoutErrorMessage,\n        config,\n        transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\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 (utils.isStandardBrowserEnv()) {\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\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', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken || config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = function(cancel) {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : 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    if (!requestData) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\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\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n\n  // eslint-disable-next-line func-names\n  this.promise.then(function(cancel) {\n    if (!token._listeners) return;\n\n    var i;\n    var l = token._listeners.length;\n\n    for (i = 0; i < l; i++) {\n      token._listeners[i](cancel);\n    }\n    token._listeners = null;\n  });\n\n  // eslint-disable-next-line func-names\n  this.promise.then = function(onfulfilled) {\n    var _resolve;\n    // eslint-disable-next-line func-names\n    var promise = new Promise(function(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) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function 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\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n  if (!this._listeners) {\n    return;\n  }\n  var 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 */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(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 {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function 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  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  var transitional = config.transitional;\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  // filter out skipped interceptors\n  var requestInterceptorChain = [];\n  var 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  var responseInterceptorChain = [];\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  var promise;\n\n  if (!synchronousRequestInterceptors) {\n    var chain = [dispatchRequest, undefined];\n\n    Array.prototype.unshift.apply(chain, requestInterceptorChain);\n    chain = chain.concat(responseInterceptorChain);\n\n    promise = Promise.resolve(config);\n    while (chain.length) {\n      promise = promise.then(chain.shift(), chain.shift());\n    }\n\n    return promise;\n  }\n\n\n  var newConfig = config;\n  while (requestInterceptorChain.length) {\n    var onFulfilled = requestInterceptorChain.shift();\n    var onRejected = requestInterceptorChain.shift();\n    try {\n      newConfig = onFulfilled(newConfig);\n    } catch (error) {\n      onRejected(error);\n      break;\n    }\n  }\n\n  try {\n    promise = dispatchRequest(newConfig);\n  } catch (error) {\n    return Promise.reject(error);\n  }\n\n  while (responseInterceptorChain.length) {\n    promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\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: method,\n      url: url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(mergeConfig(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\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 */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: 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 */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\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 */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\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 * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\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 {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n\n  if (config.signal && config.signal.aborted) {\n    throw new Cancel('canceled');\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 * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData.call(\n    config,\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = 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      response.data,\n      response.headers,\n      config.transformResponse\n    );\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          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.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: this.config,\n      code: this.code,\n      status: this.response && this.response.status ? this.response.status : null\n    };\n  };\n  return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\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 * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  function getMergedValue(target, source) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge(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(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      return getMergedValue(config1[prop], config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      return getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function valueFromConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      return getMergedValue(undefined, config2[prop]);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function defaultToConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      return getMergedValue(undefined, config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      return getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDirectKeys(prop) {\n    if (prop in config2) {\n      return getMergedValue(config1[prop], config2[prop]);\n    } else if (prop in config1) {\n      return getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  var 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    'transport': defaultToConfig2,\n    'httpAgent': defaultToConfig2,\n    'httpsAgent': defaultToConfig2,\n    'cancelToken': defaultToConfig2,\n    'socketPath': defaultToConfig2,\n    'responseEncoding': defaultToConfig2,\n    'validateStatus': mergeDirectKeys\n  };\n\n  utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n    var merge = mergeMap[prop] || mergeDeepProperties;\n    var configValue = merge(prop);\n    (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n  });\n\n  return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\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 */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  var context = this || defaults;\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn.call(context, data, headers);\n  });\n\n  return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = require('../adapters/xhr');\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = require('../adapters/http');\n  }\n  return adapter;\n}\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\nvar defaults = {\n\n  transitional: transitionalDefaults,\n\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n\n    if (utils.isFormData(data) ||\n      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      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n      setContentTypeIfUnset(headers, 'application/json');\n      return stringifySafely(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    var transitional = this.transitional || defaults.transitional;\n    var silentJSONParsing = transitional && transitional.silentJSONParsing;\n    var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n    var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n    if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n      try {\n        return JSON.parse(data);\n      } catch (e) {\n        if (strictJSONParsing) {\n          if (e.name === 'SyntaxError') {\n            throw enhanceError(e, this, 'E_JSON_PARSE');\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  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  },\n\n  headers: {\n    common: {\n      'Accept': 'application/json, text/plain, */*'\n    }\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n  silentJSONParsing: true,\n  forcedJSONParsing: true,\n  clarifyTimeoutError: false\n};\n","module.exports = {\n  \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n","'use strict';\n\nvar utils = require('./../utils');\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 * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return 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 * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.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          var 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          var 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);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" 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\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n  return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.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      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var 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        var 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        var 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);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\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} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\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 * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n  validators[type] = function validator(thing) {\n    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n  };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\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 * @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 function(value, opt, opts) {\n    if (validator === false) {\n      throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\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 * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n  if (typeof options !== 'object') {\n    throw new TypeError('options must be an object');\n  }\n  var keys = Object.keys(options);\n  var i = keys.length;\n  while (i-- > 0) {\n    var opt = keys[i];\n    var validator = schema[opt];\n    if (validator) {\n      var value = options[opt];\n      var result = value === undefined || validator(value, opt, options);\n      if (result !== true) {\n        throw new TypeError('option ' + opt + ' must be ' + result);\n      }\n      continue;\n    }\n    if (allowUnknown !== true) {\n      throw Error('Unknown option ' + opt);\n    }\n  }\n}\n\nmodule.exports = {\n  assertOptions: assertOptions,\n  validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n  if (toString.call(val) !== '[object Object]') {\n    return false;\n  }\n\n  var prototype = Object.getPrototypeOf(val);\n  return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (isPlainObject(result[key]) && isPlainObject(val)) {\n      result[key] = merge(result[key], val);\n    } else if (isPlainObject(val)) {\n      result[key] = merge({}, val);\n    } else if (isArray(val)) {\n      result[key] = val.slice();\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isPlainObject: isPlainObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  extend: extend,\n  trim: trim,\n  stripBOM: stripBOM\n};\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n  'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n    return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n    if (Array.isArray(arg)) {\n        each(arg, context[fn], context);\n        return true;\n    }\n    return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n    var i;\n\n    if (!obj) {\n        return;\n    }\n\n    if (obj.forEach) {\n        obj.forEach(iterator, context);\n    } else if (obj.length !== undefined) {\n        i = 0;\n        while (i < obj.length) {\n            iterator.call(context, obj[i], i, obj);\n            i++;\n        }\n    } else {\n        for (i in obj) {\n            obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n        }\n    }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n    var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n    return function() {\n        var e = new Error('get-stack-trace');\n        var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n            .replace(/^\\s+at\\s+/gm, '')\n            .replace(/^Object.<anonymous>\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n        var log = window.console && (window.console.warn || window.console.log);\n        if (log) {\n            log.call(window.console, deprecationMessage, stack);\n        }\n        return method.apply(this, arguments);\n    };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n    assign = function assign(target) {\n        if (target === undefined || target === null) {\n            throw new TypeError('Cannot convert undefined or null to object');\n        }\n\n        var output = Object(target);\n        for (var index = 1; index < arguments.length; index++) {\n            var source = arguments[index];\n            if (source !== undefined && source !== null) {\n                for (var nextKey in source) {\n                    if (source.hasOwnProperty(nextKey)) {\n                        output[nextKey] = source[nextKey];\n                    }\n                }\n            }\n        }\n        return output;\n    };\n} else {\n    assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n    var keys = Object.keys(src);\n    var i = 0;\n    while (i < keys.length) {\n        if (!merge || (merge && dest[keys[i]] === undefined)) {\n            dest[keys[i]] = src[keys[i]];\n        }\n        i++;\n    }\n    return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n    return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n    var baseP = base.prototype,\n        childP;\n\n    childP = child.prototype = Object.create(baseP);\n    childP.constructor = child;\n    childP._super = baseP;\n\n    if (properties) {\n        assign(childP, properties);\n    }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n    return function boundFn() {\n        return fn.apply(context, arguments);\n    };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n    if (typeof val == TYPE_FUNCTION) {\n        return val.apply(args ? args[0] || undefined : undefined, args);\n    }\n    return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n    return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n    each(splitStr(types), function(type) {\n        target.addEventListener(type, handler, false);\n    });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n    each(splitStr(types), function(type) {\n        target.removeEventListener(type, handler, false);\n    });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n    while (node) {\n        if (node == parent) {\n            return true;\n        }\n        node = node.parentNode;\n    }\n    return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n    return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n    return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n    if (src.indexOf && !findByKey) {\n        return src.indexOf(find);\n    } else {\n        var i = 0;\n        while (i < src.length) {\n            if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n                return i;\n            }\n            i++;\n        }\n        return -1;\n    }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n    return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n    var results = [];\n    var values = [];\n    var i = 0;\n\n    while (i < src.length) {\n        var val = key ? src[i][key] : src[i];\n        if (inArray(values, val) < 0) {\n            results.push(src[i]);\n        }\n        values[i] = val;\n        i++;\n    }\n\n    if (sort) {\n        if (!key) {\n            results = results.sort();\n        } else {\n            results = results.sort(function sortUniqueArray(a, b) {\n                return a[key] > b[key];\n            });\n        }\n    }\n\n    return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n    var prefix, prop;\n    var camelProp = property[0].toUpperCase() + property.slice(1);\n\n    var i = 0;\n    while (i < VENDOR_PREFIXES.length) {\n        prefix = VENDOR_PREFIXES[i];\n        prop = (prefix) ? prefix + camelProp : property;\n\n        if (prop in obj) {\n            return prop;\n        }\n        i++;\n    }\n    return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n    return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n    var doc = element.ownerDocument || element;\n    return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n    var self = this;\n    this.manager = manager;\n    this.callback = callback;\n    this.element = manager.element;\n    this.target = manager.options.inputTarget;\n\n    // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n    // so when disabled the input events are completely bypassed.\n    this.domHandler = function(ev) {\n        if (boolOrFn(manager.options.enable, [manager])) {\n            self.handler(ev);\n        }\n    };\n\n    this.init();\n\n}\n\nInput.prototype = {\n    /**\n     * should handle the inputEvent data and trigger the callback\n     * @virtual\n     */\n    handler: function() { },\n\n    /**\n     * bind the events\n     */\n    init: function() {\n        this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n        this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n        this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n    },\n\n    /**\n     * unbind the events\n     */\n    destroy: function() {\n        this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n        this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n        this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n    }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n    var Type;\n    var inputClass = manager.options.inputClass;\n\n    if (inputClass) {\n        Type = inputClass;\n    } else if (SUPPORT_POINTER_EVENTS) {\n        Type = PointerEventInput;\n    } else if (SUPPORT_ONLY_TOUCH) {\n        Type = TouchInput;\n    } else if (!SUPPORT_TOUCH) {\n        Type = MouseInput;\n    } else {\n        Type = TouchMouseInput;\n    }\n    return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n    var pointersLen = input.pointers.length;\n    var changedPointersLen = input.changedPointers.length;\n    var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n    var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n    input.isFirst = !!isFirst;\n    input.isFinal = !!isFinal;\n\n    if (isFirst) {\n        manager.session = {};\n    }\n\n    // source event is the normalized value of the domEvents\n    // like 'touchstart, mouseup, pointerdown'\n    input.eventType = eventType;\n\n    // compute scale, rotation etc\n    computeInputData(manager, input);\n\n    // emit secret event\n    manager.emit('hammer.input', input);\n\n    manager.recognize(input);\n    manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n    var session = manager.session;\n    var pointers = input.pointers;\n    var pointersLength = pointers.length;\n\n    // store the first input to calculate the distance and direction\n    if (!session.firstInput) {\n        session.firstInput = simpleCloneInputData(input);\n    }\n\n    // to compute scale and rotation we need to store the multiple touches\n    if (pointersLength > 1 && !session.firstMultiple) {\n        session.firstMultiple = simpleCloneInputData(input);\n    } else if (pointersLength === 1) {\n        session.firstMultiple = false;\n    }\n\n    var firstInput = session.firstInput;\n    var firstMultiple = session.firstMultiple;\n    var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n    var center = input.center = getCenter(pointers);\n    input.timeStamp = now();\n    input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n    input.angle = getAngle(offsetCenter, center);\n    input.distance = getDistance(offsetCenter, center);\n\n    computeDeltaXY(session, input);\n    input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n    var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n    input.overallVelocityX = overallVelocity.x;\n    input.overallVelocityY = overallVelocity.y;\n    input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n    input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n    input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n    input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n        session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n    computeIntervalInputData(session, input);\n\n    // find the correct target\n    var target = manager.element;\n    if (hasParent(input.srcEvent.target, target)) {\n        target = input.srcEvent.target;\n    }\n    input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n    var center = input.center;\n    var offset = session.offsetDelta || {};\n    var prevDelta = session.prevDelta || {};\n    var prevInput = session.prevInput || {};\n\n    if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n        prevDelta = session.prevDelta = {\n            x: prevInput.deltaX || 0,\n            y: prevInput.deltaY || 0\n        };\n\n        offset = session.offsetDelta = {\n            x: center.x,\n            y: center.y\n        };\n    }\n\n    input.deltaX = prevDelta.x + (center.x - offset.x);\n    input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n    var last = session.lastInterval || input,\n        deltaTime = input.timeStamp - last.timeStamp,\n        velocity, velocityX, velocityY, direction;\n\n    if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n        var deltaX = input.deltaX - last.deltaX;\n        var deltaY = input.deltaY - last.deltaY;\n\n        var v = getVelocity(deltaTime, deltaX, deltaY);\n        velocityX = v.x;\n        velocityY = v.y;\n        velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n        direction = getDirection(deltaX, deltaY);\n\n        session.lastInterval = input;\n    } else {\n        // use latest velocity info if it doesn't overtake a minimum period\n        velocity = last.velocity;\n        velocityX = last.velocityX;\n        velocityY = last.velocityY;\n        direction = last.direction;\n    }\n\n    input.velocity = velocity;\n    input.velocityX = velocityX;\n    input.velocityY = velocityY;\n    input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n    // make a simple copy of the pointers because we will get a reference if we don't\n    // we only need clientXY for the calculations\n    var pointers = [];\n    var i = 0;\n    while (i < input.pointers.length) {\n        pointers[i] = {\n            clientX: round(input.pointers[i].clientX),\n            clientY: round(input.pointers[i].clientY)\n        };\n        i++;\n    }\n\n    return {\n        timeStamp: now(),\n        pointers: pointers,\n        center: getCenter(pointers),\n        deltaX: input.deltaX,\n        deltaY: input.deltaY\n    };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n    var pointersLength = pointers.length;\n\n    // no need to loop when only one touch\n    if (pointersLength === 1) {\n        return {\n            x: round(pointers[0].clientX),\n            y: round(pointers[0].clientY)\n        };\n    }\n\n    var x = 0, y = 0, i = 0;\n    while (i < pointersLength) {\n        x += pointers[i].clientX;\n        y += pointers[i].clientY;\n        i++;\n    }\n\n    return {\n        x: round(x / pointersLength),\n        y: round(y / pointersLength)\n    };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n    return {\n        x: x / deltaTime || 0,\n        y: y / deltaTime || 0\n    };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n    if (x === y) {\n        return DIRECTION_NONE;\n    }\n\n    if (abs(x) >= abs(y)) {\n        return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n    }\n    return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n    if (!props) {\n        props = PROPS_XY;\n    }\n    var x = p2[props[0]] - p1[props[0]],\n        y = p2[props[1]] - p1[props[1]];\n\n    return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n    if (!props) {\n        props = PROPS_XY;\n    }\n    var x = p2[props[0]] - p1[props[0]],\n        y = p2[props[1]] - p1[props[1]];\n    return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n    return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n    return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n    mousedown: INPUT_START,\n    mousemove: INPUT_MOVE,\n    mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n    this.evEl = MOUSE_ELEMENT_EVENTS;\n    this.evWin = MOUSE_WINDOW_EVENTS;\n\n    this.pressed = false; // mousedown state\n\n    Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n    /**\n     * handle mouse events\n     * @param {Object} ev\n     */\n    handler: function MEhandler(ev) {\n        var eventType = MOUSE_INPUT_MAP[ev.type];\n\n        // on start we want to have the left mouse button down\n        if (eventType & INPUT_START && ev.button === 0) {\n            this.pressed = true;\n        }\n\n        if (eventType & INPUT_MOVE && ev.which !== 1) {\n            eventType = INPUT_END;\n        }\n\n        // mouse must be down\n        if (!this.pressed) {\n            return;\n        }\n\n        if (eventType & INPUT_END) {\n            this.pressed = false;\n        }\n\n        this.callback(this.manager, eventType, {\n            pointers: [ev],\n            changedPointers: [ev],\n            pointerType: INPUT_TYPE_MOUSE,\n            srcEvent: ev\n        });\n    }\n});\n\nvar POINTER_INPUT_MAP = {\n    pointerdown: INPUT_START,\n    pointermove: INPUT_MOVE,\n    pointerup: INPUT_END,\n    pointercancel: INPUT_CANCEL,\n    pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n    2: INPUT_TYPE_TOUCH,\n    3: INPUT_TYPE_PEN,\n    4: INPUT_TYPE_MOUSE,\n    5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n    POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n    POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n    this.evEl = POINTER_ELEMENT_EVENTS;\n    this.evWin = POINTER_WINDOW_EVENTS;\n\n    Input.apply(this, arguments);\n\n    this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n    /**\n     * handle mouse events\n     * @param {Object} ev\n     */\n    handler: function PEhandler(ev) {\n        var store = this.store;\n        var removePointer = false;\n\n        var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n        var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n        var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n        var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n        // get index of the event in the store\n        var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n        // start and mouse must be down\n        if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n            if (storeIndex < 0) {\n                store.push(ev);\n                storeIndex = store.length - 1;\n            }\n        } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n            removePointer = true;\n        }\n\n        // it not found, so the pointer hasn't been down (so it's probably a hover)\n        if (storeIndex < 0) {\n            return;\n        }\n\n        // update the event in the store\n        store[storeIndex] = ev;\n\n        this.callback(this.manager, eventType, {\n            pointers: store,\n            changedPointers: [ev],\n            pointerType: pointerType,\n            srcEvent: ev\n        });\n\n        if (removePointer) {\n            // remove from the store\n            store.splice(storeIndex, 1);\n        }\n    }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n    touchstart: INPUT_START,\n    touchmove: INPUT_MOVE,\n    touchend: INPUT_END,\n    touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n    this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n    this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n    this.started = false;\n\n    Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n    handler: function TEhandler(ev) {\n        var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n        // should we handle the touch events?\n        if (type === INPUT_START) {\n            this.started = true;\n        }\n\n        if (!this.started) {\n            return;\n        }\n\n        var touches = normalizeSingleTouches.call(this, ev, type);\n\n        // when done, reset the started state\n        if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n            this.started = false;\n        }\n\n        this.callback(this.manager, type, {\n            pointers: touches[0],\n            changedPointers: touches[1],\n            pointerType: INPUT_TYPE_TOUCH,\n            srcEvent: ev\n        });\n    }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n    var all = toArray(ev.touches);\n    var changed = toArray(ev.changedTouches);\n\n    if (type & (INPUT_END | INPUT_CANCEL)) {\n        all = uniqueArray(all.concat(changed), 'identifier', true);\n    }\n\n    return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n    touchstart: INPUT_START,\n    touchmove: INPUT_MOVE,\n    touchend: INPUT_END,\n    touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n    this.evTarget = TOUCH_TARGET_EVENTS;\n    this.targetIds = {};\n\n    Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n    handler: function MTEhandler(ev) {\n        var type = TOUCH_INPUT_MAP[ev.type];\n        var touches = getTouches.call(this, ev, type);\n        if (!touches) {\n            return;\n        }\n\n        this.callback(this.manager, type, {\n            pointers: touches[0],\n            changedPointers: touches[1],\n            pointerType: INPUT_TYPE_TOUCH,\n            srcEvent: ev\n        });\n    }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n    var allTouches = toArray(ev.touches);\n    var targetIds = this.targetIds;\n\n    // when there is only one touch, the process can be simplified\n    if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n        targetIds[allTouches[0].identifier] = true;\n        return [allTouches, allTouches];\n    }\n\n    var i,\n        targetTouches,\n        changedTouches = toArray(ev.changedTouches),\n        changedTargetTouches = [],\n        target = this.target;\n\n    // get target touches from touches\n    targetTouches = allTouches.filter(function(touch) {\n        return hasParent(touch.target, target);\n    });\n\n    // collect touches\n    if (type === INPUT_START) {\n        i = 0;\n        while (i < targetTouches.length) {\n            targetIds[targetTouches[i].identifier] = true;\n            i++;\n        }\n    }\n\n    // filter changed touches to only contain touches that exist in the collected target ids\n    i = 0;\n    while (i < changedTouches.length) {\n        if (targetIds[changedTouches[i].identifier]) {\n            changedTargetTouches.push(changedTouches[i]);\n        }\n\n        // cleanup removed touches\n        if (type & (INPUT_END | INPUT_CANCEL)) {\n            delete targetIds[changedTouches[i].identifier];\n        }\n        i++;\n    }\n\n    if (!changedTargetTouches.length) {\n        return;\n    }\n\n    return [\n        // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n        uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n        changedTargetTouches\n    ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n    Input.apply(this, arguments);\n\n    var handler = bindFn(this.handler, this);\n    this.touch = new TouchInput(this.manager, handler);\n    this.mouse = new MouseInput(this.manager, handler);\n\n    this.primaryTouch = null;\n    this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n    /**\n     * handle mouse and touch events\n     * @param {Hammer} manager\n     * @param {String} inputEvent\n     * @param {Object} inputData\n     */\n    handler: function TMEhandler(manager, inputEvent, inputData) {\n        var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n            isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n        if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n            return;\n        }\n\n        // when we're in a touch event, record touches to  de-dupe synthetic mouse event\n        if (isTouch) {\n            recordTouches.call(this, inputEvent, inputData);\n        } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n            return;\n        }\n\n        this.callback(manager, inputEvent, inputData);\n    },\n\n    /**\n     * remove the event listeners\n     */\n    destroy: function destroy() {\n        this.touch.destroy();\n        this.mouse.destroy();\n    }\n});\n\nfunction recordTouches(eventType, eventData) {\n    if (eventType & INPUT_START) {\n        this.primaryTouch = eventData.changedPointers[0].identifier;\n        setLastTouch.call(this, eventData);\n    } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n        setLastTouch.call(this, eventData);\n    }\n}\n\nfunction setLastTouch(eventData) {\n    var touch = eventData.changedPointers[0];\n\n    if (touch.identifier === this.primaryTouch) {\n        var lastTouch = {x: touch.clientX, y: touch.clientY};\n        this.lastTouches.push(lastTouch);\n        var lts = this.lastTouches;\n        var removeLastTouch = function() {\n            var i = lts.indexOf(lastTouch);\n            if (i > -1) {\n                lts.splice(i, 1);\n            }\n        };\n        setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n    }\n}\n\nfunction isSyntheticEvent(eventData) {\n    var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n    for (var i = 0; i < this.lastTouches.length; i++) {\n        var t = this.lastTouches[i];\n        var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n        if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n            return true;\n        }\n    }\n    return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n    this.manager = manager;\n    this.set(value);\n}\n\nTouchAction.prototype = {\n    /**\n     * set the touchAction value on the element or enable the polyfill\n     * @param {String} value\n     */\n    set: function(value) {\n        // find out the touch-action by the event handlers\n        if (value == TOUCH_ACTION_COMPUTE) {\n            value = this.compute();\n        }\n\n        if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n            this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n        }\n        this.actions = value.toLowerCase().trim();\n    },\n\n    /**\n     * just re-set the touchAction value\n     */\n    update: function() {\n        this.set(this.manager.options.touchAction);\n    },\n\n    /**\n     * compute the value for the touchAction property based on the recognizer's settings\n     * @returns {String} value\n     */\n    compute: function() {\n        var actions = [];\n        each(this.manager.recognizers, function(recognizer) {\n            if (boolOrFn(recognizer.options.enable, [recognizer])) {\n                actions = actions.concat(recognizer.getTouchAction());\n            }\n        });\n        return cleanTouchActions(actions.join(' '));\n    },\n\n    /**\n     * this method is called on each input cycle and provides the preventing of the browser behavior\n     * @param {Object} input\n     */\n    preventDefaults: function(input) {\n        var srcEvent = input.srcEvent;\n        var direction = input.offsetDirection;\n\n        // if the touch action did prevented once this session\n        if (this.manager.session.prevented) {\n            srcEvent.preventDefault();\n            return;\n        }\n\n        var actions = this.actions;\n        var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n        var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n        var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n        if (hasNone) {\n            //do not prevent defaults if this is a tap gesture\n\n            var isTapPointer = input.pointers.length === 1;\n            var isTapMovement = input.distance < 2;\n            var isTapTouchTime = input.deltaTime < 250;\n\n            if (isTapPointer && isTapMovement && isTapTouchTime) {\n                return;\n            }\n        }\n\n        if (hasPanX && hasPanY) {\n            // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n            return;\n        }\n\n        if (hasNone ||\n            (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n            (hasPanX && direction & DIRECTION_VERTICAL)) {\n            return this.preventSrc(srcEvent);\n        }\n    },\n\n    /**\n     * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n     * @param {Object} srcEvent\n     */\n    preventSrc: function(srcEvent) {\n        this.manager.session.prevented = true;\n        srcEvent.preventDefault();\n    }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n    // none\n    if (inStr(actions, TOUCH_ACTION_NONE)) {\n        return TOUCH_ACTION_NONE;\n    }\n\n    var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n    var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n    // if both pan-x and pan-y are set (different recognizers\n    // for different directions, e.g. horizontal pan but vertical swipe?)\n    // we need none (as otherwise with pan-x pan-y combined none of these\n    // recognizers will work, since the browser would handle all panning\n    if (hasPanX && hasPanY) {\n        return TOUCH_ACTION_NONE;\n    }\n\n    // pan-x OR pan-y\n    if (hasPanX || hasPanY) {\n        return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n    }\n\n    // manipulation\n    if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n        return TOUCH_ACTION_MANIPULATION;\n    }\n\n    return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n    if (!NATIVE_TOUCH_ACTION) {\n        return false;\n    }\n    var touchMap = {};\n    var cssSupports = window.CSS && window.CSS.supports;\n    ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n        // If css.supports is not supported but there is native touch-action assume it supports\n        // all values. This is the case for IE 10 and 11.\n        touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n    });\n    return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n *               Possible\n *                  |\n *            +-----+---------------+\n *            |                     |\n *      +-----+-----+               |\n *      |           |               |\n *   Failed      Cancelled          |\n *                          +-------+------+\n *                          |              |\n *                      Recognized       Began\n *                                         |\n *                                      Changed\n *                                         |\n *                                  Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n    this.options = assign({}, this.defaults, options || {});\n\n    this.id = uniqueId();\n\n    this.manager = null;\n\n    // default is enable true\n    this.options.enable = ifUndefined(this.options.enable, true);\n\n    this.state = STATE_POSSIBLE;\n\n    this.simultaneous = {};\n    this.requireFail = [];\n}\n\nRecognizer.prototype = {\n    /**\n     * @virtual\n     * @type {Object}\n     */\n    defaults: {},\n\n    /**\n     * set options\n     * @param {Object} options\n     * @return {Recognizer}\n     */\n    set: function(options) {\n        assign(this.options, options);\n\n        // also update the touchAction, in case something changed about the directions/enabled state\n        this.manager && this.manager.touchAction.update();\n        return this;\n    },\n\n    /**\n     * recognize simultaneous with an other recognizer.\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    recognizeWith: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n            return this;\n        }\n\n        var simultaneous = this.simultaneous;\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        if (!simultaneous[otherRecognizer.id]) {\n            simultaneous[otherRecognizer.id] = otherRecognizer;\n            otherRecognizer.recognizeWith(this);\n        }\n        return this;\n    },\n\n    /**\n     * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    dropRecognizeWith: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n            return this;\n        }\n\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        delete this.simultaneous[otherRecognizer.id];\n        return this;\n    },\n\n    /**\n     * recognizer can only run when an other is failing\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    requireFailure: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n            return this;\n        }\n\n        var requireFail = this.requireFail;\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        if (inArray(requireFail, otherRecognizer) === -1) {\n            requireFail.push(otherRecognizer);\n            otherRecognizer.requireFailure(this);\n        }\n        return this;\n    },\n\n    /**\n     * drop the requireFailure link. it does not remove the link on the other recognizer.\n     * @param {Recognizer} otherRecognizer\n     * @returns {Recognizer} this\n     */\n    dropRequireFailure: function(otherRecognizer) {\n        if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n            return this;\n        }\n\n        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n        var index = inArray(this.requireFail, otherRecognizer);\n        if (index > -1) {\n            this.requireFail.splice(index, 1);\n        }\n        return this;\n    },\n\n    /**\n     * has require failures boolean\n     * @returns {boolean}\n     */\n    hasRequireFailures: function() {\n        return this.requireFail.length > 0;\n    },\n\n    /**\n     * if the recognizer can recognize simultaneous with an other recognizer\n     * @param {Recognizer} otherRecognizer\n     * @returns {Boolean}\n     */\n    canRecognizeWith: function(otherRecognizer) {\n        return !!this.simultaneous[otherRecognizer.id];\n    },\n\n    /**\n     * You should use `tryEmit` instead of `emit` directly to check\n     * that all the needed recognizers has failed before emitting.\n     * @param {Object} input\n     */\n    emit: function(input) {\n        var self = this;\n        var state = this.state;\n\n        function emit(event) {\n            self.manager.emit(event, input);\n        }\n\n        // 'panstart' and 'panmove'\n        if (state < STATE_ENDED) {\n            emit(self.options.event + stateStr(state));\n        }\n\n        emit(self.options.event); // simple 'eventName' events\n\n        if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n            emit(input.additionalEvent);\n        }\n\n        // panend and pancancel\n        if (state >= STATE_ENDED) {\n            emit(self.options.event + stateStr(state));\n        }\n    },\n\n    /**\n     * Check that all the require failure recognizers has failed,\n     * if true, it emits a gesture event,\n     * otherwise, setup the state to FAILED.\n     * @param {Object} input\n     */\n    tryEmit: function(input) {\n        if (this.canEmit()) {\n            return this.emit(input);\n        }\n        // it's failing anyway\n        this.state = STATE_FAILED;\n    },\n\n    /**\n     * can we emit?\n     * @returns {boolean}\n     */\n    canEmit: function() {\n        var i = 0;\n        while (i < this.requireFail.length) {\n            if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n                return false;\n            }\n            i++;\n        }\n        return true;\n    },\n\n    /**\n     * update the recognizer\n     * @param {Object} inputData\n     */\n    recognize: function(inputData) {\n        // make a new copy of the inputData\n        // so we can change the inputData without messing up the other recognizers\n        var inputDataClone = assign({}, inputData);\n\n        // is is enabled and allow recognizing?\n        if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n            this.reset();\n            this.state = STATE_FAILED;\n            return;\n        }\n\n        // reset when we've reached the end\n        if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n            this.state = STATE_POSSIBLE;\n        }\n\n        this.state = this.process(inputDataClone);\n\n        // the recognizer has recognized a gesture\n        // so trigger an event\n        if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n            this.tryEmit(inputDataClone);\n        }\n    },\n\n    /**\n     * return the state of the recognizer\n     * the actual recognizing happens in this method\n     * @virtual\n     * @param {Object} inputData\n     * @returns {Const} STATE\n     */\n    process: function(inputData) { }, // jshint ignore:line\n\n    /**\n     * return the preferred touch-action\n     * @virtual\n     * @returns {Array}\n     */\n    getTouchAction: function() { },\n\n    /**\n     * called when the gesture isn't allowed to recognize\n     * like when another is being recognized or it is disabled\n     * @virtual\n     */\n    reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n    if (state & STATE_CANCELLED) {\n        return 'cancel';\n    } else if (state & STATE_ENDED) {\n        return 'end';\n    } else if (state & STATE_CHANGED) {\n        return 'move';\n    } else if (state & STATE_BEGAN) {\n        return 'start';\n    }\n    return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n    if (direction == DIRECTION_DOWN) {\n        return 'down';\n    } else if (direction == DIRECTION_UP) {\n        return 'up';\n    } else if (direction == DIRECTION_LEFT) {\n        return 'left';\n    } else if (direction == DIRECTION_RIGHT) {\n        return 'right';\n    }\n    return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n    var manager = recognizer.manager;\n    if (manager) {\n        return manager.get(otherRecognizer);\n    }\n    return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n    Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n    /**\n     * @namespace\n     * @memberof AttrRecognizer\n     */\n    defaults: {\n        /**\n         * @type {Number}\n         * @default 1\n         */\n        pointers: 1\n    },\n\n    /**\n     * Used to check if it the recognizer receives valid input, like input.distance > 10.\n     * @memberof AttrRecognizer\n     * @param {Object} input\n     * @returns {Boolean} recognized\n     */\n    attrTest: function(input) {\n        var optionPointers = this.options.pointers;\n        return optionPointers === 0 || input.pointers.length === optionPointers;\n    },\n\n    /**\n     * Process the input and return the state for the recognizer\n     * @memberof AttrRecognizer\n     * @param {Object} input\n     * @returns {*} State\n     */\n    process: function(input) {\n        var state = this.state;\n        var eventType = input.eventType;\n\n        var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n        var isValid = this.attrTest(input);\n\n        // on cancel input and we've recognized before, return STATE_CANCELLED\n        if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n            return state | STATE_CANCELLED;\n        } else if (isRecognized || isValid) {\n            if (eventType & INPUT_END) {\n                return state | STATE_ENDED;\n            } else if (!(state & STATE_BEGAN)) {\n                return STATE_BEGAN;\n            }\n            return state | STATE_CHANGED;\n        }\n        return STATE_FAILED;\n    }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n\n    this.pX = null;\n    this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof PanRecognizer\n     */\n    defaults: {\n        event: 'pan',\n        threshold: 10,\n        pointers: 1,\n        direction: DIRECTION_ALL\n    },\n\n    getTouchAction: function() {\n        var direction = this.options.direction;\n        var actions = [];\n        if (direction & DIRECTION_HORIZONTAL) {\n            actions.push(TOUCH_ACTION_PAN_Y);\n        }\n        if (direction & DIRECTION_VERTICAL) {\n            actions.push(TOUCH_ACTION_PAN_X);\n        }\n        return actions;\n    },\n\n    directionTest: function(input) {\n        var options = this.options;\n        var hasMoved = true;\n        var distance = input.distance;\n        var direction = input.direction;\n        var x = input.deltaX;\n        var y = input.deltaY;\n\n        // lock to axis?\n        if (!(direction & options.direction)) {\n            if (options.direction & DIRECTION_HORIZONTAL) {\n                direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n                hasMoved = x != this.pX;\n                distance = Math.abs(input.deltaX);\n            } else {\n                direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n                hasMoved = y != this.pY;\n                distance = Math.abs(input.deltaY);\n            }\n        }\n        input.direction = direction;\n        return hasMoved && distance > options.threshold && direction & options.direction;\n    },\n\n    attrTest: function(input) {\n        return AttrRecognizer.prototype.attrTest.call(this, input) &&\n            (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n    },\n\n    emit: function(input) {\n\n        this.pX = input.deltaX;\n        this.pY = input.deltaY;\n\n        var direction = directionStr(input.direction);\n\n        if (direction) {\n            input.additionalEvent = this.options.event + direction;\n        }\n        this._super.emit.call(this, input);\n    }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof PinchRecognizer\n     */\n    defaults: {\n        event: 'pinch',\n        threshold: 0,\n        pointers: 2\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_NONE];\n    },\n\n    attrTest: function(input) {\n        return this._super.attrTest.call(this, input) &&\n            (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n    },\n\n    emit: function(input) {\n        if (input.scale !== 1) {\n            var inOut = input.scale < 1 ? 'in' : 'out';\n            input.additionalEvent = this.options.event + inOut;\n        }\n        this._super.emit.call(this, input);\n    }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n    Recognizer.apply(this, arguments);\n\n    this._timer = null;\n    this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n    /**\n     * @namespace\n     * @memberof PressRecognizer\n     */\n    defaults: {\n        event: 'press',\n        pointers: 1,\n        time: 251, // minimal time of the pointer to be pressed\n        threshold: 9 // a minimal movement is ok, but keep it low\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_AUTO];\n    },\n\n    process: function(input) {\n        var options = this.options;\n        var validPointers = input.pointers.length === options.pointers;\n        var validMovement = input.distance < options.threshold;\n        var validTime = input.deltaTime > options.time;\n\n        this._input = input;\n\n        // we only allow little movement\n        // and we've reached an end event, so a tap is possible\n        if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n            this.reset();\n        } else if (input.eventType & INPUT_START) {\n            this.reset();\n            this._timer = setTimeoutContext(function() {\n                this.state = STATE_RECOGNIZED;\n                this.tryEmit();\n            }, options.time, this);\n        } else if (input.eventType & INPUT_END) {\n            return STATE_RECOGNIZED;\n        }\n        return STATE_FAILED;\n    },\n\n    reset: function() {\n        clearTimeout(this._timer);\n    },\n\n    emit: function(input) {\n        if (this.state !== STATE_RECOGNIZED) {\n            return;\n        }\n\n        if (input && (input.eventType & INPUT_END)) {\n            this.manager.emit(this.options.event + 'up', input);\n        } else {\n            this._input.timeStamp = now();\n            this.manager.emit(this.options.event, this._input);\n        }\n    }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof RotateRecognizer\n     */\n    defaults: {\n        event: 'rotate',\n        threshold: 0,\n        pointers: 2\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_NONE];\n    },\n\n    attrTest: function(input) {\n        return this._super.attrTest.call(this, input) &&\n            (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n    }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n    AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n    /**\n     * @namespace\n     * @memberof SwipeRecognizer\n     */\n    defaults: {\n        event: 'swipe',\n        threshold: 10,\n        velocity: 0.3,\n        direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n        pointers: 1\n    },\n\n    getTouchAction: function() {\n        return PanRecognizer.prototype.getTouchAction.call(this);\n    },\n\n    attrTest: function(input) {\n        var direction = this.options.direction;\n        var velocity;\n\n        if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n            velocity = input.overallVelocity;\n        } else if (direction & DIRECTION_HORIZONTAL) {\n            velocity = input.overallVelocityX;\n        } else if (direction & DIRECTION_VERTICAL) {\n            velocity = input.overallVelocityY;\n        }\n\n        return this._super.attrTest.call(this, input) &&\n            direction & input.offsetDirection &&\n            input.distance > this.options.threshold &&\n            input.maxPointers == this.options.pointers &&\n            abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n    },\n\n    emit: function(input) {\n        var direction = directionStr(input.offsetDirection);\n        if (direction) {\n            this.manager.emit(this.options.event + direction, input);\n        }\n\n        this.manager.emit(this.options.event, input);\n    }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n    Recognizer.apply(this, arguments);\n\n    // previous time and center,\n    // used for tap counting\n    this.pTime = false;\n    this.pCenter = false;\n\n    this._timer = null;\n    this._input = null;\n    this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n    /**\n     * @namespace\n     * @memberof PinchRecognizer\n     */\n    defaults: {\n        event: 'tap',\n        pointers: 1,\n        taps: 1,\n        interval: 300, // max time between the multi-tap taps\n        time: 250, // max time of the pointer to be down (like finger on the screen)\n        threshold: 9, // a minimal movement is ok, but keep it low\n        posThreshold: 10 // a multi-tap can be a bit off the initial position\n    },\n\n    getTouchAction: function() {\n        return [TOUCH_ACTION_MANIPULATION];\n    },\n\n    process: function(input) {\n        var options = this.options;\n\n        var validPointers = input.pointers.length === options.pointers;\n        var validMovement = input.distance < options.threshold;\n        var validTouchTime = input.deltaTime < options.time;\n\n        this.reset();\n\n        if ((input.eventType & INPUT_START) && (this.count === 0)) {\n            return this.failTimeout();\n        }\n\n        // we only allow little movement\n        // and we've reached an end event, so a tap is possible\n        if (validMovement && validTouchTime && validPointers) {\n            if (input.eventType != INPUT_END) {\n                return this.failTimeout();\n            }\n\n            var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n            var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n            this.pTime = input.timeStamp;\n            this.pCenter = input.center;\n\n            if (!validMultiTap || !validInterval) {\n                this.count = 1;\n            } else {\n                this.count += 1;\n            }\n\n            this._input = input;\n\n            // if tap count matches we have recognized it,\n            // else it has began recognizing...\n            var tapCount = this.count % options.taps;\n            if (tapCount === 0) {\n                // no failing requirements, immediately trigger the tap event\n                // or wait as long as the multitap interval to trigger\n                if (!this.hasRequireFailures()) {\n                    return STATE_RECOGNIZED;\n                } else {\n                    this._timer = setTimeoutContext(function() {\n                        this.state = STATE_RECOGNIZED;\n                        this.tryEmit();\n                    }, options.interval, this);\n                    return STATE_BEGAN;\n                }\n            }\n        }\n        return STATE_FAILED;\n    },\n\n    failTimeout: function() {\n        this._timer = setTimeoutContext(function() {\n            this.state = STATE_FAILED;\n        }, this.options.interval, this);\n        return STATE_FAILED;\n    },\n\n    reset: function() {\n        clearTimeout(this._timer);\n    },\n\n    emit: function() {\n        if (this.state == STATE_RECOGNIZED) {\n            this._input.tapCount = this.count;\n            this.manager.emit(this.options.event, this._input);\n        }\n    }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n    options = options || {};\n    options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n    return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n    /**\n     * set if DOM events are being triggered.\n     * But this is slower and unused by simple implementations, so disabled by default.\n     * @type {Boolean}\n     * @default false\n     */\n    domEvents: false,\n\n    /**\n     * The value for the touchAction property/fallback.\n     * When set to `compute` it will magically set the correct value based on the added recognizers.\n     * @type {String}\n     * @default compute\n     */\n    touchAction: TOUCH_ACTION_COMPUTE,\n\n    /**\n     * @type {Boolean}\n     * @default true\n     */\n    enable: true,\n\n    /**\n     * EXPERIMENTAL FEATURE -- can be removed/changed\n     * Change the parent input target element.\n     * If Null, then it is being set the to main element.\n     * @type {Null|EventTarget}\n     * @default null\n     */\n    inputTarget: null,\n\n    /**\n     * force an input class\n     * @type {Null|Function}\n     * @default null\n     */\n    inputClass: null,\n\n    /**\n     * Default recognizer setup when calling `Hammer()`\n     * When creating a new Manager these will be skipped.\n     * @type {Array}\n     */\n    preset: [\n        // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n        [RotateRecognizer, {enable: false}],\n        [PinchRecognizer, {enable: false}, ['rotate']],\n        [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n        [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n        [TapRecognizer],\n        [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n        [PressRecognizer]\n    ],\n\n    /**\n     * Some CSS properties can be used to improve the working of Hammer.\n     * Add them to this method and they will be set when creating a new Manager.\n     * @namespace\n     */\n    cssProps: {\n        /**\n         * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n         * @type {String}\n         * @default 'none'\n         */\n        userSelect: 'none',\n\n        /**\n         * Disable the Windows Phone grippers when pressing an element.\n         * @type {String}\n         * @default 'none'\n         */\n        touchSelect: 'none',\n\n        /**\n         * Disables the default callout shown when you touch and hold a touch target.\n         * On iOS, when you touch and hold a touch target such as a link, Safari displays\n         * a callout containing information about the link. This property allows you to disable that callout.\n         * @type {String}\n         * @default 'none'\n         */\n        touchCallout: 'none',\n\n        /**\n         * Specifies whether zooming is enabled. Used by IE10>\n         * @type {String}\n         * @default 'none'\n         */\n        contentZooming: 'none',\n\n        /**\n         * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n         * @type {String}\n         * @default 'none'\n         */\n        userDrag: 'none',\n\n        /**\n         * Overrides the highlight color shown when the user taps a link or a JavaScript\n         * clickable element in iOS. This property obeys the alpha value, if specified.\n         * @type {String}\n         * @default 'rgba(0,0,0,0)'\n         */\n        tapHighlightColor: 'rgba(0,0,0,0)'\n    }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n    this.options = assign({}, Hammer.defaults, options || {});\n\n    this.options.inputTarget = this.options.inputTarget || element;\n\n    this.handlers = {};\n    this.session = {};\n    this.recognizers = [];\n    this.oldCssProps = {};\n\n    this.element = element;\n    this.input = createInputInstance(this);\n    this.touchAction = new TouchAction(this, this.options.touchAction);\n\n    toggleCssProps(this, true);\n\n    each(this.options.recognizers, function(item) {\n        var recognizer = this.add(new (item[0])(item[1]));\n        item[2] && recognizer.recognizeWith(item[2]);\n        item[3] && recognizer.requireFailure(item[3]);\n    }, this);\n}\n\nManager.prototype = {\n    /**\n     * set options\n     * @param {Object} options\n     * @returns {Manager}\n     */\n    set: function(options) {\n        assign(this.options, options);\n\n        // Options that need a little more setup\n        if (options.touchAction) {\n            this.touchAction.update();\n        }\n        if (options.inputTarget) {\n            // Clean up existing event listeners and reinitialize\n            this.input.destroy();\n            this.input.target = options.inputTarget;\n            this.input.init();\n        }\n        return this;\n    },\n\n    /**\n     * stop recognizing for this session.\n     * This session will be discarded, when a new [input]start event is fired.\n     * When forced, the recognizer cycle is stopped immediately.\n     * @param {Boolean} [force]\n     */\n    stop: function(force) {\n        this.session.stopped = force ? FORCED_STOP : STOP;\n    },\n\n    /**\n     * run the recognizers!\n     * called by the inputHandler function on every movement of the pointers (touches)\n     * it walks through all the recognizers and tries to detect the gesture that is being made\n     * @param {Object} inputData\n     */\n    recognize: function(inputData) {\n        var session = this.session;\n        if (session.stopped) {\n            return;\n        }\n\n        // run the touch-action polyfill\n        this.touchAction.preventDefaults(inputData);\n\n        var recognizer;\n        var recognizers = this.recognizers;\n\n        // this holds the recognizer that is being recognized.\n        // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n        // if no recognizer is detecting a thing, it is set to `null`\n        var curRecognizer = session.curRecognizer;\n\n        // reset when the last recognizer is recognized\n        // or when we're in a new session\n        if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n            curRecognizer = session.curRecognizer = null;\n        }\n\n        var i = 0;\n        while (i < recognizers.length) {\n            recognizer = recognizers[i];\n\n            // find out if we are allowed try to recognize the input for this one.\n            // 1.   allow if the session is NOT forced stopped (see the .stop() method)\n            // 2.   allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n            //      that is being recognized.\n            // 3.   allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n            //      this can be setup with the `recognizeWith()` method on the recognizer.\n            if (session.stopped !== FORCED_STOP && ( // 1\n                    !curRecognizer || recognizer == curRecognizer || // 2\n                    recognizer.canRecognizeWith(curRecognizer))) { // 3\n                recognizer.recognize(inputData);\n            } else {\n                recognizer.reset();\n            }\n\n            // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n            // current active recognizer. but only if we don't already have an active recognizer\n            if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n                curRecognizer = session.curRecognizer = recognizer;\n            }\n            i++;\n        }\n    },\n\n    /**\n     * get a recognizer by its event name.\n     * @param {Recognizer|String} recognizer\n     * @returns {Recognizer|Null}\n     */\n    get: function(recognizer) {\n        if (recognizer instanceof Recognizer) {\n            return recognizer;\n        }\n\n        var recognizers = this.recognizers;\n        for (var i = 0; i < recognizers.length; i++) {\n            if (recognizers[i].options.event == recognizer) {\n                return recognizers[i];\n            }\n        }\n        return null;\n    },\n\n    /**\n     * add a recognizer to the manager\n     * existing recognizers with the same event name will be removed\n     * @param {Recognizer} recognizer\n     * @returns {Recognizer|Manager}\n     */\n    add: function(recognizer) {\n        if (invokeArrayArg(recognizer, 'add', this)) {\n            return this;\n        }\n\n        // remove existing\n        var existing = this.get(recognizer.options.event);\n        if (existing) {\n            this.remove(existing);\n        }\n\n        this.recognizers.push(recognizer);\n        recognizer.manager = this;\n\n        this.touchAction.update();\n        return recognizer;\n    },\n\n    /**\n     * remove a recognizer by name or instance\n     * @param {Recognizer|String} recognizer\n     * @returns {Manager}\n     */\n    remove: function(recognizer) {\n        if (invokeArrayArg(recognizer, 'remove', this)) {\n            return this;\n        }\n\n        recognizer = this.get(recognizer);\n\n        // let's make sure this recognizer exists\n        if (recognizer) {\n            var recognizers = this.recognizers;\n            var index = inArray(recognizers, recognizer);\n\n            if (index !== -1) {\n                recognizers.splice(index, 1);\n                this.touchAction.update();\n            }\n        }\n\n        return this;\n    },\n\n    /**\n     * bind event\n     * @param {String} events\n     * @param {Function} handler\n     * @returns {EventEmitter} this\n     */\n    on: function(events, handler) {\n        if (events === undefined) {\n            return;\n        }\n        if (handler === undefined) {\n            return;\n        }\n\n        var handlers = this.handlers;\n        each(splitStr(events), function(event) {\n            handlers[event] = handlers[event] || [];\n            handlers[event].push(handler);\n        });\n        return this;\n    },\n\n    /**\n     * unbind event, leave emit blank to remove all handlers\n     * @param {String} events\n     * @param {Function} [handler]\n     * @returns {EventEmitter} this\n     */\n    off: function(events, handler) {\n        if (events === undefined) {\n            return;\n        }\n\n        var handlers = this.handlers;\n        each(splitStr(events), function(event) {\n            if (!handler) {\n                delete handlers[event];\n            } else {\n                handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n            }\n        });\n        return this;\n    },\n\n    /**\n     * emit event to the listeners\n     * @param {String} event\n     * @param {Object} data\n     */\n    emit: function(event, data) {\n        // we also want to trigger dom events\n        if (this.options.domEvents) {\n            triggerDomEvent(event, data);\n        }\n\n        // no handlers, so skip it all\n        var handlers = this.handlers[event] && this.handlers[event].slice();\n        if (!handlers || !handlers.length) {\n            return;\n        }\n\n        data.type = event;\n        data.preventDefault = function() {\n            data.srcEvent.preventDefault();\n        };\n\n        var i = 0;\n        while (i < handlers.length) {\n            handlers[i](data);\n            i++;\n        }\n    },\n\n    /**\n     * destroy the manager and unbinds all events\n     * it doesn't unbind dom events, that is the user own responsibility\n     */\n    destroy: function() {\n        this.element && toggleCssProps(this, false);\n\n        this.handlers = {};\n        this.session = {};\n        this.input.destroy();\n        this.element = null;\n    }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n    var element = manager.element;\n    if (!element.style) {\n        return;\n    }\n    var prop;\n    each(manager.options.cssProps, function(value, name) {\n        prop = prefixed(element.style, name);\n        if (add) {\n            manager.oldCssProps[prop] = element.style[prop];\n            element.style[prop] = value;\n        } else {\n            element.style[prop] = manager.oldCssProps[prop] || '';\n        }\n    });\n    if (!add) {\n        manager.oldCssProps = {};\n    }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n    var gestureEvent = document.createEvent('Event');\n    gestureEvent.initEvent(event, true, true);\n    gestureEvent.gesture = data;\n    data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n    INPUT_START: INPUT_START,\n    INPUT_MOVE: INPUT_MOVE,\n    INPUT_END: INPUT_END,\n    INPUT_CANCEL: INPUT_CANCEL,\n\n    STATE_POSSIBLE: STATE_POSSIBLE,\n    STATE_BEGAN: STATE_BEGAN,\n    STATE_CHANGED: STATE_CHANGED,\n    STATE_ENDED: STATE_ENDED,\n    STATE_RECOGNIZED: STATE_RECOGNIZED,\n    STATE_CANCELLED: STATE_CANCELLED,\n    STATE_FAILED: STATE_FAILED,\n\n    DIRECTION_NONE: DIRECTION_NONE,\n    DIRECTION_LEFT: DIRECTION_LEFT,\n    DIRECTION_RIGHT: DIRECTION_RIGHT,\n    DIRECTION_UP: DIRECTION_UP,\n    DIRECTION_DOWN: DIRECTION_DOWN,\n    DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n    DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n    DIRECTION_ALL: DIRECTION_ALL,\n\n    Manager: Manager,\n    Input: Input,\n    TouchAction: TouchAction,\n\n    TouchInput: TouchInput,\n    MouseInput: MouseInput,\n    PointerEventInput: PointerEventInput,\n    TouchMouseInput: TouchMouseInput,\n    SingleTouchInput: SingleTouchInput,\n\n    Recognizer: Recognizer,\n    AttrRecognizer: AttrRecognizer,\n    Tap: TapRecognizer,\n    Pan: PanRecognizer,\n    Swipe: SwipeRecognizer,\n    Pinch: PinchRecognizer,\n    Rotate: RotateRecognizer,\n    Press: PressRecognizer,\n\n    on: addEventListeners,\n    off: removeEventListeners,\n    each: each,\n    merge: merge,\n    extend: extend,\n    assign: assign,\n    inherit: inherit,\n    bindFn: bindFn,\n    prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n//  style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n    define(function() {\n        return Hammer;\n    });\n} else if (typeof module != 'undefined' && module.exports) {\n    module.exports = Hammer;\n} else {\n    window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n  childContextTypes: true,\n  contextType: true,\n  contextTypes: true,\n  defaultProps: true,\n  displayName: true,\n  getDefaultProps: true,\n  getDerivedStateFromError: true,\n  getDerivedStateFromProps: true,\n  mixins: true,\n  propTypes: true,\n  type: true\n};\nvar KNOWN_STATICS = {\n  name: true,\n  length: true,\n  prototype: true,\n  caller: true,\n  callee: true,\n  arguments: true,\n  arity: true\n};\nvar FORWARD_REF_STATICS = {\n  '$$typeof': true,\n  render: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true\n};\nvar MEMO_STATICS = {\n  '$$typeof': true,\n  compare: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true,\n  type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n  // React v16.11 and below\n  if (reactIs.isMemo(component)) {\n    return MEMO_STATICS;\n  } // React v16.12 and above\n\n\n  return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n  if (typeof sourceComponent !== 'string') {\n    // don't hoist over string (html) components\n    if (objectPrototype) {\n      var inheritedComponent = getPrototypeOf(sourceComponent);\n\n      if (inheritedComponent && inheritedComponent !== objectPrototype) {\n        hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n      }\n    }\n\n    var keys = getOwnPropertyNames(sourceComponent);\n\n    if (getOwnPropertySymbols) {\n      keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n    }\n\n    var targetStatics = getStatics(targetComponent);\n    var sourceStatics = getStatics(sourceComponent);\n\n    for (var i = 0; i < keys.length; ++i) {\n      var key = keys[i];\n\n      if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n        var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n        try {\n          // Avoid failures from read-only properties\n          defineProperty(targetComponent, key, descriptor);\n        } catch (e) {}\n      }\n    }\n  }\n\n  return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (format === undefined) {\n      throw new Error('invariant requires an error message argument');\n    }\n  }\n\n  if (!condition) {\n    var error;\n    if (format === undefined) {\n      error = new Error(\n        'Minified exception occurred; use the non-minified dev environment ' +\n        'for the full error message and additional helpful warnings.'\n      );\n    } else {\n      var args = [a, b, c, d, e, f];\n      var argIndex = 0;\n      error = new Error(\n        format.replace(/%s/g, function() { return args[argIndex++]; })\n      );\n      error.name = 'Invariant Violation';\n    }\n\n    error.framesToPop = 1; // we don't care about invariant's own frame\n    throw error;\n  }\n};\n\nmodule.exports = invariant;\n","module.exports = function(data, filename, mime, bom) {\n    var blobData = (typeof bom !== 'undefined') ? [bom, data] : [data]\n    var blob = new Blob(blobData, {type: mime || 'application/octet-stream'});\n    if (typeof window.navigator.msSaveBlob !== 'undefined') {\n        // IE workaround for \"HTML7007: One or more blob URLs were\n        // revoked by closing the blob for which they were created.\n        // These URLs will no longer resolve as the data backing\n        // the URL has been freed.\"\n        window.navigator.msSaveBlob(blob, filename);\n    }\n    else {\n        var blobURL = (window.URL && window.URL.createObjectURL) ? window.URL.createObjectURL(blob) : window.webkitURL.createObjectURL(blob);\n        var tempLink = document.createElement('a');\n        tempLink.style.display = 'none';\n        tempLink.href = blobURL;\n        tempLink.setAttribute('download', filename);\n\n        // Safari thinks _blank anchor are pop ups. We only want to set _blank\n        // target if the browser does not support the HTML5 download attribute.\n        // This allows you to download files in desktop safari if pop up blocking\n        // is enabled.\n        if (typeof tempLink.download === 'undefined') {\n            tempLink.setAttribute('target', '_blank');\n        }\n\n        document.body.appendChild(tempLink);\n        tempLink.click();\n\n        // Fixes \"webkit blob resource error 1\"\n        setTimeout(function() {\n            document.body.removeChild(tempLink);\n            window.URL.revokeObjectURL(blobURL);\n        }, 200)\n    }\n}\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n    hashDelete = require('./_hashDelete'),\n    hashGet = require('./_hashGet'),\n    hashHas = require('./_hashHas'),\n    hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n    listCacheDelete = require('./_listCacheDelete'),\n    listCacheGet = require('./_listCacheGet'),\n    listCacheHas = require('./_listCacheHas'),\n    listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n    mapCacheDelete = require('./_mapCacheDelete'),\n    mapCacheGet = require('./_mapCacheGet'),\n    mapCacheHas = require('./_mapCacheHas'),\n    mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n    setCacheAdd = require('./_setCacheAdd'),\n    setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n  var index = -1,\n      length = values == null ? 0 : values.length;\n\n  this.__data__ = new MapCache;\n  while (++index < length) {\n    this.add(values[index]);\n  }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n    stackClear = require('./_stackClear'),\n    stackDelete = require('./_stackDelete'),\n    stackGet = require('./_stackGet'),\n    stackHas = require('./_stackHas'),\n    stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      resIndex = 0,\n      result = [];\n\n  while (++index < length) {\n    var value = array[index];\n    if (predicate(value, index, array)) {\n      result[resIndex++] = value;\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isIndex = require('./_isIndex'),\n    isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  var isArr = isArray(value),\n      isArg = !isArr && isArguments(value),\n      isBuff = !isArr && !isArg && isBuffer(value),\n      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n      skipIndexes = isArr || isArg || isBuff || isType,\n      result = skipIndexes ? baseTimes(value.length, String) : [],\n      length = result.length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.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 == 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\nmodule.exports = arrayReduce;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n *  else `false`.\n */\nfunction arraySome(array, predicate) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (predicate(array[index], index, array)) {\n      return true;\n    }\n  }\n  return false;\n}\n\nmodule.exports = arraySome;\n","/**\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 */\nfunction asciiToArray(string) {\n  return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\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 */\nfunction asciiWords(string) {\n  return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nmodule.exports = baseAssignValue;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n    keys = require('./keys');\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 */\nfunction baseForOwn(object, iteratee) {\n  return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n    toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n  path = castPath(path, object);\n\n  var index = 0,\n      length = path.length;\n\n  while (object != null && index < length) {\n    object = object[toKey(path[index++])];\n  }\n  return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n    isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n  var result = keysFunc(object);\n  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n  return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n  return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n    isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n *  1 - Unordered comparison\n *  2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n  if (value === other) {\n    return true;\n  }\n  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n    return value !== value && other !== other;\n  }\n  return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n    equalArrays = require('./_equalArrays'),\n    equalByTag = require('./_equalByTag'),\n    equalObjects = require('./_equalObjects'),\n    getTag = require('./_getTag'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n  var objIsArr = isArray(object),\n      othIsArr = isArray(other),\n      objTag = objIsArr ? arrayTag : getTag(object),\n      othTag = othIsArr ? arrayTag : getTag(other);\n\n  objTag = objTag == argsTag ? objectTag : objTag;\n  othTag = othTag == argsTag ? objectTag : othTag;\n\n  var objIsObj = objTag == objectTag,\n      othIsObj = othTag == objectTag,\n      isSameTag = objTag == othTag;\n\n  if (isSameTag && isBuffer(object)) {\n    if (!isBuffer(other)) {\n      return false;\n    }\n    objIsArr = true;\n    objIsObj = false;\n  }\n  if (isSameTag && !objIsObj) {\n    stack || (stack = new Stack);\n    return (objIsArr || isTypedArray(object))\n      ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n      : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n  }\n  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n    var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n        othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n    if (objIsWrapped || othIsWrapped) {\n      var objUnwrapped = objIsWrapped ? object.value() : object,\n          othUnwrapped = othIsWrapped ? other.value() : other;\n\n      stack || (stack = new Stack);\n      return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n    }\n  }\n  if (!isSameTag) {\n    return false;\n  }\n  stack || (stack = new Stack);\n  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n    baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n  var index = matchData.length,\n      length = index,\n      noCustomizer = !customizer;\n\n  if (object == null) {\n    return !length;\n  }\n  object = Object(object);\n  while (index--) {\n    var data = matchData[index];\n    if ((noCustomizer && data[2])\n          ? data[1] !== object[data[0]]\n          : !(data[0] in object)\n        ) {\n      return false;\n    }\n  }\n  while (++index < length) {\n    data = matchData[index];\n    var key = data[0],\n        objValue = object[key],\n        srcValue = data[1];\n\n    if (noCustomizer && data[2]) {\n      if (objValue === undefined && !(key in object)) {\n        return false;\n      }\n    } else {\n      var stack = new Stack;\n      if (customizer) {\n        var result = customizer(objValue, srcValue, key, object, source, stack);\n      }\n      if (!(result === undefined\n            ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n            : result\n          )) {\n        return false;\n      }\n    }\n  }\n  return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isFunction = require('./isFunction'),\n    isMasked = require('./_isMasked'),\n    isObject = require('./isObject'),\n    toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n    isLength = require('./isLength'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n    baseMatchesProperty = require('./_baseMatchesProperty'),\n    identity = require('./identity'),\n    isArray = require('./isArray'),\n    property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n  // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n  // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n  if (typeof value == 'function') {\n    return value;\n  }\n  if (value == null) {\n    return identity;\n  }\n  if (typeof value == 'object') {\n    return isArray(value)\n      ? baseMatchesProperty(value[0], value[1])\n      : baseMatches(value);\n  }\n  return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n    nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeys;\n","var baseIsMatch = require('./_baseIsMatch'),\n    getMatchData = require('./_getMatchData'),\n    matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n  var matchData = getMatchData(source);\n  if (matchData.length == 1 && matchData[0][2]) {\n    return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n  }\n  return function(object) {\n    return object === source || baseIsMatch(object, source, matchData);\n  };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n    get = require('./get'),\n    hasIn = require('./hasIn'),\n    isKey = require('./_isKey'),\n    isStrictComparable = require('./_isStrictComparable'),\n    matchesStrictComparable = require('./_matchesStrictComparable'),\n    toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n  if (isKey(path) && isStrictComparable(srcValue)) {\n    return matchesStrictComparable(toKey(path), srcValue);\n  }\n  return function(object) {\n    var objValue = get(object, path);\n    return (objValue === undefined && objValue === srcValue)\n      ? hasIn(object, path)\n      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n  };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n  return function(object) {\n    return object == null ? undefined : object[key];\n  };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n  return function(object) {\n    return baseGet(object, path);\n  };\n}\n\nmodule.exports = basePropertyDeep;\n","/**\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 */\nfunction basePropertyOf(object) {\n  return function(key) {\n    return object == null ? undefined : object[key];\n  };\n}\n\nmodule.exports = basePropertyOf;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n  var index = -1,\n      length = array.length;\n\n  if (start < 0) {\n    start = -start > length ? 0 : (length + start);\n  }\n  end = end > length ? length : end;\n  if (end < 0) {\n    end += length;\n  }\n  length = start > end ? 0 : ((end - start) >>> 0);\n  start >>>= 0;\n\n  var result = Array(length);\n  while (++index < length) {\n    result[index] = array[index + start];\n  }\n  return result;\n}\n\nmodule.exports = baseSlice;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n    arrayMap = require('./_arrayMap'),\n    isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n  return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n    isKey = require('./_isKey'),\n    stringToPath = require('./_stringToPath'),\n    toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n  if (isArray(value)) {\n    return value;\n  }\n  return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseSlice = require('./_baseSlice');\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 */\nfunction 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\nmodule.exports = castSlice;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n  return function(object, iteratee, keysFunc) {\n    var index = -1,\n        iterable = Object(object),\n        props = keysFunc(object),\n        length = props.length;\n\n    while (length--) {\n      var key = props[fromRight ? length : ++index];\n      if (iteratee(iterable[key], key, iterable) === false) {\n        break;\n      }\n    }\n    return object;\n  };\n}\n\nmodule.exports = createBaseFor;\n","var castSlice = require('./_castSlice'),\n    hasUnicode = require('./_hasUnicode'),\n    stringToArray = require('./_stringToArray'),\n    toString = require('./toString');\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 */\nfunction 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\nmodule.exports = createCaseFirst;\n","var arrayReduce = require('./_arrayReduce'),\n    deburr = require('./deburr'),\n    words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\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 */\nfunction createCompounder(callback) {\n  return function(string) {\n    return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n  };\n}\n\nmodule.exports = createCompounder;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar 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/**\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 */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n    arraySome = require('./_arraySome'),\n    cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n      arrLength = array.length,\n      othLength = other.length;\n\n  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n    return false;\n  }\n  // 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\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n    Uint8Array = require('./_Uint8Array'),\n    eq = require('./eq'),\n    equalArrays = require('./_equalArrays'),\n    mapToArray = require('./_mapToArray'),\n    setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n  switch (tag) {\n    case dataViewTag:\n      if ((object.byteLength != other.byteLength) ||\n          (object.byteOffset != other.byteOffset)) {\n        return false;\n      }\n      object = object.buffer;\n      other = other.buffer;\n\n    case arrayBufferTag:\n      if ((object.byteLength != other.byteLength) ||\n          !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n        return false;\n      }\n      return true;\n\n    case boolTag:\n    case dateTag:\n    case numberTag:\n      // Coerce booleans to `1` or `0` and dates to milliseconds.\n      // Invalid dates are coerced to `NaN`.\n      return eq(+object, +other);\n\n    case errorTag:\n      return object.name == other.name && object.message == other.message;\n\n    case regexpTag:\n    case stringTag:\n      // Coerce regexes to strings and treat strings, primitives and objects,\n      // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n      // for more details.\n      return object == (other + '');\n\n    case mapTag:\n      var convert = mapToArray;\n\n    case setTag:\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n      convert || (convert = setToArray);\n\n      if (object.size != other.size && !isPartial) {\n        return false;\n      }\n      // Assume cyclic values are equal.\n      var stacked = stack.get(object);\n      if (stacked) {\n        return stacked == other;\n      }\n      bitmask |= COMPARE_UNORDERED_FLAG;\n\n      // Recursively compare objects (susceptible to call stack limits).\n      stack.set(object, other);\n      var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n      stack['delete'](object);\n      return result;\n\n    case symbolTag:\n      if (symbolValueOf) {\n        return symbolValueOf.call(object) == symbolValueOf.call(other);\n      }\n  }\n  return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n      objProps = getAllKeys(object),\n      objLength = objProps.length,\n      othProps = getAllKeys(other),\n      othLength = othProps.length;\n\n  if (objLength != othLength && !isPartial) {\n    return false;\n  }\n  var index = objLength;\n  while (index--) {\n    var key = objProps[index];\n    if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n      return false;\n    }\n  }\n  // 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\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n    getSymbols = require('./_getSymbols'),\n    keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n  return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n    keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n  var result = keys(object),\n      length = result.length;\n\n  while (length--) {\n    var key = result[length],\n        value = object[key];\n\n    result[length] = [key, value, isStrictComparable(value)];\n  }\n  return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n    getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n    stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n  if (object == null) {\n    return [];\n  }\n  object = Object(object);\n  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n    return propertyIsEnumerable.call(object, symbol);\n  });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n    Map = require('./_Map'),\n    Promise = require('./_Promise'),\n    Set = require('./_Set'),\n    WeakMap = require('./_WeakMap'),\n    baseGetTag = require('./_baseGetTag'),\n    toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    setTag = '[object Set]',\n    weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = baseGetTag(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : '';\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isIndex = require('./_isIndex'),\n    isLength = require('./isLength'),\n    toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n  path = castPath(path, object);\n\n  var index = -1,\n      length = path.length,\n      result = false;\n\n  while (++index < length) {\n    var key = toKey(path[index]);\n    if (!(result = object != null && hasFunc(object, key))) {\n      break;\n    }\n    object = object[key];\n  }\n  if (result || ++index != length) {\n    return result;\n  }\n  length = object == null ? 0 : object.length;\n  return !!length && isLength(length) && isIndex(key, length) &&\n    (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n    rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n    rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\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/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\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 */\nfunction hasUnicode(string) {\n  return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar 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/**\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 */\nfunction hasUnicodeWord(string) {\n  return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nmodule.exports = hashSet;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n *  equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n  return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n    ListCache = require('./_ListCache'),\n    Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n  var index = -1,\n      result = Array(map.size);\n\n  map.forEach(function(value, key) {\n    result[++index] = [key, value];\n  });\n  return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n  return function(object) {\n    if (object == null) {\n      return false;\n    }\n    return object[key] === srcValue &&\n      (srcValue !== undefined || (key in Object(object)));\n  };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n  var result = memoize(func, function(key) {\n    if (cache.size === MAX_MEMOIZE_SIZE) {\n      cache.clear();\n    }\n    return key;\n  });\n\n  var cache = result.cache;\n  return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n  this.__data__.set(value, HASH_UNDEFINED);\n  return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n  return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n  var index = -1,\n      result = Array(set.size);\n\n  set.forEach(function(value) {\n    result[++index] = value;\n  });\n  return result;\n}\n\nmodule.exports = setToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n    Map = require('./_Map'),\n    MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nmodule.exports = stackSet;\n","var asciiToArray = require('./_asciiToArray'),\n    hasUnicode = require('./_hasUnicode'),\n    unicodeToArray = require('./_unicodeToArray');\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 */\nfunction stringToArray(string) {\n  return hasUnicode(string)\n    ? unicodeToArray(string)\n    : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n  var result = [];\n  if (string.charCodeAt(0) === 46 /* . */) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, subString) {\n    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n    rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n    rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n    rsCombo = '[' + rsComboRange + ']',\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    rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n    rsOptVar = '[' + rsVarRange + ']?',\n    rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n    rsSeq = rsOptVar + reOptMod + rsOptJoin,\n    rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\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 */\nfunction unicodeToArray(string) {\n  return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/** Used to compose unicode character classes. */\nvar 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. */\nvar rsApos = \"['\\u2019]\",\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. */\nvar 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\n/** Used to match complex or compound words. */\nvar 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/**\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 */\nfunction unicodeWords(string) {\n  return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var capitalize = require('./capitalize'),\n    createCompounder = require('./_createCompounder');\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 */\nvar camelCase = createCompounder(function(result, word, index) {\n  word = word.toLowerCase();\n  return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","var toString = require('./toString'),\n    upperFirst = require('./upperFirst');\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 */\nfunction capitalize(string) {\n  return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","var deburrLetter = require('./_deburrLetter'),\n    toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\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 */\nvar reComboMark = RegExp(rsCombo, 'g');\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 */\nfunction deburr(string) {\n  string = toString(string);\n  return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n  var result = object == null ? undefined : baseGet(object, path);\n  return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHas = require('./_baseHas'),\n    hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n  return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseHasIn = require('./_baseHasIn'),\n    hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n  return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n  return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n    isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n    isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n    stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n    isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeys = require('./_baseKeys'),\n    isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseAssignValue = require('./_baseAssignValue'),\n    baseForOwn = require('./_baseForOwn'),\n    baseIteratee = require('./_baseIteratee');\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 */\nfunction mapKeys(object, iteratee) {\n  var result = {};\n  iteratee = baseIteratee(iteratee, 3);\n\n  baseForOwn(object, function(value, key, object) {\n    baseAssignValue(result, iteratee(value, key, object), value);\n  });\n  return result;\n}\n\nmodule.exports = mapKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n    baseForOwn = require('./_baseForOwn'),\n    baseIteratee = require('./_baseIteratee');\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 */\nfunction mapValues(object, iteratee) {\n  var result = {};\n  iteratee = baseIteratee(iteratee, 3);\n\n  baseForOwn(object, function(value, key, object) {\n    baseAssignValue(result, key, iteratee(value, key, object));\n  });\n  return result;\n}\n\nmodule.exports = mapValues;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result) || cache;\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseProperty = require('./_baseProperty'),\n    basePropertyDeep = require('./_basePropertyDeep'),\n    isKey = require('./_isKey'),\n    toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n *   { 'a': { 'b': 2 } },\n *   { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var createCompounder = require('./_createCompounder');\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 */\nvar snakeCase = createCompounder(function(result, word, index) {\n  return result + (index ? '_' : '') + word.toLowerCase();\n});\n\nmodule.exports = snakeCase;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n  return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = stubFalse;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper 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 * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","var asciiWords = require('./_asciiWords'),\n    hasUnicodeWord = require('./_hasUnicodeWord'),\n    toString = require('./toString'),\n    unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n  string = toString(string);\n  pattern = guard ? undefined : pattern;\n\n  if (pattern === undefined) {\n    return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n  }\n  return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n  for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n    validators[_key] = arguments[_key];\n  }\n\n  function allPropTypes() {\n    for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    var error = null;\n\n    validators.forEach(function (validator) {\n      if (error != null) {\n        return;\n      }\n\n      var result = validator.apply(undefined, args);\n      if (result != null) {\n        error = result;\n      }\n    });\n\n    return error;\n  }\n\n  return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n  function checkType(isRequired, props, propName, componentName, location, propFullName) {\n    var componentNameSafe = componentName || '<<anonymous>>';\n    var propFullNameSafe = propFullName || propName;\n\n    if (props[propName] == null) {\n      if (isRequired) {\n        return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n      }\n\n      return null;\n    }\n\n    for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n      args[_key - 6] = arguments[_key];\n    }\n\n    return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n  }\n\n  var chainedCheckType = checkType.bind(null, false);\n  chainedCheckType.isRequired = checkType.bind(null, true);\n\n  return chainedCheckType;\n}\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>\n */\n'use strict'\n\nfunction Cache(maxSize) {\n  this._maxSize = maxSize\n  this.clear()\n}\nCache.prototype.clear = function () {\n  this._size = 0\n  this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n  return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n  this._size >= this._maxSize && this.clear()\n  if (!(key in this._values)) this._size++\n\n  return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n  DIGIT_REGEX = /^\\d+$/,\n  LEAD_DIGIT_REGEX = /^\\d/,\n  SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n  CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n  MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n  setCache = new Cache(MAX_CACHE_SIZE),\n  getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n  Cache: Cache,\n\n  split: split,\n\n  normalizePath: normalizePath,\n\n  setter: function (path) {\n    var parts = normalizePath(path)\n\n    return (\n      setCache.get(path) ||\n      setCache.set(path, function setter(obj, value) {\n        var index = 0\n        var len = parts.length\n        var data = obj\n\n        while (index < len - 1) {\n          var part = parts[index]\n          if (\n            part === '__proto__' ||\n            part === 'constructor' ||\n            part === 'prototype'\n          ) {\n            return obj\n          }\n\n          data = data[parts[index++]]\n        }\n        data[parts[index]] = value\n      })\n    )\n  },\n\n  getter: function (path, safe) {\n    var parts = normalizePath(path)\n    return (\n      getCache.get(path) ||\n      getCache.set(path, function getter(data) {\n        var index = 0,\n          len = parts.length\n        while (index < len) {\n          if (data != null || !safe) data = data[parts[index++]]\n          else return\n        }\n        return data\n      })\n    )\n  },\n\n  join: function (segments) {\n    return segments.reduce(function (path, part) {\n      return (\n        path +\n        (isQuoted(part) || DIGIT_REGEX.test(part)\n          ? '[' + part + ']'\n          : (path ? '.' : '') + part)\n      )\n    }, '')\n  },\n\n  forEach: function (path, cb, thisArg) {\n    forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n  },\n}\n\nfunction normalizePath(path) {\n  return (\n    pathCache.get(path) ||\n    pathCache.set(\n      path,\n      split(path).map(function (part) {\n        return part.replace(CLEAN_QUOTES_REGEX, '$2')\n      })\n    )\n  )\n}\n\nfunction split(path) {\n  return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n  var len = parts.length,\n    part,\n    idx,\n    isArray,\n    isBracket\n\n  for (idx = 0; idx < len; idx++) {\n    part = parts[idx]\n\n    if (part) {\n      if (shouldBeQuoted(part)) {\n        part = '\"' + part + '\"'\n      }\n\n      isBracket = isQuoted(part)\n      isArray = !isBracket && /^\\d+$/.test(part)\n\n      iter.call(thisArg, part, isBracket, isArray, idx, parts)\n    }\n  }\n}\n\nfunction isQuoted(str) {\n  return (\n    typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n  )\n}\n\nfunction hasLeadingNumber(part) {\n  return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n  return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n  return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nfunction checkDCE() {\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n  if (\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n  ) {\n    return;\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // This branch is unreachable because this function is only called\n    // in production, but the condition is true only in development.\n    // Therefore if the branch is still here, dead code elimination wasn't\n    // properly applied.\n    // Don't change the message. React DevTools relies on it. Also make sure\n    // this message doesn't occur elsewhere in this function, or it will cause\n    // a false positive.\n    throw new Error('^_^');\n  }\n  try {\n    // Verify that the code above has been dead code eliminated (DCE'd).\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n  } catch (err) {\n    // DevTools shouldn't crash React, no matter what.\n    // We should still report in case we break this code.\n    console.error(err);\n  }\n}\n\nif (process.env.NODE_ENV === 'production') {\n  // DCE check should happen before ReactDOM bundle executes so that\n  // DevTools can report bad minification during injection.\n  checkDCE();\n  module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n  module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    var arrA = isArray(a)\n      , arrB = isArray(b)\n      , i\n      , length\n      , key;\n\n    if (arrA && arrB) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n    if (arrA != arrB) return false;\n\n    var dateA = a instanceof Date\n      , dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n\n    var regexpA = a instanceof RegExp\n      , regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length)\n      return false;\n\n    for (i = length; i-- !== 0;)\n      if (!hasProp.call(b, keys[i])) return false;\n    // end fast-deep-equal\n\n    // start react-fast-compare\n    // custom handling for DOM elements\n    if (hasElementType && a instanceof Element && b instanceof Element)\n      return a === b;\n\n    // custom handling for React\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    }\n    // end react-fast-compare\n\n    // fast-deep-equal index.js 2.0.1\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n  // START: fast-deep-equal es6/index.js 3.1.3\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    if (a.constructor !== b.constructor) return false;\n\n    var length, i, keys;\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n    // START: Modifications:\n    // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n    //    to co-exist with es5.\n    // 2. Replace `for of` with es5 compliant iteration using `for`.\n    //    Basically, take:\n    //\n    //    ```js\n    //    for (i of a.entries())\n    //      if (!b.has(i[0])) return false;\n    //    ```\n    //\n    //    ... and convert to:\n    //\n    //    ```js\n    //    it = a.entries();\n    //    while (!(i = it.next()).done)\n    //      if (!b.has(i.value[0])) return false;\n    //    ```\n    //\n    //    **Note**: `i` access switches to `i.value`.\n    var it;\n    if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n      if (a.size !== b.size) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!b.has(i.value[0])) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!equal(i.value[1], b.get(i.value[0]))) return false;\n      return true;\n    }\n\n    if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n      if (a.size !== b.size) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!b.has(i.value[0])) return false;\n      return true;\n    }\n    // END: Modifications\n\n    if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (a[i] !== b[i]) return false;\n      return true;\n    }\n\n    if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n    // START: Modifications:\n    // Apply guards for `Object.create(null)` handling. See:\n    // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n    // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n    if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n    if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n    // END: Modifications\n\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) return false;\n\n    for (i = length; i-- !== 0;)\n      if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n    // END: fast-deep-equal\n\n    // START: react-fast-compare\n    // custom handling for DOM elements\n    if (hasElementType && a instanceof Element) return false;\n\n    // custom handling for React/Preact\n    for (i = length; i-- !== 0;) {\n      if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner\n        // Preact-specific: avoid traversing Preact elements' __v and __o\n        //    __v = $_original / $_vnode\n        //    __o = $_owner\n        // These properties contain circular references and are not needed when\n        // comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of elements\n\n        continue;\n      }\n\n      // all other properties should be traversed as usual\n      if (!equal(a[keys[i]], b[keys[i]])) return false;\n    }\n    // END: react-fast-compare\n\n    // START: fast-deep-equal\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if (((error.message || '').match(/stack|recursion/i))) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('react-fast-compare cannot handle circular refs');\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\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 _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n  if (typeof reducePropsToState !== 'function') {\n    throw new Error('Expected reducePropsToState to be a function.');\n  }\n\n  if (typeof handleStateChangeOnClient !== 'function') {\n    throw new Error('Expected handleStateChangeOnClient to be a function.');\n  }\n\n  if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n    throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n  }\n\n  function getDisplayName(WrappedComponent) {\n    return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n  }\n\n  return function wrap(WrappedComponent) {\n    if (typeof WrappedComponent !== 'function') {\n      throw new Error('Expected WrappedComponent to be a React component.');\n    }\n\n    var mountedInstances = [];\n    var state;\n\n    function emitChange() {\n      state = reducePropsToState(mountedInstances.map(function (instance) {\n        return instance.props;\n      }));\n\n      if (SideEffect.canUseDOM) {\n        handleStateChangeOnClient(state);\n      } else if (mapStateOnServer) {\n        state = mapStateOnServer(state);\n      }\n    }\n\n    var SideEffect =\n    /*#__PURE__*/\n    function (_PureComponent) {\n      _inheritsLoose(SideEffect, _PureComponent);\n\n      function SideEffect() {\n        return _PureComponent.apply(this, arguments) || this;\n      }\n\n      // Try to use displayName of wrapped component\n      // Expose canUseDOM so tests can monkeypatch it\n      SideEffect.peek = function peek() {\n        return state;\n      };\n\n      SideEffect.rewind = function rewind() {\n        if (SideEffect.canUseDOM) {\n          throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n        }\n\n        var recordedState = state;\n        state = undefined;\n        mountedInstances = [];\n        return recordedState;\n      };\n\n      var _proto = SideEffect.prototype;\n\n      _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n        mountedInstances.push(this);\n        emitChange();\n      };\n\n      _proto.componentDidUpdate = function componentDidUpdate() {\n        emitChange();\n      };\n\n      _proto.componentWillUnmount = function componentWillUnmount() {\n        var index = mountedInstances.indexOf(this);\n        mountedInstances.splice(index, 1);\n        emitChange();\n      };\n\n      _proto.render = function render() {\n        return React__default.createElement(WrappedComponent, this.props);\n      };\n\n      return SideEffect;\n    }(React.PureComponent);\n\n    _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n    _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n    return SideEffect;\n  };\n}\n\nmodule.exports = withSideEffect;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react.production.min.js');\n} else {\n  module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n  return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n  var cursor = nodes.length\n    , sorted = new Array(cursor)\n    , visited = {}\n    , i = cursor\n    // Better data structures make algorithm much faster.\n    , outgoingEdges = makeOutgoingEdges(edges)\n    , nodesHash = makeNodesHash(nodes)\n\n  // check for unknown nodes\n  edges.forEach(function(edge) {\n    if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n      throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n    }\n  })\n\n  while (i--) {\n    if (!visited[i]) visit(nodes[i], i, new Set())\n  }\n\n  return sorted\n\n  function visit(node, i, predecessors) {\n    if(predecessors.has(node)) {\n      var nodeRep\n      try {\n        nodeRep = \", node was:\" + JSON.stringify(node)\n      } catch(e) {\n        nodeRep = \"\"\n      }\n      throw new Error('Cyclic dependency' + nodeRep)\n    }\n\n    if (!nodesHash.has(node)) {\n      throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n    }\n\n    if (visited[i]) return;\n    visited[i] = true\n\n    var outgoing = outgoingEdges.get(node) || new Set()\n    outgoing = Array.from(outgoing)\n\n    if (i = outgoing.length) {\n      predecessors.add(node)\n      do {\n        var child = outgoing[--i]\n        visit(child, nodesHash.get(child), predecessors)\n      } while (i)\n      predecessors.delete(node)\n    }\n\n    sorted[--cursor] = node\n  }\n}\n\nfunction uniqueNodes(arr){\n  var res = new Set()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    var edge = arr[i]\n    res.add(edge[0])\n    res.add(edge[1])\n  }\n  return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n  var edges = new Map()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    var edge = arr[i]\n    if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n    if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n    edges.get(edge[0]).add(edge[1])\n  }\n  return edges\n}\n\nfunction makeNodesHash(arr){\n  var res = new Map()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    res.set(arr[i], i)\n  }\n  return res\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n  var printWarning = function printWarning(format, args) {\n    var len = arguments.length;\n    args = new Array(len > 1 ? len - 1 : 0);\n    for (var key = 1; key < len; key++) {\n      args[key - 1] = arguments[key];\n    }\n    var argIndex = 0;\n    var message = 'Warning: ' +\n      format.replace(/%s/g, function() {\n        return args[argIndex++];\n      });\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  }\n\n  warning = function(condition, format, args) {\n    var len = arguments.length;\n    args = new Array(len > 2 ? len - 2 : 0);\n    for (var key = 2; key < len; key++) {\n      args[key - 2] = arguments[key];\n    }\n    if (format === undefined) {\n      throw new Error(\n          '`warning(condition, format, ...args)` requires a warning ' +\n          'message argument'\n      );\n    }\n    if (!condition) {\n      printWarning.apply(null, [format].concat(args));\n    }\n  };\n}\n\nmodule.exports = warning;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"965e0c57\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"webbotstrap:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t590: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\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\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwebbotstrap\"] = self[\"webpackChunkwebbotstrap\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n  /**\n   * A POP indicates a change to an arbitrary index in the history stack, such\n   * as a back or forward navigation. It does not describe the direction of the\n   * navigation, only that the current index changed.\n   *\n   * Note: This is the default action for newly created history objects.\n   */\n  Pop = \"POP\",\n\n  /**\n   * A PUSH indicates a new entry being added to the history stack, such as when\n   * a link is clicked and a new page loads. When this happens, all subsequent\n   * entries in the stack are lost.\n   */\n  Push = \"PUSH\",\n\n  /**\n   * A REPLACE indicates the entry at the current index in the history stack\n   * being replaced by a new one.\n   */\n  Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n  /**\n   * A URL pathname, beginning with a /.\n   */\n  pathname: string;\n\n  /**\n   * A URL search string, beginning with a ?.\n   */\n  search: string;\n\n  /**\n   * A URL fragment identifier, beginning with a #.\n   */\n  hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location<State = any> extends Path {\n  /**\n   * A value of arbitrary data associated with this location.\n   */\n  state: State;\n\n  /**\n   * A unique string associated with this location. May be used to safely store\n   * and retrieve data in some other storage API, like `localStorage`.\n   *\n   * Note: This value is always \"default\" on the initial location.\n   */\n  key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n  /**\n   * The action that triggered the change.\n   */\n  action: Action;\n\n  /**\n   * The new location.\n   */\n  location: Location;\n\n  /**\n   * The delta between this location and the former location in the history stack\n   */\n  delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n  (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial<Path>;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n  /**\n   * The last action that modified the current location. This will always be\n   * Action.Pop when a history instance is first created. This value is mutable.\n   */\n  readonly action: Action;\n\n  /**\n   * The current location. This value is mutable.\n   */\n  readonly location: Location;\n\n  /**\n   * Returns a valid href for the given `to` value that may be used as\n   * the value of an <a href> attribute.\n   *\n   * @param to - The destination URL\n   */\n  createHref(to: To): string;\n\n  /**\n   * Returns a URL for the given `to` value\n   *\n   * @param to - The destination URL\n   */\n  createURL(to: To): URL;\n\n  /**\n   * Encode a location the same way window.history would do (no-op for memory\n   * history) so we ensure our PUSH/REPLACE navigations for data routers\n   * behave the same as POP\n   *\n   * @param to Unencoded path\n   */\n  encodeLocation(to: To): Path;\n\n  /**\n   * Pushes a new location onto the history stack, increasing its length by one.\n   * If there were any entries in the stack after the current one, they are\n   * lost.\n   *\n   * @param to - The new URL\n   * @param state - Data to associate with the new location\n   */\n  push(to: To, state?: any): void;\n\n  /**\n   * Replaces the current location in the history stack with a new one.  The\n   * location that was replaced will no longer be available.\n   *\n   * @param to - The new URL\n   * @param state - Data to associate with the new location\n   */\n  replace(to: To, state?: any): void;\n\n  /**\n   * Navigates `n` entries backward/forward in the history stack relative to the\n   * current index. For example, a \"back\" navigation would use go(-1).\n   *\n   * @param delta - The delta in the stack index\n   */\n  go(delta: number): void;\n\n  /**\n   * Sets up a listener that will be called whenever the current location\n   * changes.\n   *\n   * @param listener - A function that will be called when the location changes\n   * @returns unlisten - A function that may be used to stop listening\n   */\n  listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n  usr: any;\n  key?: string;\n  idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial<Location>;\n\nexport type MemoryHistoryOptions = {\n  initialEntries?: InitialEntry[];\n  initialIndex?: number;\n  v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n  /**\n   * The current index in the history stack.\n   */\n  readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n  options: MemoryHistoryOptions = {}\n): MemoryHistory {\n  let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n  let entries: Location[]; // Declare so we can access from createMemoryLocation\n  entries = initialEntries.map((entry, index) =>\n    createMemoryLocation(\n      entry,\n      typeof entry === \"string\" ? null : entry.state,\n      index === 0 ? \"default\" : undefined\n    )\n  );\n  let index = clampIndex(\n    initialIndex == null ? entries.length - 1 : initialIndex\n  );\n  let action = Action.Pop;\n  let listener: Listener | null = null;\n\n  function clampIndex(n: number): number {\n    return Math.min(Math.max(n, 0), entries.length - 1);\n  }\n  function getCurrentLocation(): Location {\n    return entries[index];\n  }\n  function createMemoryLocation(\n    to: To,\n    state: any = null,\n    key?: string\n  ): Location {\n    let location = createLocation(\n      entries ? getCurrentLocation().pathname : \"/\",\n      to,\n      state,\n      key\n    );\n    warning(\n      location.pathname.charAt(0) === \"/\",\n      `relative pathnames are not supported in memory history: ${JSON.stringify(\n        to\n      )}`\n    );\n    return location;\n  }\n\n  function createHref(to: To) {\n    return typeof to === \"string\" ? to : createPath(to);\n  }\n\n  let history: MemoryHistory = {\n    get index() {\n      return index;\n    },\n    get action() {\n      return action;\n    },\n    get location() {\n      return getCurrentLocation();\n    },\n    createHref,\n    createURL(to) {\n      return new URL(createHref(to), \"http://localhost\");\n    },\n    encodeLocation(to: To) {\n      let path = typeof to === \"string\" ? parsePath(to) : to;\n      return {\n        pathname: path.pathname || \"\",\n        search: path.search || \"\",\n        hash: path.hash || \"\",\n      };\n    },\n    push(to, state) {\n      action = Action.Push;\n      let nextLocation = createMemoryLocation(to, state);\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      if (v5Compat && listener) {\n        listener({ action, location: nextLocation, delta: 1 });\n      }\n    },\n    replace(to, state) {\n      action = Action.Replace;\n      let nextLocation = createMemoryLocation(to, state);\n      entries[index] = nextLocation;\n      if (v5Compat && listener) {\n        listener({ action, location: nextLocation, delta: 0 });\n      }\n    },\n    go(delta) {\n      action = Action.Pop;\n      let nextIndex = clampIndex(index + delta);\n      let nextLocation = entries[nextIndex];\n      index = nextIndex;\n      if (listener) {\n        listener({ action, location: nextLocation, delta });\n      }\n    },\n    listen(fn: Listener) {\n      listener = fn;\n      return () => {\n        listener = null;\n      };\n    },\n  };\n\n  return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n  options: BrowserHistoryOptions = {}\n): BrowserHistory {\n  function createBrowserLocation(\n    window: Window,\n    globalHistory: Window[\"history\"]\n  ) {\n    let { pathname, search, hash } = window.location;\n    return createLocation(\n      \"\",\n      { pathname, search, hash },\n      // state defaults to `null` because `window.history.state` does\n      (globalHistory.state && globalHistory.state.usr) || null,\n      (globalHistory.state && globalHistory.state.key) || \"default\"\n    );\n  }\n\n  function createBrowserHref(window: Window, to: To) {\n    return typeof to === \"string\" ? to : createPath(to);\n  }\n\n  return getUrlBasedHistory(\n    createBrowserLocation,\n    createBrowserHref,\n    null,\n    options\n  );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n  options: HashHistoryOptions = {}\n): HashHistory {\n  function createHashLocation(\n    window: Window,\n    globalHistory: Window[\"history\"]\n  ) {\n    let {\n      pathname = \"/\",\n      search = \"\",\n      hash = \"\",\n    } = parsePath(window.location.hash.substr(1));\n\n    // Hash URL should always have a leading / just like window.location.pathname\n    // does, so if an app ends up at a route like /#something then we add a\n    // leading slash so all of our path-matching behaves the same as if it would\n    // in a browser router.  This is particularly important when there exists a\n    // root splat route (<Route path=\"*\">) since that matches internally against\n    // \"/*\" and we'd expect /#something to 404 in a hash router app.\n    if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n      pathname = \"/\" + pathname;\n    }\n\n    return createLocation(\n      \"\",\n      { pathname, search, hash },\n      // state defaults to `null` because `window.history.state` does\n      (globalHistory.state && globalHistory.state.usr) || null,\n      (globalHistory.state && globalHistory.state.key) || \"default\"\n    );\n  }\n\n  function createHashHref(window: Window, to: To) {\n    let base = window.document.querySelector(\"base\");\n    let href = \"\";\n\n    if (base && base.getAttribute(\"href\")) {\n      let url = window.location.href;\n      let hashIndex = url.indexOf(\"#\");\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n\n    return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n  }\n\n  function validateHashLocation(location: Location, to: To) {\n    warning(\n      location.pathname.charAt(0) === \"/\",\n      `relative pathnames are not supported in hash history.push(${JSON.stringify(\n        to\n      )})`\n    );\n  }\n\n  return getUrlBasedHistory(\n    createHashLocation,\n    createHashHref,\n    validateHashLocation,\n    options\n  );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant<T>(\n  value: T | null | undefined,\n  message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n  if (value === false || value === null || typeof value === \"undefined\") {\n    throw new Error(message);\n  }\n}\n\nexport function warning(cond: any, message: string) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== \"undefined\") console.warn(message);\n\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience, so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message);\n      // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n  return {\n    usr: location.state,\n    key: location.key,\n    idx: index,\n  };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n  current: string | Location,\n  to: To,\n  state: any = null,\n  key?: string\n): Readonly<Location> {\n  let location: Readonly<Location> = {\n    pathname: typeof current === \"string\" ? current : current.pathname,\n    search: \"\",\n    hash: \"\",\n    ...(typeof to === \"string\" ? parsePath(to) : to),\n    state,\n    // TODO: This could be cleaned up.  push/replace should probably just take\n    // full Locations now and avoid the need to run through this flow at all\n    // But that's a pretty big refactor to the current test suite so going to\n    // keep as is for the time being and just let any incoming keys take precedence\n    key: (to && (to as Location).key) || key || createKey(),\n  };\n  return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n  pathname = \"/\",\n  search = \"\",\n  hash = \"\",\n}: Partial<Path>) {\n  if (search && search !== \"?\")\n    pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n  if (hash && hash !== \"#\")\n    pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n  return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial<Path> {\n  let parsedPath: Partial<Path> = {};\n\n  if (path) {\n    let hashIndex = path.indexOf(\"#\");\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n\n    let searchIndex = path.indexOf(\"?\");\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n\n  return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n  window?: Window;\n  v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n  getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n  createHref: (window: Window, to: To) => string,\n  validateLocation: ((location: Location, to: To) => void) | null,\n  options: UrlHistoryOptions = {}\n): UrlHistory {\n  let { window = document.defaultView!, v5Compat = false } = options;\n  let globalHistory = window.history;\n  let action = Action.Pop;\n  let listener: Listener | null = null;\n\n  let index = getIndex()!;\n  // Index should only be null when we initialize. If not, it's because the\n  // user called history.pushState or history.replaceState directly, in which\n  // case we should log a warning as it will result in bugs.\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n  }\n\n  function getIndex(): number {\n    let state = globalHistory.state || { idx: null };\n    return state.idx;\n  }\n\n  function handlePop() {\n    action = Action.Pop;\n    let nextIndex = getIndex();\n    let delta = nextIndex == null ? null : nextIndex - index;\n    index = nextIndex;\n    if (listener) {\n      listener({ action, location: history.location, delta });\n    }\n  }\n\n  function push(to: To, state?: any) {\n    action = Action.Push;\n    let location = createLocation(history.location, to, state);\n    if (validateLocation) validateLocation(location, to);\n\n    index = getIndex() + 1;\n    let historyState = getHistoryState(location, index);\n    let url = history.createHref(location);\n\n    // try...catch because iOS limits us to 100 pushState calls :/\n    try {\n      globalHistory.pushState(historyState, \"\", url);\n    } catch (error) {\n      // If the exception is because `state` can't be serialized, let that throw\n      // outwards just like a replace call would so the dev knows the cause\n      // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n      // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n      if (error instanceof DOMException && error.name === \"DataCloneError\") {\n        throw error;\n      }\n      // They are going to lose state here, but there is no real\n      // way to warn them about it since the page will refresh...\n      window.location.assign(url);\n    }\n\n    if (v5Compat && listener) {\n      listener({ action, location: history.location, delta: 1 });\n    }\n  }\n\n  function replace(to: To, state?: any) {\n    action = Action.Replace;\n    let location = createLocation(history.location, to, state);\n    if (validateLocation) validateLocation(location, to);\n\n    index = getIndex();\n    let historyState = getHistoryState(location, index);\n    let url = history.createHref(location);\n    globalHistory.replaceState(historyState, \"\", url);\n\n    if (v5Compat && listener) {\n      listener({ action, location: history.location, delta: 0 });\n    }\n  }\n\n  function createURL(to: To): URL {\n    // window.location.origin is \"null\" (the literal string value) in Firefox\n    // under certain conditions, notably when serving from a local HTML file\n    // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n    let base =\n      window.location.origin !== \"null\"\n        ? window.location.origin\n        : window.location.href;\n\n    let href = typeof to === \"string\" ? to : createPath(to);\n    invariant(\n      base,\n      `No window.location.(origin|href) available to create URL for href: ${href}`\n    );\n    return new URL(href, base);\n  }\n\n  let history: History = {\n    get action() {\n      return action;\n    },\n    get location() {\n      return getLocation(window, globalHistory);\n    },\n    listen(fn: Listener) {\n      if (listener) {\n        throw new Error(\"A history only accepts one active listener\");\n      }\n      window.addEventListener(PopStateEventType, handlePop);\n      listener = fn;\n\n      return () => {\n        window.removeEventListener(PopStateEventType, handlePop);\n        listener = null;\n      };\n    },\n    createHref(to) {\n      return createHref(window, to);\n    },\n    createURL,\n    encodeLocation(to) {\n      // Encode a Location the same way window.location would\n      let url = createURL(to);\n      return {\n        pathname: url.pathname,\n        search: url.search,\n        hash: url.hash,\n      };\n    },\n    push,\n    replace,\n    go(n) {\n      return globalHistory.go(n);\n    },\n  };\n\n  return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n  [routeId: string]: any;\n}\n\nexport enum ResultType {\n  data = \"data\",\n  deferred = \"deferred\",\n  redirect = \"redirect\",\n  error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n  type: ResultType.data;\n  data: any;\n  statusCode?: number;\n  headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n  type: ResultType.deferred;\n  deferredData: DeferredData;\n  statusCode?: number;\n  headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n  type: ResultType.redirect;\n  status: number;\n  location: string;\n  revalidate: boolean;\n  reloadDocument?: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n  type: ResultType.error;\n  error: any;\n  headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n  | SuccessResult\n  | DeferredResult\n  | RedirectResult\n  | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase<LowerCaseFormMethod>;\n\n/**\n * Users can specify either lowercase or uppercase form methods on `<Form>`,\n * useSubmit(), `<fetcher.Form>`, etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude<FormMethod, \"get\">;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState.  This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude<V7_FormMethod, \"GET\">;\n\nexport type FormEncType =\n  | \"application/x-www-form-urlencoded\"\n  | \"multipart/form-data\"\n  | \"application/json\"\n  | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n  [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n  | {\n      formMethod: FormMethod | V7_FormMethod;\n      formAction: string;\n      formEncType: FormEncType;\n      formData: FormData;\n      json: undefined;\n      text: undefined;\n    }\n  | {\n      formMethod: FormMethod | V7_FormMethod;\n      formAction: string;\n      formEncType: FormEncType;\n      formData: undefined;\n      json: JsonValue;\n      text: undefined;\n    }\n  | {\n      formMethod: FormMethod | V7_FormMethod;\n      formAction: string;\n      formEncType: FormEncType;\n      formData: undefined;\n      json: undefined;\n      text: string;\n    };\n\n/**\n * @private\n * Arguments passed to route loader/action functions.  Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs<Context> {\n  request: Request;\n  params: Params;\n  context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n//   ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n//   Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs<Context = any>\n  extends DataFunctionArgs<Context> {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs<Context = any>\n  extends DataFunctionArgs<Context> {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return).  Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable<unknown> | null;\n\n/**\n * Route loader function signature\n */\nexport type LoaderFunction<Context = any> = {\n  (args: LoaderFunctionArgs<Context>):\n    | Promise<DataFunctionValue>\n    | DataFunctionValue;\n} & { hydrate?: boolean };\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction<Context = any> {\n  (args: ActionFunctionArgs<Context>):\n    | Promise<DataFunctionValue>\n    | DataFunctionValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n  currentUrl: URL;\n  currentParams: AgnosticDataRouteMatch[\"params\"];\n  nextUrl: URL;\n  nextParams: AgnosticDataRouteMatch[\"params\"];\n  formMethod?: Submission[\"formMethod\"];\n  formAction?: Submission[\"formAction\"];\n  formEncType?: Submission[\"formEncType\"];\n  text?: Submission[\"text\"];\n  formData?: Submission[\"formData\"];\n  json?: Submission[\"json\"];\n  actionResult?: any;\n  defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature.  This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments.  It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n  (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n  (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n  (route: AgnosticRouteObject): {\n    hasErrorBoundary: boolean;\n  } & Record<string, any>;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n  | \"lazy\"\n  | \"caseSensitive\"\n  | \"path\"\n  | \"id\"\n  | \"index\"\n  | \"children\";\n\nexport const immutableRouteKeys = new Set<ImmutableRouteKey>([\n  \"lazy\",\n  \"caseSensitive\",\n  \"path\",\n  \"id\",\n  \"index\",\n  \"children\",\n]);\n\ntype RequireOne<T, Key = keyof T> = Exclude<\n  {\n    [K in keyof T]: K extends Key ? Omit<T, K> & Required<Pick<T, K>> : never;\n  }[keyof T],\n  undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction<R extends AgnosticRouteObject> {\n  (): Promise<RequireOne<Omit<R, ImmutableRouteKey>>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n  caseSensitive?: boolean;\n  path?: string;\n  id?: string;\n  loader?: LoaderFunction;\n  action?: ActionFunction;\n  hasErrorBoundary?: boolean;\n  shouldRevalidate?: ShouldRevalidateFunction;\n  handle?: any;\n  lazy?: LazyRouteFunction<AgnosticBaseRouteObject>;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n  children?: undefined;\n  index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n  children?: AgnosticRouteObject[];\n  index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n  | AgnosticIndexRouteObject\n  | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n  id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n  children?: AgnosticDataRouteObject[];\n  id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n  | AgnosticDataIndexRouteObject\n  | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record<string, AgnosticDataRouteObject | undefined>;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam<Path extends string> =\n  // split path into individual path segments\n  Path extends `${infer L}/${infer R}`\n    ? _PathParam<L> | _PathParam<R>\n    : // find params after `:`\n    Path extends `:${infer Param}`\n    ? Param extends `${infer Optional}?`\n      ? Optional\n      : Param\n    : // otherwise, there aren't any params present\n      never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\nexport type PathParam<Path extends string> =\n  // check if path is just a wildcard\n  Path extends \"*\" | \"/*\"\n    ? \"*\"\n    : // look for wildcard at the end of the path\n    Path extends `${infer Rest}/*`\n    ? \"*\" | _PathParam<Rest>\n    : // look for params in the absence of wildcards\n      _PathParam<Path>;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey<Segment extends string> =\n  // if you could not find path params, fallback to `string`\n  [PathParam<Segment>] extends [never] ? string : PathParam<Segment>;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params<Key extends string = string> = {\n  readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n  ParamKey extends string = string,\n  RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n  /**\n   * The names and values of dynamic parameters in the URL.\n   */\n  params: Params<ParamKey>;\n  /**\n   * The portion of the URL pathname that was matched.\n   */\n  pathname: string;\n  /**\n   * The portion of the URL pathname that was matched before child routes.\n   */\n  pathnameBase: string;\n  /**\n   * The route object that was used to match.\n   */\n  route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n  extends AgnosticRouteMatch<string, AgnosticDataRouteObject> {}\n\nfunction isIndexRoute(\n  route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n  return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n  routes: AgnosticRouteObject[],\n  mapRouteProperties: MapRoutePropertiesFunction,\n  parentPath: number[] = [],\n  manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n  return routes.map((route, index) => {\n    let treePath = [...parentPath, index];\n    let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n    invariant(\n      route.index !== true || !route.children,\n      `Cannot specify children on an index route`\n    );\n    invariant(\n      !manifest[id],\n      `Found a route id collision on id \"${id}\".  Route ` +\n        \"id's must be globally unique within Data Router usages\"\n    );\n\n    if (isIndexRoute(route)) {\n      let indexRoute: AgnosticDataIndexRouteObject = {\n        ...route,\n        ...mapRouteProperties(route),\n        id,\n      };\n      manifest[id] = indexRoute;\n      return indexRoute;\n    } else {\n      let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n        ...route,\n        ...mapRouteProperties(route),\n        id,\n        children: undefined,\n      };\n      manifest[id] = pathOrLayoutRoute;\n\n      if (route.children) {\n        pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n          route.children,\n          mapRouteProperties,\n          treePath,\n          manifest\n        );\n      }\n\n      return pathOrLayoutRoute;\n    }\n  });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n  RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n  routes: RouteObjectType[],\n  locationArg: Partial<Location> | string,\n  basename = \"/\"\n): AgnosticRouteMatch<string, RouteObjectType>[] | null {\n  let location =\n    typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n  let pathname = stripBasename(location.pathname || \"/\", basename);\n\n  if (pathname == null) {\n    return null;\n  }\n\n  let branches = flattenRoutes(routes);\n  rankRouteBranches(branches);\n\n  let matches = null;\n  for (let i = 0; matches == null && i < branches.length; ++i) {\n    matches = matchRouteBranch<string, RouteObjectType>(\n      branches[i],\n      // Incoming pathnames are generally encoded from either window.location\n      // or from router.navigate, but we want to match against the unencoded\n      // paths in the route definitions.  Memory router locations won't be\n      // encoded here but there also shouldn't be anything to decode so this\n      // should be a safe operation.  This avoids needing matchRoutes to be\n      // history-aware.\n      safelyDecodeURI(pathname)\n    );\n  }\n\n  return matches;\n}\n\nexport interface UIMatch<Data = unknown, Handle = unknown> {\n  id: string;\n  pathname: string;\n  params: AgnosticRouteMatch[\"params\"];\n  data: Data;\n  handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n  match: AgnosticDataRouteMatch,\n  loaderData: RouteData\n): UIMatch {\n  let { route, pathname, params } = match;\n  return {\n    id: route.id,\n    pathname,\n    params,\n    data: loaderData[route.id],\n    handle: route.handle,\n  };\n}\n\ninterface RouteMeta<\n  RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n  relativePath: string;\n  caseSensitive: boolean;\n  childrenIndex: number;\n  route: RouteObjectType;\n}\n\ninterface RouteBranch<\n  RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n  path: string;\n  score: number;\n  routesMeta: RouteMeta<RouteObjectType>[];\n}\n\nfunction flattenRoutes<\n  RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n  routes: RouteObjectType[],\n  branches: RouteBranch<RouteObjectType>[] = [],\n  parentsMeta: RouteMeta<RouteObjectType>[] = [],\n  parentPath = \"\"\n): RouteBranch<RouteObjectType>[] {\n  let flattenRoute = (\n    route: RouteObjectType,\n    index: number,\n    relativePath?: string\n  ) => {\n    let meta: RouteMeta<RouteObjectType> = {\n      relativePath:\n        relativePath === undefined ? route.path || \"\" : relativePath,\n      caseSensitive: route.caseSensitive === true,\n      childrenIndex: index,\n      route,\n    };\n\n    if (meta.relativePath.startsWith(\"/\")) {\n      invariant(\n        meta.relativePath.startsWith(parentPath),\n        `Absolute route path \"${meta.relativePath}\" nested under path ` +\n          `\"${parentPath}\" is not valid. An absolute child route path ` +\n          `must start with the combined path of all its parent routes.`\n      );\n\n      meta.relativePath = meta.relativePath.slice(parentPath.length);\n    }\n\n    let path = joinPaths([parentPath, meta.relativePath]);\n    let routesMeta = parentsMeta.concat(meta);\n\n    // Add the children before adding this route to the array, so we traverse the\n    // route tree depth-first and child routes appear before their parents in\n    // the \"flattened\" version.\n    if (route.children && route.children.length > 0) {\n      invariant(\n        // Our types know better, but runtime JS may not!\n        // @ts-expect-error\n        route.index !== true,\n        `Index routes must not have child routes. Please remove ` +\n          `all child routes from route path \"${path}\".`\n      );\n\n      flattenRoutes(route.children, branches, routesMeta, path);\n    }\n\n    // Routes without a path shouldn't ever match by themselves unless they are\n    // index routes, so don't add them to the list of possible branches.\n    if (route.path == null && !route.index) {\n      return;\n    }\n\n    branches.push({\n      path,\n      score: computeScore(path, route.index),\n      routesMeta,\n    });\n  };\n  routes.forEach((route, index) => {\n    // coarse-grain check for optional params\n    if (route.path === \"\" || !route.path?.includes(\"?\")) {\n      flattenRoute(route, index);\n    } else {\n      for (let exploded of explodeOptionalSegments(route.path)) {\n        flattenRoute(route, index, exploded);\n      }\n    }\n  });\n\n  return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n  let segments = path.split(\"/\");\n  if (segments.length === 0) return [];\n\n  let [first, ...rest] = segments;\n\n  // Optional path segments are denoted by a trailing `?`\n  let isOptional = first.endsWith(\"?\");\n  // Compute the corresponding required segment: `foo?` -> `foo`\n  let required = first.replace(/\\?$/, \"\");\n\n  if (rest.length === 0) {\n    // Intepret empty string as omitting an optional segment\n    // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n    return isOptional ? [required, \"\"] : [required];\n  }\n\n  let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n  let result: string[] = [];\n\n  // All child paths with the prefix.  Do this for all children before the\n  // optional version for all children, so we get consistent ordering where the\n  // parent optional aspect is preferred as required.  Otherwise, we can get\n  // child sections interspersed where deeper optional segments are higher than\n  // parent optional segments, where for example, /:two would explode _earlier_\n  // then /:one.  By always including the parent as required _for all children_\n  // first, we avoid this issue\n  result.push(\n    ...restExploded.map((subpath) =>\n      subpath === \"\" ? required : [required, subpath].join(\"/\")\n    )\n  );\n\n  // Then, if this is an optional value, add all child versions without\n  if (isOptional) {\n    result.push(...restExploded);\n  }\n\n  // for absolute paths, ensure `/` instead of empty segment\n  return result.map((exploded) =>\n    path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n  );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n  branches.sort((a, b) =>\n    a.score !== b.score\n      ? b.score - a.score // Higher score first\n      : compareIndexes(\n          a.routesMeta.map((meta) => meta.childrenIndex),\n          b.routesMeta.map((meta) => meta.childrenIndex)\n        )\n  );\n}\n\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n  let segments = path.split(\"/\");\n  let initialScore = segments.length;\n  if (segments.some(isSplat)) {\n    initialScore += splatPenalty;\n  }\n\n  if (index) {\n    initialScore += indexRouteValue;\n  }\n\n  return segments\n    .filter((s) => !isSplat(s))\n    .reduce(\n      (score, segment) =>\n        score +\n        (paramRe.test(segment)\n          ? dynamicSegmentValue\n          : segment === \"\"\n          ? emptySegmentValue\n          : staticSegmentValue),\n      initialScore\n    );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n  let siblings =\n    a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n  return siblings\n    ? // If two routes are siblings, we should try to match the earlier sibling\n      // first. This allows people to have fine-grained control over the matching\n      // behavior by simply putting routes with identical paths in the order they\n      // want them tried.\n      a[a.length - 1] - b[b.length - 1]\n    : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n      // so they sort equally.\n      0;\n}\n\nfunction matchRouteBranch<\n  ParamKey extends string = string,\n  RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n  branch: RouteBranch<RouteObjectType>,\n  pathname: string\n): AgnosticRouteMatch<ParamKey, RouteObjectType>[] | null {\n  let { routesMeta } = branch;\n\n  let matchedParams = {};\n  let matchedPathname = \"/\";\n  let matches: AgnosticRouteMatch<ParamKey, RouteObjectType>[] = [];\n  for (let i = 0; i < routesMeta.length; ++i) {\n    let meta = routesMeta[i];\n    let end = i === routesMeta.length - 1;\n    let remainingPathname =\n      matchedPathname === \"/\"\n        ? pathname\n        : pathname.slice(matchedPathname.length) || \"/\";\n    let match = matchPath(\n      { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n      remainingPathname\n    );\n\n    if (!match) return null;\n\n    Object.assign(matchedParams, match.params);\n\n    let route = meta.route;\n\n    matches.push({\n      // TODO: Can this as be avoided?\n      params: matchedParams as Params<ParamKey>,\n      pathname: joinPaths([matchedPathname, match.pathname]),\n      pathnameBase: normalizePathname(\n        joinPaths([matchedPathname, match.pathnameBase])\n      ),\n      route,\n    });\n\n    if (match.pathnameBase !== \"/\") {\n      matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n    }\n  }\n\n  return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath<Path extends string>(\n  originalPath: Path,\n  params: {\n    [key in PathParam<Path>]: string | null;\n  } = {} as any\n): string {\n  let path: string = originalPath;\n  if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n    warning(\n      false,\n      `Route path \"${path}\" will be treated as if it were ` +\n        `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n        `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n        `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n    );\n    path = path.replace(/\\*$/, \"/*\") as Path;\n  }\n\n  // ensure `/` is added at the beginning if the path is absolute\n  const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n  const stringify = (p: any) =>\n    p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n  const segments = path\n    .split(/\\/+/)\n    .map((segment, index, array) => {\n      const isLastSegment = index === array.length - 1;\n\n      // only apply the splat if it's the last segment\n      if (isLastSegment && segment === \"*\") {\n        const star = \"*\" as PathParam<Path>;\n        // Apply the splat\n        return stringify(params[star]);\n      }\n\n      const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n      if (keyMatch) {\n        const [, key, optional] = keyMatch;\n        let param = params[key as PathParam<Path>];\n        invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n        return stringify(param);\n      }\n\n      // Remove any optional markers from optional static segments\n      return segment.replace(/\\?$/g, \"\");\n    })\n    // Remove empty segments\n    .filter((segment) => !!segment);\n\n  return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern<Path extends string = string> {\n  /**\n   * A string to match against a URL pathname. May contain `:id`-style segments\n   * to indicate placeholders for dynamic parameters. May also end with `/*` to\n   * indicate matching the rest of the URL pathname.\n   */\n  path: Path;\n  /**\n   * Should be `true` if the static portions of the `path` should be matched in\n   * the same case.\n   */\n  caseSensitive?: boolean;\n  /**\n   * Should be `true` if this pattern should match the entire URL pathname.\n   */\n  end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch<ParamKey extends string = string> {\n  /**\n   * The names and values of dynamic parameters in the URL.\n   */\n  params: Params<ParamKey>;\n  /**\n   * The portion of the URL pathname that was matched.\n   */\n  pathname: string;\n  /**\n   * The portion of the URL pathname that was matched before child routes.\n   */\n  pathnameBase: string;\n  /**\n   * The pattern that was used to match.\n   */\n  pattern: PathPattern;\n}\n\ntype Mutable<T> = {\n  -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n  ParamKey extends ParamParseKey<Path>,\n  Path extends string\n>(\n  pattern: PathPattern<Path> | Path,\n  pathname: string\n): PathMatch<ParamKey> | null {\n  if (typeof pattern === \"string\") {\n    pattern = { path: pattern, caseSensitive: false, end: true };\n  }\n\n  let [matcher, compiledParams] = compilePath(\n    pattern.path,\n    pattern.caseSensitive,\n    pattern.end\n  );\n\n  let match = pathname.match(matcher);\n  if (!match) return null;\n\n  let matchedPathname = match[0];\n  let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n  let captureGroups = match.slice(1);\n  let params: Params = compiledParams.reduce<Mutable<Params>>(\n    (memo, { paramName, isOptional }, index) => {\n      // We need to compute the pathnameBase here using the raw splat value\n      // instead of using params[\"*\"] later because it will be decoded then\n      if (paramName === \"*\") {\n        let splatValue = captureGroups[index] || \"\";\n        pathnameBase = matchedPathname\n          .slice(0, matchedPathname.length - splatValue.length)\n          .replace(/(.)\\/+$/, \"$1\");\n      }\n\n      const value = captureGroups[index];\n      if (isOptional && !value) {\n        memo[paramName] = undefined;\n      } else {\n        memo[paramName] = safelyDecodeURIComponent(value || \"\", paramName);\n      }\n      return memo;\n    },\n    {}\n  );\n\n  return {\n    params,\n    pathname: matchedPathname,\n    pathnameBase,\n    pattern,\n  };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n  path: string,\n  caseSensitive = false,\n  end = true\n): [RegExp, CompiledPathParam[]] {\n  warning(\n    path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n    `Route path \"${path}\" will be treated as if it were ` +\n      `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n      `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n      `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n  );\n\n  let params: CompiledPathParam[] = [];\n  let regexpSource =\n    \"^\" +\n    path\n      .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n      .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n      .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n      .replace(\n        /\\/:([\\w-]+)(\\?)?/g,\n        (_: string, paramName: string, isOptional) => {\n          params.push({ paramName, isOptional: isOptional != null });\n          return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n        }\n      );\n\n  if (path.endsWith(\"*\")) {\n    params.push({ paramName: \"*\" });\n    regexpSource +=\n      path === \"*\" || path === \"/*\"\n        ? \"(.*)$\" // Already matched the initial /, just match the rest\n        : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n  } else if (end) {\n    // When matching to the end, ignore trailing slashes\n    regexpSource += \"\\\\/*$\";\n  } else if (path !== \"\" && path !== \"/\") {\n    // If our path is non-empty and contains anything beyond an initial slash,\n    // then we have _some_ form of path in our regex, so we should expect to\n    // match only if we find the end of this path segment.  Look for an optional\n    // non-captured trailing slash (to match a portion of the URL) or the end\n    // of the path (if we've matched to the end).  We used to do this with a\n    // word boundary but that gives false positives on routes like\n    // /user-preferences since `-` counts as a word boundary.\n    regexpSource += \"(?:(?=\\\\/|$))\";\n  } else {\n    // Nothing to match for \"\" or \"/\"\n  }\n\n  let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n  return [matcher, params];\n}\n\nfunction safelyDecodeURI(value: string) {\n  try {\n    return decodeURI(value);\n  } catch (error) {\n    warning(\n      false,\n      `The URL path \"${value}\" could not be decoded because it is is a ` +\n        `malformed URL segment. This is probably due to a bad percent ` +\n        `encoding (${error}).`\n    );\n\n    return value;\n  }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n  try {\n    return decodeURIComponent(value);\n  } catch (error) {\n    warning(\n      false,\n      `The value for the URL param \"${paramName}\" will not be decoded because` +\n        ` the string \"${value}\" is a malformed URL segment. This is probably` +\n        ` due to a bad percent encoding (${error}).`\n    );\n\n    return value;\n  }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n  pathname: string,\n  basename: string\n): string | null {\n  if (basename === \"/\") return pathname;\n\n  if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n    return null;\n  }\n\n  // We want to leave trailing slash behavior in the user's control, so if they\n  // specify a basename with a trailing slash, we should support it\n  let startIndex = basename.endsWith(\"/\")\n    ? basename.length - 1\n    : basename.length;\n  let nextChar = pathname.charAt(startIndex);\n  if (nextChar && nextChar !== \"/\") {\n    // pathname does not start with basename/\n    return null;\n  }\n\n  return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n  let {\n    pathname: toPathname,\n    search = \"\",\n    hash = \"\",\n  } = typeof to === \"string\" ? parsePath(to) : to;\n\n  let pathname = toPathname\n    ? toPathname.startsWith(\"/\")\n      ? toPathname\n      : resolvePathname(toPathname, fromPathname)\n    : fromPathname;\n\n  return {\n    pathname,\n    search: normalizeSearch(search),\n    hash: normalizeHash(hash),\n  };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n  let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n  let relativeSegments = relativePath.split(\"/\");\n\n  relativeSegments.forEach((segment) => {\n    if (segment === \"..\") {\n      // Keep the root \"\" segment so the pathname starts at /\n      if (segments.length > 1) segments.pop();\n    } else if (segment !== \".\") {\n      segments.push(segment);\n    }\n  });\n\n  return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n  char: string,\n  field: string,\n  dest: string,\n  path: Partial<Path>\n) {\n  return (\n    `Cannot include a '${char}' character in a manually specified ` +\n    `\\`to.${field}\\` field [${JSON.stringify(\n      path\n    )}].  Please separate it out to the ` +\n    `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n    `a string in <Link to=\"...\"> and the router will parse it for you.`\n  );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same.  Both of the following examples should link back to the root:\n *\n *   <Route path=\"/\">\n *     <Route path=\"accounts\" element={<Link to=\"..\"}>\n *   </Route>\n *\n *   <Route path=\"/\">\n *     <Route path=\"accounts\">\n *       <Route element={<AccountsLayout />}>       // <-- Does not contribute\n *         <Route index element={<Link to=\"..\"} />  // <-- Does not contribute\n *       </Route\n *     </Route>\n *   </Route>\n */\nexport function getPathContributingMatches<\n  T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n  return matches.filter(\n    (match, index) =>\n      index === 0 || (match.route.path && match.route.path.length > 0)\n  );\n}\n\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nexport function getResolveToMatches<\n  T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[], v7_relativeSplatPath: boolean) {\n  let pathMatches = getPathContributingMatches(matches);\n\n  // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n  // match so we include splat values for \".\" links.  See:\n  // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n  if (v7_relativeSplatPath) {\n    return pathMatches.map((match, idx) =>\n      idx === matches.length - 1 ? match.pathname : match.pathnameBase\n    );\n  }\n\n  return pathMatches.map((match) => match.pathnameBase);\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n  toArg: To,\n  routePathnames: string[],\n  locationPathname: string,\n  isPathRelative = false\n): Path {\n  let to: Partial<Path>;\n  if (typeof toArg === \"string\") {\n    to = parsePath(toArg);\n  } else {\n    to = { ...toArg };\n\n    invariant(\n      !to.pathname || !to.pathname.includes(\"?\"),\n      getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n    );\n    invariant(\n      !to.pathname || !to.pathname.includes(\"#\"),\n      getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n    );\n    invariant(\n      !to.search || !to.search.includes(\"#\"),\n      getInvalidPathError(\"#\", \"search\", \"hash\", to)\n    );\n  }\n\n  let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n  let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n  let from: string;\n\n  // Routing is relative to the current pathname if explicitly requested.\n  //\n  // If a pathname is explicitly provided in `to`, it should be relative to the\n  // route context. This is explained in `Note on `<Link to>` values` in our\n  // migration guide from v5 as a means of disambiguation between `to` values\n  // that begin with `/` and those that do not. However, this is problematic for\n  // `to` values that do not provide a pathname. `to` can simply be a search or\n  // hash string, in which case we should assume that the navigation is relative\n  // to the current location's pathname and *not* the route pathname.\n  if (toPathname == null) {\n    from = locationPathname;\n  } else {\n    let routePathnameIndex = routePathnames.length - 1;\n\n    // With relative=\"route\" (the default), each leading .. segment means\n    // \"go up one route\" instead of \"go up one URL segment\".  This is a key\n    // difference from how <a href> works and a major reason we call this a\n    // \"to\" value instead of a \"href\".\n    if (!isPathRelative && toPathname.startsWith(\"..\")) {\n      let toSegments = toPathname.split(\"/\");\n\n      while (toSegments[0] === \"..\") {\n        toSegments.shift();\n        routePathnameIndex -= 1;\n      }\n\n      to.pathname = toSegments.join(\"/\");\n    }\n\n    from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n  }\n\n  let path = resolvePath(to, from);\n\n  // Ensure the pathname has a trailing slash if the original \"to\" had one\n  let hasExplicitTrailingSlash =\n    toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n  // Or if this was a link to the current path which has a trailing slash\n  let hasCurrentTrailingSlash =\n    (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n  if (\n    !path.pathname.endsWith(\"/\") &&\n    (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n  ) {\n    path.pathname += \"/\";\n  }\n\n  return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n  // Empty strings should be treated the same as / paths\n  return to === \"\" || (to as Path).pathname === \"\"\n    ? \"/\"\n    : typeof to === \"string\"\n    ? parsePath(to).pathname\n    : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n  paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n  pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n  !search || search === \"?\"\n    ? \"\"\n    : search.startsWith(\"?\")\n    ? search\n    : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n  !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = <Data>(\n  data: Data,\n  init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n  let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n  let headers = new Headers(responseInit.headers);\n  if (!headers.has(\"Content-Type\")) {\n    headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n  }\n\n  return new Response(JSON.stringify(data), {\n    ...responseInit,\n    headers,\n  });\n};\n\nexport interface TrackedPromise extends Promise<any> {\n  _tracked?: boolean;\n  _data?: any;\n  _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n  private pendingKeysSet: Set<string> = new Set<string>();\n  private controller: AbortController;\n  private abortPromise: Promise<void>;\n  private unlistenAbortSignal: () => void;\n  private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n    new Set();\n  data: Record<string, unknown>;\n  init?: ResponseInit;\n  deferredKeys: string[] = [];\n\n  constructor(data: Record<string, unknown>, responseInit?: ResponseInit) {\n    invariant(\n      data && typeof data === \"object\" && !Array.isArray(data),\n      \"defer() only accepts plain objects\"\n    );\n\n    // Set up an AbortController + Promise we can race against to exit early\n    // cancellation\n    let reject: (e: AbortedDeferredError) => void;\n    this.abortPromise = new Promise((_, r) => (reject = r));\n    this.controller = new AbortController();\n    let onAbort = () =>\n      reject(new AbortedDeferredError(\"Deferred data aborted\"));\n    this.unlistenAbortSignal = () =>\n      this.controller.signal.removeEventListener(\"abort\", onAbort);\n    this.controller.signal.addEventListener(\"abort\", onAbort);\n\n    this.data = Object.entries(data).reduce(\n      (acc, [key, value]) =>\n        Object.assign(acc, {\n          [key]: this.trackPromise(key, value),\n        }),\n      {}\n    );\n\n    if (this.done) {\n      // All incoming values were resolved\n      this.unlistenAbortSignal();\n    }\n\n    this.init = responseInit;\n  }\n\n  private trackPromise(\n    key: string,\n    value: Promise<unknown> | unknown\n  ): TrackedPromise | unknown {\n    if (!(value instanceof Promise)) {\n      return value;\n    }\n\n    this.deferredKeys.push(key);\n    this.pendingKeysSet.add(key);\n\n    // We store a little wrapper promise that will be extended with\n    // _data/_error props upon resolve/reject\n    let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n      (data) => this.onSettle(promise, key, undefined, data as unknown),\n      (error) => this.onSettle(promise, key, error as unknown)\n    );\n\n    // Register rejection listeners to avoid uncaught promise rejections on\n    // errors or aborted deferred values\n    promise.catch(() => {});\n\n    Object.defineProperty(promise, \"_tracked\", { get: () => true });\n    return promise;\n  }\n\n  private onSettle(\n    promise: TrackedPromise,\n    key: string,\n    error: unknown,\n    data?: unknown\n  ): unknown {\n    if (\n      this.controller.signal.aborted &&\n      error instanceof AbortedDeferredError\n    ) {\n      this.unlistenAbortSignal();\n      Object.defineProperty(promise, \"_error\", { get: () => error });\n      return Promise.reject(error);\n    }\n\n    this.pendingKeysSet.delete(key);\n\n    if (this.done) {\n      // Nothing left to abort!\n      this.unlistenAbortSignal();\n    }\n\n    // If the promise was resolved/rejected with undefined, we'll throw an error as you\n    // should always resolve with a value or null\n    if (error === undefined && data === undefined) {\n      let undefinedError = new Error(\n        `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n          `you must resolve/reject with a value or \\`null\\`.`\n      );\n      Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n      this.emit(false, key);\n      return Promise.reject(undefinedError);\n    }\n\n    if (data === undefined) {\n      Object.defineProperty(promise, \"_error\", { get: () => error });\n      this.emit(false, key);\n      return Promise.reject(error);\n    }\n\n    Object.defineProperty(promise, \"_data\", { get: () => data });\n    this.emit(false, key);\n    return data;\n  }\n\n  private emit(aborted: boolean, settledKey?: string) {\n    this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n  }\n\n  subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n    this.subscribers.add(fn);\n    return () => this.subscribers.delete(fn);\n  }\n\n  cancel() {\n    this.controller.abort();\n    this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n    this.emit(true);\n  }\n\n  async resolveData(signal: AbortSignal) {\n    let aborted = false;\n    if (!this.done) {\n      let onAbort = () => this.cancel();\n      signal.addEventListener(\"abort\", onAbort);\n      aborted = await new Promise((resolve) => {\n        this.subscribe((aborted) => {\n          signal.removeEventListener(\"abort\", onAbort);\n          if (aborted || this.done) {\n            resolve(aborted);\n          }\n        });\n      });\n    }\n    return aborted;\n  }\n\n  get done() {\n    return this.pendingKeysSet.size === 0;\n  }\n\n  get unwrappedData() {\n    invariant(\n      this.data !== null && this.done,\n      \"Can only unwrap data on initialized and settled deferreds\"\n    );\n\n    return Object.entries(this.data).reduce(\n      (acc, [key, value]) =>\n        Object.assign(acc, {\n          [key]: unwrapTrackedPromise(value),\n        }),\n      {}\n    );\n  }\n\n  get pendingKeys() {\n    return Array.from(this.pendingKeysSet);\n  }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n  return (\n    value instanceof Promise && (value as TrackedPromise)._tracked === true\n  );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n  if (!isTrackedPromise(value)) {\n    return value;\n  }\n\n  if (value._error) {\n    throw value._error;\n  }\n  return value._data;\n}\n\nexport type DeferFunction = (\n  data: Record<string, unknown>,\n  init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n  let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n  return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n  url: string,\n  init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n  let responseInit = init;\n  if (typeof responseInit === \"number\") {\n    responseInit = { status: responseInit };\n  } else if (typeof responseInit.status === \"undefined\") {\n    responseInit.status = 302;\n  }\n\n  let headers = new Headers(responseInit.headers);\n  headers.set(\"Location\", url);\n\n  return new Response(null, {\n    ...responseInit,\n    headers,\n  });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n  let response = redirect(url, init);\n  response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n  return response;\n};\n\nexport type ErrorResponse = {\n  status: number;\n  statusText: string;\n  data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\n  status: number;\n  statusText: string;\n  data: any;\n  private error?: Error;\n  private internal: boolean;\n\n  constructor(\n    status: number,\n    statusText: string | undefined,\n    data: any,\n    internal = false\n  ) {\n    this.status = status;\n    this.statusText = statusText || \"\";\n    this.internal = internal;\n    if (data instanceof Error) {\n      this.data = data.toString();\n      this.error = data;\n    } else {\n      this.data = data;\n    }\n  }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n  return (\n    error != null &&\n    typeof error.status === \"number\" &&\n    typeof error.statusText === \"string\" &&\n    typeof error.internal === \"boolean\" &&\n    \"data\" in error\n  );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n  Action as HistoryAction,\n  createLocation,\n  createPath,\n  invariant,\n  parsePath,\n  warning,\n} from \"./history\";\nimport type {\n  ActionFunction,\n  AgnosticDataRouteMatch,\n  AgnosticDataRouteObject,\n  AgnosticRouteObject,\n  DataResult,\n  DeferredData,\n  DeferredResult,\n  DetectErrorBoundaryFunction,\n  ErrorResult,\n  FormEncType,\n  FormMethod,\n  HTMLFormMethod,\n  ImmutableRouteKey,\n  LoaderFunction,\n  MapRoutePropertiesFunction,\n  MutationFormMethod,\n  RedirectResult,\n  RouteData,\n  RouteManifest,\n  ShouldRevalidateFunctionArgs,\n  Submission,\n  SuccessResult,\n  UIMatch,\n  V7_FormMethod,\n  V7_MutationFormMethod,\n} from \"./utils\";\nimport {\n  ErrorResponseImpl,\n  ResultType,\n  convertRouteMatchToUiMatch,\n  convertRoutesToDataRoutes,\n  getPathContributingMatches,\n  getResolveToMatches,\n  immutableRouteKeys,\n  isRouteErrorResponse,\n  joinPaths,\n  matchRoutes,\n  resolveTo,\n  stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Return the basename for the router\n   */\n  get basename(): RouterInit[\"basename\"];\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Return the future config for the router\n   */\n  get future(): FutureConfig;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Return the current state of the router\n   */\n  get state(): RouterState;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Return the routes for this router instance\n   */\n  get routes(): AgnosticDataRouteObject[];\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Return the window associated with the router\n   */\n  get window(): RouterInit[\"window\"];\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Initialize the router, including adding history listeners and kicking off\n   * initial data fetches.  Returns a function to cleanup listeners and abort\n   * any in-progress loads\n   */\n  initialize(): Router;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Subscribe to router.state updates\n   *\n   * @param fn function to call with the new state\n   */\n  subscribe(fn: RouterSubscriber): () => void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Enable scroll restoration behavior in the router\n   *\n   * @param savedScrollPositions Object that will manage positions, in case\n   *                             it's being restored from sessionStorage\n   * @param getScrollPosition    Function to get the active Y scroll position\n   * @param getKey               Function to get the key to use for restoration\n   */\n  enableScrollRestoration(\n    savedScrollPositions: Record<string, number>,\n    getScrollPosition: GetScrollPositionFunction,\n    getKey?: GetScrollRestorationKeyFunction\n  ): () => void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Navigate forward/backward in the history stack\n   * @param to Delta to move in the history stack\n   */\n  navigate(to: number): Promise<void>;\n\n  /**\n   * Navigate to the given path\n   * @param to Path to navigate to\n   * @param opts Navigation options (method, submission, etc.)\n   */\n  navigate(to: To | null, opts?: RouterNavigateOptions): Promise<void>;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Trigger a fetcher load/submission\n   *\n   * @param key     Fetcher key\n   * @param routeId Route that owns the fetcher\n   * @param href    href to fetch\n   * @param opts    Fetcher options, (method, submission, etc.)\n   */\n  fetch(\n    key: string,\n    routeId: string,\n    href: string | null,\n    opts?: RouterFetchOptions\n  ): void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Trigger a revalidation of all current route loaders and fetcher loads\n   */\n  revalidate(): void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Utility function to create an href for the given location\n   * @param location\n   */\n  createHref(location: Location | URL): string;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Utility function to URL encode a destination path according to the internal\n   * history implementation\n   * @param to\n   */\n  encodeLocation(to: To): Path;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Get/create a fetcher for the given key\n   * @param key\n   */\n  getFetcher<TData = any>(key: string): Fetcher<TData>;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Delete the fetcher for a given key\n   * @param key\n   */\n  deleteFetcher(key: string): void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Cleanup listeners and abort any in-progress loads\n   */\n  dispose(): void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Get a navigation blocker\n   * @param key The identifier for the blocker\n   * @param fn The blocker function implementation\n   */\n  getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Delete a navigation blocker\n   * @param key The identifier for the blocker\n   */\n  deleteBlocker(key: string): void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * HMR needs to pass in-flight route updates to React Router\n   * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n   */\n  _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Internal fetch AbortControllers accessed by unit tests\n   */\n  _internalFetchControllers: Map<string, AbortController>;\n\n  /**\n   * @internal\n   * PRIVATE - DO NOT USE\n   *\n   * Internal pending DeferredData instances accessed by unit tests\n   */\n  _internalActiveDeferreds: Map<string, DeferredData>;\n}\n\n/**\n * State maintained internally by the router.  During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n  /**\n   * The action of the most recent navigation\n   */\n  historyAction: HistoryAction;\n\n  /**\n   * The current location reflected by the router\n   */\n  location: Location;\n\n  /**\n   * The current set of route matches\n   */\n  matches: AgnosticDataRouteMatch[];\n\n  /**\n   * Tracks whether we've completed our initial data load\n   */\n  initialized: boolean;\n\n  /**\n   * Current scroll position we should start at for a new view\n   *  - number -> scroll position to restore to\n   *  - false -> do not restore scroll at all (used during submissions)\n   *  - null -> don't have a saved position, scroll to hash or top of page\n   */\n  restoreScrollPosition: number | false | null;\n\n  /**\n   * Indicate whether this navigation should skip resetting the scroll position\n   * if we are unable to restore the scroll position\n   */\n  preventScrollReset: boolean;\n\n  /**\n   * Tracks the state of the current navigation\n   */\n  navigation: Navigation;\n\n  /**\n   * Tracks any in-progress revalidations\n   */\n  revalidation: RevalidationState;\n\n  /**\n   * Data from the loaders for the current matches\n   */\n  loaderData: RouteData;\n\n  /**\n   * Data from the action for the current matches\n   */\n  actionData: RouteData | null;\n\n  /**\n   * Errors caught from loaders for the current matches\n   */\n  errors: RouteData | null;\n\n  /**\n   * Map of current fetchers\n   */\n  fetchers: Map<string, Fetcher>;\n\n  /**\n   * Map of current blockers\n   */\n  blockers: Map<string, Blocker>;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n  Pick<RouterState, \"loaderData\" | \"actionData\" | \"errors\">\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n  v7_fetcherPersist: boolean;\n  v7_normalizeFormMethod: boolean;\n  v7_partialHydration: boolean;\n  v7_prependBasename: boolean;\n  v7_relativeSplatPath: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n  routes: AgnosticRouteObject[];\n  history: History;\n  basename?: string;\n  /**\n   * @deprecated Use `mapRouteProperties` instead\n   */\n  detectErrorBoundary?: DetectErrorBoundaryFunction;\n  mapRouteProperties?: MapRoutePropertiesFunction;\n  future?: Partial<FutureConfig>;\n  hydrationData?: HydrationState;\n  window?: Window;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n  basename: Router[\"basename\"];\n  location: RouterState[\"location\"];\n  matches: RouterState[\"matches\"];\n  loaderData: RouterState[\"loaderData\"];\n  actionData: RouterState[\"actionData\"];\n  errors: RouterState[\"errors\"];\n  statusCode: number;\n  loaderHeaders: Record<string, Headers>;\n  actionHeaders: Record<string, Headers>;\n  activeDeferreds: Record<string, DeferredData> | null;\n  _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n  dataRoutes: AgnosticDataRouteObject[];\n  query(\n    request: Request,\n    opts?: { requestContext?: unknown }\n  ): Promise<StaticHandlerContext | Response>;\n  queryRoute(\n    request: Request,\n    opts?: { routeId?: string; requestContext?: unknown }\n  ): Promise<any>;\n}\n\ntype ViewTransitionOpts = {\n  currentLocation: Location;\n  nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n  (\n    state: RouterState,\n    opts: {\n      deletedFetchers: string[];\n      unstable_viewTransitionOpts?: ViewTransitionOpts;\n      unstable_flushSync: boolean;\n    }\n  ): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n  (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n  (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n  preventScrollReset?: boolean;\n  relative?: RelativeRoutingType;\n  unstable_flushSync?: boolean;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n  replace?: boolean;\n  state?: any;\n  fromRouteId?: string;\n  unstable_viewTransition?: boolean;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n  formMethod?: HTMLFormMethod;\n  formEncType?: FormEncType;\n} & (\n  | { formData: FormData; body?: undefined }\n  | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n  | LinkNavigateOptions\n  | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n  Idle: {\n    state: \"idle\";\n    location: undefined;\n    formMethod: undefined;\n    formAction: undefined;\n    formEncType: undefined;\n    formData: undefined;\n    json: undefined;\n    text: undefined;\n  };\n  Loading: {\n    state: \"loading\";\n    location: Location;\n    formMethod: Submission[\"formMethod\"] | undefined;\n    formAction: Submission[\"formAction\"] | undefined;\n    formEncType: Submission[\"formEncType\"] | undefined;\n    formData: Submission[\"formData\"] | undefined;\n    json: Submission[\"json\"] | undefined;\n    text: Submission[\"text\"] | undefined;\n  };\n  Submitting: {\n    state: \"submitting\";\n    location: Location;\n    formMethod: Submission[\"formMethod\"];\n    formAction: Submission[\"formAction\"];\n    formEncType: Submission[\"formEncType\"];\n    formData: Submission[\"formData\"];\n    json: Submission[\"json\"];\n    text: Submission[\"text\"];\n  };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates<TData = any> = {\n  Idle: {\n    state: \"idle\";\n    formMethod: undefined;\n    formAction: undefined;\n    formEncType: undefined;\n    text: undefined;\n    formData: undefined;\n    json: undefined;\n    data: TData | undefined;\n  };\n  Loading: {\n    state: \"loading\";\n    formMethod: Submission[\"formMethod\"] | undefined;\n    formAction: Submission[\"formAction\"] | undefined;\n    formEncType: Submission[\"formEncType\"] | undefined;\n    text: Submission[\"text\"] | undefined;\n    formData: Submission[\"formData\"] | undefined;\n    json: Submission[\"json\"] | undefined;\n    data: TData | undefined;\n  };\n  Submitting: {\n    state: \"submitting\";\n    formMethod: Submission[\"formMethod\"];\n    formAction: Submission[\"formAction\"];\n    formEncType: Submission[\"formEncType\"];\n    text: Submission[\"text\"];\n    formData: Submission[\"formData\"];\n    json: Submission[\"json\"];\n    data: TData | undefined;\n  };\n};\n\nexport type Fetcher<TData = any> =\n  FetcherStates<TData>[keyof FetcherStates<TData>];\n\ninterface BlockerBlocked {\n  state: \"blocked\";\n  reset(): void;\n  proceed(): void;\n  location: Location;\n}\n\ninterface BlockerUnblocked {\n  state: \"unblocked\";\n  reset: undefined;\n  proceed: undefined;\n  location: undefined;\n}\n\ninterface BlockerProceeding {\n  state: \"proceeding\";\n  reset: undefined;\n  proceed: undefined;\n  location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n  currentLocation: Location;\n  nextLocation: Location;\n  historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n  /**\n   * startNavigation does not need to complete the navigation because we\n   * redirected or got interrupted\n   */\n  shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n  /**\n   * Error thrown from the current action, keyed by the route containing the\n   * error boundary to render the error.  To be committed to the state after\n   * loaders have completed\n   */\n  pendingActionError?: RouteData;\n  /**\n   * Data returned from the current action, keyed by the route owning the action.\n   * To be committed to the state after loaders have completed\n   */\n  pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n  /**\n   * loaderData returned from the current set of loaders\n   */\n  loaderData?: RouterState[\"loaderData\"];\n  /**\n   * errors thrown from the current set of loaders\n   */\n  errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n  routeId: string;\n  path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n  key: string;\n  match: AgnosticDataRouteMatch | null;\n  matches: AgnosticDataRouteMatch[] | null;\n  controller: AbortController | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n  type: ResultType.data | ResultType.error;\n  response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n  \"post\",\n  \"put\",\n  \"patch\",\n  \"delete\",\n];\nconst validMutationMethods = new Set<MutationFormMethod>(\n  validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n  \"get\",\n  ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set<FormMethod>(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n  state: \"idle\",\n  location: undefined,\n  formMethod: undefined,\n  formAction: undefined,\n  formEncType: undefined,\n  formData: undefined,\n  json: undefined,\n  text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n  state: \"idle\",\n  data: undefined,\n  formMethod: undefined,\n  formAction: undefined,\n  formEncType: undefined,\n  formData: undefined,\n  json: undefined,\n  text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n  state: \"unblocked\",\n  proceed: undefined,\n  reset: undefined,\n  location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n  hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n  const routerWindow = init.window\n    ? init.window\n    : typeof window !== \"undefined\"\n    ? window\n    : undefined;\n  const isBrowser =\n    typeof routerWindow !== \"undefined\" &&\n    typeof routerWindow.document !== \"undefined\" &&\n    typeof routerWindow.document.createElement !== \"undefined\";\n  const isServer = !isBrowser;\n\n  invariant(\n    init.routes.length > 0,\n    \"You must provide a non-empty routes array to createRouter\"\n  );\n\n  let mapRouteProperties: MapRoutePropertiesFunction;\n  if (init.mapRouteProperties) {\n    mapRouteProperties = init.mapRouteProperties;\n  } else if (init.detectErrorBoundary) {\n    // If they are still using the deprecated version, wrap it with the new API\n    let detectErrorBoundary = init.detectErrorBoundary;\n    mapRouteProperties = (route) => ({\n      hasErrorBoundary: detectErrorBoundary(route),\n    });\n  } else {\n    mapRouteProperties = defaultMapRouteProperties;\n  }\n\n  // Routes keyed by ID\n  let manifest: RouteManifest = {};\n  // Routes in tree format for matching\n  let dataRoutes = convertRoutesToDataRoutes(\n    init.routes,\n    mapRouteProperties,\n    undefined,\n    manifest\n  );\n  let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n  let basename = init.basename || \"/\";\n  // Config driven behavior flags\n  let future: FutureConfig = {\n    v7_fetcherPersist: false,\n    v7_normalizeFormMethod: false,\n    v7_partialHydration: false,\n    v7_prependBasename: false,\n    v7_relativeSplatPath: false,\n    ...init.future,\n  };\n  // Cleanup function for history\n  let unlistenHistory: (() => void) | null = null;\n  // Externally-provided functions to call on all state changes\n  let subscribers = new Set<RouterSubscriber>();\n  // Externally-provided object to hold scroll restoration locations during routing\n  let savedScrollPositions: Record<string, number> | null = null;\n  // Externally-provided function to get scroll restoration keys\n  let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n  // Externally-provided function to get current scroll position\n  let getScrollPosition: GetScrollPositionFunction | null = null;\n  // One-time flag to control the initial hydration scroll restoration.  Because\n  // we don't get the saved positions from <ScrollRestoration /> until _after_\n  // the initial render, we need to manually trigger a separate updateState to\n  // send along the restoreScrollPosition\n  // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n  // SSR did the initial scroll restoration.\n  let initialScrollRestored = init.hydrationData != null;\n\n  let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n  let initialErrors: RouteData | null = null;\n\n  if (initialMatches == null) {\n    // If we do not match a user-provided-route, fall back to the root\n    // to allow the error boundary to take over\n    let error = getInternalRouterError(404, {\n      pathname: init.history.location.pathname,\n    });\n    let { matches, route } = getShortCircuitMatches(dataRoutes);\n    initialMatches = matches;\n    initialErrors = { [route.id]: error };\n  }\n\n  let initialized: boolean;\n  let hasLazyRoutes = initialMatches.some((m) => m.route.lazy);\n  let hasLoaders = initialMatches.some((m) => m.route.loader);\n  if (hasLazyRoutes) {\n    // All initialMatches need to be loaded before we're ready.  If we have lazy\n    // functions around still then we'll need to run them in initialize()\n    initialized = false;\n  } else if (!hasLoaders) {\n    // If we've got no loaders to run, then we're good to go\n    initialized = true;\n  } else if (future.v7_partialHydration) {\n    // If partial hydration is enabled, we're initialized so long as we were\n    // provided with hydrationData for every route with a loader, and no loaders\n    // were marked for explicit hydration\n    let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n    let errors = init.hydrationData ? init.hydrationData.errors : null;\n    initialized = initialMatches.every(\n      (m) =>\n        m.route.loader &&\n        m.route.loader.hydrate !== true &&\n        ((loaderData && loaderData[m.route.id] !== undefined) ||\n          (errors && errors[m.route.id] !== undefined))\n    );\n  } else {\n    // Without partial hydration - we're initialized if we were provided any\n    // hydrationData - which is expected to be complete\n    initialized = init.hydrationData != null;\n  }\n\n  let router: Router;\n  let state: RouterState = {\n    historyAction: init.history.action,\n    location: init.history.location,\n    matches: initialMatches,\n    initialized,\n    navigation: IDLE_NAVIGATION,\n    // Don't restore on initial updateState() if we were SSR'd\n    restoreScrollPosition: init.hydrationData != null ? false : null,\n    preventScrollReset: false,\n    revalidation: \"idle\",\n    loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n    actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n    errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n    fetchers: new Map(),\n    blockers: new Map(),\n  };\n\n  // -- Stateful internal variables to manage navigations --\n  // Current navigation in progress (to be committed in completeNavigation)\n  let pendingAction: HistoryAction = HistoryAction.Pop;\n\n  // Should the current navigation prevent the scroll reset if scroll cannot\n  // be restored?\n  let pendingPreventScrollReset = false;\n\n  // AbortController for the active navigation\n  let pendingNavigationController: AbortController | null;\n\n  // Should the current navigation enable document.startViewTransition?\n  let pendingViewTransitionEnabled = false;\n\n  // Store applied view transitions so we can apply them on POP\n  let appliedViewTransitions: Map<string, Set<string>> = new Map<\n    string,\n    Set<string>\n  >();\n\n  // Cleanup function for persisting applied transitions to sessionStorage\n  let removePageHideEventListener: (() => void) | null = null;\n\n  // We use this to avoid touching history in completeNavigation if a\n  // revalidation is entirely uninterrupted\n  let isUninterruptedRevalidation = false;\n\n  // Use this internal flag to force revalidation of all loaders:\n  //  - submissions (completed or interrupted)\n  //  - useRevalidator()\n  //  - X-Remix-Revalidate (from redirect)\n  let isRevalidationRequired = false;\n\n  // Use this internal array to capture routes that require revalidation due\n  // to a cancelled deferred on action submission\n  let cancelledDeferredRoutes: string[] = [];\n\n  // Use this internal array to capture fetcher loads that were cancelled by an\n  // action navigation and require revalidation\n  let cancelledFetcherLoads: string[] = [];\n\n  // AbortControllers for any in-flight fetchers\n  let fetchControllers = new Map<string, AbortController>();\n\n  // Track loads based on the order in which they started\n  let incrementingLoadId = 0;\n\n  // Track the outstanding pending navigation data load to be compared against\n  // the globally incrementing load when a fetcher load lands after a completed\n  // navigation\n  let pendingNavigationLoadId = -1;\n\n  // Fetchers that triggered data reloads as a result of their actions\n  let fetchReloadIds = new Map<string, number>();\n\n  // Fetchers that triggered redirect navigations\n  let fetchRedirectIds = new Set<string>();\n\n  // Most recent href/match for fetcher.load calls for fetchers\n  let fetchLoadMatches = new Map<string, FetchLoadMatch>();\n\n  // Ref-count mounted fetchers so we know when it's ok to clean them up\n  let activeFetchers = new Map<string, number>();\n\n  // Fetchers that have requested a delete when using v7_fetcherPersist,\n  // they'll be officially removed after they return to idle\n  let deletedFetchers = new Set<string>();\n\n  // Store DeferredData instances for active route matches.  When a\n  // route loader returns defer() we stick one in here.  Then, when a nested\n  // promise resolves we update loaderData.  If a new navigation starts we\n  // cancel active deferreds for eliminated routes.\n  let activeDeferreds = new Map<string, DeferredData>();\n\n  // Store blocker functions in a separate Map outside of router state since\n  // we don't need to update UI state if they change\n  let blockerFunctions = new Map<string, BlockerFunction>();\n\n  // Flag to ignore the next history update, so we can revert the URL change on\n  // a POP navigation that was blocked by the user without touching router state\n  let ignoreNextHistoryUpdate = false;\n\n  // Initialize the router, all side effects should be kicked off from here.\n  // Implemented as a Fluent API for ease of:\n  //   let router = createRouter(init).initialize();\n  function initialize() {\n    // If history informs us of a POP navigation, start the navigation but do not update\n    // state.  We'll update our own state once the navigation completes\n    unlistenHistory = init.history.listen(\n      ({ action: historyAction, location, delta }) => {\n        // Ignore this event if it was just us resetting the URL from a\n        // blocked POP navigation\n        if (ignoreNextHistoryUpdate) {\n          ignoreNextHistoryUpdate = false;\n          return;\n        }\n\n        warning(\n          blockerFunctions.size === 0 || delta != null,\n          \"You are trying to use a blocker on a POP navigation to a location \" +\n            \"that was not created by @remix-run/router. This will fail silently in \" +\n            \"production. This can happen if you are navigating outside the router \" +\n            \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n            \"router navigation APIs.  This can also happen if you are using \" +\n            \"createHashRouter and the user manually changes the URL.\"\n        );\n\n        let blockerKey = shouldBlockNavigation({\n          currentLocation: state.location,\n          nextLocation: location,\n          historyAction,\n        });\n\n        if (blockerKey && delta != null) {\n          // Restore the URL to match the current UI, but don't update router state\n          ignoreNextHistoryUpdate = true;\n          init.history.go(delta * -1);\n\n          // Put the blocker into a blocked state\n          updateBlocker(blockerKey, {\n            state: \"blocked\",\n            location,\n            proceed() {\n              updateBlocker(blockerKey!, {\n                state: \"proceeding\",\n                proceed: undefined,\n                reset: undefined,\n                location,\n              });\n              // Re-do the same POP navigation we just blocked\n              init.history.go(delta);\n            },\n            reset() {\n              let blockers = new Map(state.blockers);\n              blockers.set(blockerKey!, IDLE_BLOCKER);\n              updateState({ blockers });\n            },\n          });\n          return;\n        }\n\n        return startNavigation(historyAction, location);\n      }\n    );\n\n    if (isBrowser) {\n      // FIXME: This feels gross.  How can we cleanup the lines between\n      // scrollRestoration/appliedTransitions persistance?\n      restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n      let _saveAppliedTransitions = () =>\n        persistAppliedTransitions(routerWindow, appliedViewTransitions);\n      routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n      removePageHideEventListener = () =>\n        routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n    }\n\n    // Kick off initial data load if needed.  Use Pop to avoid modifying history\n    // Note we don't do any handling of lazy here.  For SPA's it'll get handled\n    // in the normal navigation flow.  For SSR it's expected that lazy modules are\n    // resolved prior to router creation since we can't go into a fallbackElement\n    // UI for SSR'd apps\n    if (!state.initialized) {\n      startNavigation(HistoryAction.Pop, state.location, {\n        initialHydration: true,\n      });\n    }\n\n    return router;\n  }\n\n  // Clean up a router and it's side effects\n  function dispose() {\n    if (unlistenHistory) {\n      unlistenHistory();\n    }\n    if (removePageHideEventListener) {\n      removePageHideEventListener();\n    }\n    subscribers.clear();\n    pendingNavigationController && pendingNavigationController.abort();\n    state.fetchers.forEach((_, key) => deleteFetcher(key));\n    state.blockers.forEach((_, key) => deleteBlocker(key));\n  }\n\n  // Subscribe to state updates for the router\n  function subscribe(fn: RouterSubscriber) {\n    subscribers.add(fn);\n    return () => subscribers.delete(fn);\n  }\n\n  // Update our state and notify the calling context of the change\n  function updateState(\n    newState: Partial<RouterState>,\n    opts: {\n      flushSync?: boolean;\n      viewTransitionOpts?: ViewTransitionOpts;\n    } = {}\n  ): void {\n    state = {\n      ...state,\n      ...newState,\n    };\n\n    // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n    // can be removed\n    let completedFetchers: string[] = [];\n    let deletedFetchersKeys: string[] = [];\n\n    if (future.v7_fetcherPersist) {\n      state.fetchers.forEach((fetcher, key) => {\n        if (fetcher.state === \"idle\") {\n          if (deletedFetchers.has(key)) {\n            // Unmounted from the UI and can be totally removed\n            deletedFetchersKeys.push(key);\n          } else {\n            // Returned to idle but still mounted in the UI, so semi-remains for\n            // revalidations and such\n            completedFetchers.push(key);\n          }\n        }\n      });\n    }\n\n    // Iterate over a local copy so that if flushSync is used and we end up\n    // removing and adding a new subscriber due to the useCallback dependencies,\n    // we don't get ourselves into a loop calling the new subscriber immediately\n    [...subscribers].forEach((subscriber) =>\n      subscriber(state, {\n        deletedFetchers: deletedFetchersKeys,\n        unstable_viewTransitionOpts: opts.viewTransitionOpts,\n        unstable_flushSync: opts.flushSync === true,\n      })\n    );\n\n    // Remove idle fetchers from state since we only care about in-flight fetchers.\n    if (future.v7_fetcherPersist) {\n      completedFetchers.forEach((key) => state.fetchers.delete(key));\n      deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n    }\n  }\n\n  // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n  // and setting state.[historyAction/location/matches] to the new route.\n  // - Location is a required param\n  // - Navigation will always be set to IDLE_NAVIGATION\n  // - Can pass any other state in newState\n  function completeNavigation(\n    location: Location,\n    newState: Partial<Omit<RouterState, \"action\" | \"location\" | \"navigation\">>,\n    { flushSync }: { flushSync?: boolean } = {}\n  ): void {\n    // Deduce if we're in a loading/actionReload state:\n    // - We have committed actionData in the store\n    // - The current navigation was a mutation submission\n    // - We're past the submitting state and into the loading state\n    // - The location being loaded is not the result of a redirect\n    let isActionReload =\n      state.actionData != null &&\n      state.navigation.formMethod != null &&\n      isMutationMethod(state.navigation.formMethod) &&\n      state.navigation.state === \"loading\" &&\n      location.state?._isRedirect !== true;\n\n    let actionData: RouteData | null;\n    if (newState.actionData) {\n      if (Object.keys(newState.actionData).length > 0) {\n        actionData = newState.actionData;\n      } else {\n        // Empty actionData -> clear prior actionData due to an action error\n        actionData = null;\n      }\n    } else if (isActionReload) {\n      // Keep the current data if we're wrapping up the action reload\n      actionData = state.actionData;\n    } else {\n      // Clear actionData on any other completed navigations\n      actionData = null;\n    }\n\n    // Always preserve any existing loaderData from re-used routes\n    let loaderData = newState.loaderData\n      ? mergeLoaderData(\n          state.loaderData,\n          newState.loaderData,\n          newState.matches || [],\n          newState.errors\n        )\n      : state.loaderData;\n\n    // On a successful navigation we can assume we got through all blockers\n    // so we can start fresh\n    let blockers = state.blockers;\n    if (blockers.size > 0) {\n      blockers = new Map(blockers);\n      blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n    }\n\n    // Always respect the user flag.  Otherwise don't reset on mutation\n    // submission navigations unless they redirect\n    let preventScrollReset =\n      pendingPreventScrollReset === true ||\n      (state.navigation.formMethod != null &&\n        isMutationMethod(state.navigation.formMethod) &&\n        location.state?._isRedirect !== true);\n\n    if (inFlightDataRoutes) {\n      dataRoutes = inFlightDataRoutes;\n      inFlightDataRoutes = undefined;\n    }\n\n    if (isUninterruptedRevalidation) {\n      // If this was an uninterrupted revalidation then do not touch history\n    } else if (pendingAction === HistoryAction.Pop) {\n      // Do nothing for POP - URL has already been updated\n    } else if (pendingAction === HistoryAction.Push) {\n      init.history.push(location, location.state);\n    } else if (pendingAction === HistoryAction.Replace) {\n      init.history.replace(location, location.state);\n    }\n\n    let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n    // On POP, enable transitions if they were enabled on the original navigation\n    if (pendingAction === HistoryAction.Pop) {\n      // Forward takes precedence so they behave like the original navigation\n      let priorPaths = appliedViewTransitions.get(state.location.pathname);\n      if (priorPaths && priorPaths.has(location.pathname)) {\n        viewTransitionOpts = {\n          currentLocation: state.location,\n          nextLocation: location,\n        };\n      } else if (appliedViewTransitions.has(location.pathname)) {\n        // If we don't have a previous forward nav, assume we're popping back to\n        // the new location and enable if that location previously enabled\n        viewTransitionOpts = {\n          currentLocation: location,\n          nextLocation: state.location,\n        };\n      }\n    } else if (pendingViewTransitionEnabled) {\n      // Store the applied transition on PUSH/REPLACE\n      let toPaths = appliedViewTransitions.get(state.location.pathname);\n      if (toPaths) {\n        toPaths.add(location.pathname);\n      } else {\n        toPaths = new Set<string>([location.pathname]);\n        appliedViewTransitions.set(state.location.pathname, toPaths);\n      }\n      viewTransitionOpts = {\n        currentLocation: state.location,\n        nextLocation: location,\n      };\n    }\n\n    updateState(\n      {\n        ...newState, // matches, errors, fetchers go through as-is\n        actionData,\n        loaderData,\n        historyAction: pendingAction,\n        location,\n        initialized: true,\n        navigation: IDLE_NAVIGATION,\n        revalidation: \"idle\",\n        restoreScrollPosition: getSavedScrollPosition(\n          location,\n          newState.matches || state.matches\n        ),\n        preventScrollReset,\n        blockers,\n      },\n      {\n        viewTransitionOpts,\n        flushSync: flushSync === true,\n      }\n    );\n\n    // Reset stateful navigation vars\n    pendingAction = HistoryAction.Pop;\n    pendingPreventScrollReset = false;\n    pendingViewTransitionEnabled = false;\n    isUninterruptedRevalidation = false;\n    isRevalidationRequired = false;\n    cancelledDeferredRoutes = [];\n    cancelledFetcherLoads = [];\n  }\n\n  // Trigger a navigation event, which can either be a numerical POP or a PUSH\n  // replace with an optional submission\n  async function navigate(\n    to: number | To | null,\n    opts?: RouterNavigateOptions\n  ): Promise<void> {\n    if (typeof to === \"number\") {\n      init.history.go(to);\n      return;\n    }\n\n    let normalizedPath = normalizeTo(\n      state.location,\n      state.matches,\n      basename,\n      future.v7_prependBasename,\n      to,\n      future.v7_relativeSplatPath,\n      opts?.fromRouteId,\n      opts?.relative\n    );\n    let { path, submission, error } = normalizeNavigateOptions(\n      future.v7_normalizeFormMethod,\n      false,\n      normalizedPath,\n      opts\n    );\n\n    let currentLocation = state.location;\n    let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n    // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n    // URL from window.location, so we need to encode it here so the behavior\n    // remains the same as POP and non-data-router usages.  new URL() does all\n    // the same encoding we'd get from a history.pushState/window.location read\n    // without having to touch history\n    nextLocation = {\n      ...nextLocation,\n      ...init.history.encodeLocation(nextLocation),\n    };\n\n    let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n    let historyAction = HistoryAction.Push;\n\n    if (userReplace === true) {\n      historyAction = HistoryAction.Replace;\n    } else if (userReplace === false) {\n      // no-op\n    } else if (\n      submission != null &&\n      isMutationMethod(submission.formMethod) &&\n      submission.formAction === state.location.pathname + state.location.search\n    ) {\n      // By default on submissions to the current location we REPLACE so that\n      // users don't have to double-click the back button to get to the prior\n      // location.  If the user redirects to a different location from the\n      // action/loader this will be ignored and the redirect will be a PUSH\n      historyAction = HistoryAction.Replace;\n    }\n\n    let preventScrollReset =\n      opts && \"preventScrollReset\" in opts\n        ? opts.preventScrollReset === true\n        : undefined;\n\n    let flushSync = (opts && opts.unstable_flushSync) === true;\n\n    let blockerKey = shouldBlockNavigation({\n      currentLocation,\n      nextLocation,\n      historyAction,\n    });\n\n    if (blockerKey) {\n      // Put the blocker into a blocked state\n      updateBlocker(blockerKey, {\n        state: \"blocked\",\n        location: nextLocation,\n        proceed() {\n          updateBlocker(blockerKey!, {\n            state: \"proceeding\",\n            proceed: undefined,\n            reset: undefined,\n            location: nextLocation,\n          });\n          // Send the same navigation through\n          navigate(to, opts);\n        },\n        reset() {\n          let blockers = new Map(state.blockers);\n          blockers.set(blockerKey!, IDLE_BLOCKER);\n          updateState({ blockers });\n        },\n      });\n      return;\n    }\n\n    return await startNavigation(historyAction, nextLocation, {\n      submission,\n      // Send through the formData serialization error if we have one so we can\n      // render at the right error boundary after we match routes\n      pendingError: error,\n      preventScrollReset,\n      replace: opts && opts.replace,\n      enableViewTransition: opts && opts.unstable_viewTransition,\n      flushSync,\n    });\n  }\n\n  // Revalidate all current loaders.  If a navigation is in progress or if this\n  // is interrupted by a navigation, allow this to \"succeed\" by calling all\n  // loaders during the next loader round\n  function revalidate() {\n    interruptActiveLoads();\n    updateState({ revalidation: \"loading\" });\n\n    // If we're currently submitting an action, we don't need to start a new\n    // navigation, we'll just let the follow up loader execution call all loaders\n    if (state.navigation.state === \"submitting\") {\n      return;\n    }\n\n    // If we're currently in an idle state, start a new navigation for the current\n    // action/location and mark it as uninterrupted, which will skip the history\n    // update in completeNavigation\n    if (state.navigation.state === \"idle\") {\n      startNavigation(state.historyAction, state.location, {\n        startUninterruptedRevalidation: true,\n      });\n      return;\n    }\n\n    // Otherwise, if we're currently in a loading state, just start a new\n    // navigation to the navigation.location but do not trigger an uninterrupted\n    // revalidation so that history correctly updates once the navigation completes\n    startNavigation(\n      pendingAction || state.historyAction,\n      state.navigation.location,\n      { overrideNavigation: state.navigation }\n    );\n  }\n\n  // Start a navigation to the given action/location.  Can optionally provide a\n  // overrideNavigation which will override the normalLoad in the case of a redirect\n  // navigation\n  async function startNavigation(\n    historyAction: HistoryAction,\n    location: Location,\n    opts?: {\n      initialHydration?: boolean;\n      submission?: Submission;\n      fetcherSubmission?: Submission;\n      overrideNavigation?: Navigation;\n      pendingError?: ErrorResponseImpl;\n      startUninterruptedRevalidation?: boolean;\n      preventScrollReset?: boolean;\n      replace?: boolean;\n      enableViewTransition?: boolean;\n      flushSync?: boolean;\n    }\n  ): Promise<void> {\n    // Abort any in-progress navigations and start a new one. Unset any ongoing\n    // uninterrupted revalidations unless told otherwise, since we want this\n    // new navigation to update history normally\n    pendingNavigationController && pendingNavigationController.abort();\n    pendingNavigationController = null;\n    pendingAction = historyAction;\n    isUninterruptedRevalidation =\n      (opts && opts.startUninterruptedRevalidation) === true;\n\n    // Save the current scroll position every time we start a new navigation,\n    // and track whether we should reset scroll on completion\n    saveScrollPosition(state.location, state.matches);\n    pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n    pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let loadingNavigation = opts && opts.overrideNavigation;\n    let matches = matchRoutes(routesToUse, location, basename);\n    let flushSync = (opts && opts.flushSync) === true;\n\n    // Short circuit with a 404 on the root error boundary if we match nothing\n    if (!matches) {\n      let error = getInternalRouterError(404, { pathname: location.pathname });\n      let { matches: notFoundMatches, route } =\n        getShortCircuitMatches(routesToUse);\n      // Cancel all pending deferred on 404s since we don't keep any routes\n      cancelActiveDeferreds();\n      completeNavigation(\n        location,\n        {\n          matches: notFoundMatches,\n          loaderData: {},\n          errors: {\n            [route.id]: error,\n          },\n        },\n        { flushSync }\n      );\n      return;\n    }\n\n    // Short circuit if it's only a hash change and not a revalidation or\n    // mutation submission.\n    //\n    // Ignore on initial page loads because since the initial load will always\n    // be \"same hash\".  For example, on /page#hash and submit a <Form method=\"post\">\n    // which will default to a navigation to /page\n    if (\n      state.initialized &&\n      !isRevalidationRequired &&\n      isHashChangeOnly(state.location, location) &&\n      !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n    ) {\n      completeNavigation(location, { matches }, { flushSync });\n      return;\n    }\n\n    // Create a controller/Request for this navigation\n    pendingNavigationController = new AbortController();\n    let request = createClientSideRequest(\n      init.history,\n      location,\n      pendingNavigationController.signal,\n      opts && opts.submission\n    );\n    let pendingActionData: RouteData | undefined;\n    let pendingError: RouteData | undefined;\n\n    if (opts && opts.pendingError) {\n      // If we have a pendingError, it means the user attempted a GET submission\n      // with binary FormData so assign here and skip to handleLoaders.  That\n      // way we handle calling loaders above the boundary etc.  It's not really\n      // different from an actionError in that sense.\n      pendingError = {\n        [findNearestBoundary(matches).route.id]: opts.pendingError,\n      };\n    } else if (\n      opts &&\n      opts.submission &&\n      isMutationMethod(opts.submission.formMethod)\n    ) {\n      // Call action if we received an action submission\n      let actionOutput = await handleAction(\n        request,\n        location,\n        opts.submission,\n        matches,\n        { replace: opts.replace, flushSync }\n      );\n\n      if (actionOutput.shortCircuited) {\n        return;\n      }\n\n      pendingActionData = actionOutput.pendingActionData;\n      pendingError = actionOutput.pendingActionError;\n      loadingNavigation = getLoadingNavigation(location, opts.submission);\n      flushSync = false;\n\n      // Create a GET request for the loaders\n      request = new Request(request.url, { signal: request.signal });\n    }\n\n    // Call loaders\n    let { shortCircuited, loaderData, errors } = await handleLoaders(\n      request,\n      location,\n      matches,\n      loadingNavigation,\n      opts && opts.submission,\n      opts && opts.fetcherSubmission,\n      opts && opts.replace,\n      opts && opts.initialHydration === true,\n      flushSync,\n      pendingActionData,\n      pendingError\n    );\n\n    if (shortCircuited) {\n      return;\n    }\n\n    // Clean up now that the action/loaders have completed.  Don't clean up if\n    // we short circuited because pendingNavigationController will have already\n    // been assigned to a new controller for the next navigation\n    pendingNavigationController = null;\n\n    completeNavigation(location, {\n      matches,\n      ...(pendingActionData ? { actionData: pendingActionData } : {}),\n      loaderData,\n      errors,\n    });\n  }\n\n  // Call the action matched by the leaf route for this navigation and handle\n  // redirects/errors\n  async function handleAction(\n    request: Request,\n    location: Location,\n    submission: Submission,\n    matches: AgnosticDataRouteMatch[],\n    opts: { replace?: boolean; flushSync?: boolean } = {}\n  ): Promise<HandleActionResult> {\n    interruptActiveLoads();\n\n    // Put us in a submitting state\n    let navigation = getSubmittingNavigation(location, submission);\n    updateState({ navigation }, { flushSync: opts.flushSync === true });\n\n    // Call our action and get the result\n    let result: DataResult;\n    let actionMatch = getTargetMatch(matches, location);\n\n    if (!actionMatch.route.action && !actionMatch.route.lazy) {\n      result = {\n        type: ResultType.error,\n        error: getInternalRouterError(405, {\n          method: request.method,\n          pathname: location.pathname,\n          routeId: actionMatch.route.id,\n        }),\n      };\n    } else {\n      result = await callLoaderOrAction(\n        \"action\",\n        request,\n        actionMatch,\n        matches,\n        manifest,\n        mapRouteProperties,\n        basename,\n        future.v7_relativeSplatPath\n      );\n\n      if (request.signal.aborted) {\n        return { shortCircuited: true };\n      }\n    }\n\n    if (isRedirectResult(result)) {\n      let replace: boolean;\n      if (opts && opts.replace != null) {\n        replace = opts.replace;\n      } else {\n        // If the user didn't explicity indicate replace behavior, replace if\n        // we redirected to the exact same location we're currently at to avoid\n        // double back-buttons\n        replace =\n          result.location === state.location.pathname + state.location.search;\n      }\n      await startRedirectNavigation(state, result, { submission, replace });\n      return { shortCircuited: true };\n    }\n\n    if (isErrorResult(result)) {\n      // Store off the pending error - we use it to determine which loaders\n      // to call and will commit it when we complete the navigation\n      let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n      // By default, all submissions are REPLACE navigations, but if the\n      // action threw an error that'll be rendered in an errorElement, we fall\n      // back to PUSH so that the user can use the back button to get back to\n      // the pre-submission form location to try again\n      if ((opts && opts.replace) !== true) {\n        pendingAction = HistoryAction.Push;\n      }\n\n      return {\n        // Send back an empty object we can use to clear out any prior actionData\n        pendingActionData: {},\n        pendingActionError: { [boundaryMatch.route.id]: result.error },\n      };\n    }\n\n    if (isDeferredResult(result)) {\n      throw getInternalRouterError(400, { type: \"defer-action\" });\n    }\n\n    return {\n      pendingActionData: { [actionMatch.route.id]: result.data },\n    };\n  }\n\n  // Call all applicable loaders for the given matches, handling redirects,\n  // errors, etc.\n  async function handleLoaders(\n    request: Request,\n    location: Location,\n    matches: AgnosticDataRouteMatch[],\n    overrideNavigation?: Navigation,\n    submission?: Submission,\n    fetcherSubmission?: Submission,\n    replace?: boolean,\n    initialHydration?: boolean,\n    flushSync?: boolean,\n    pendingActionData?: RouteData,\n    pendingError?: RouteData\n  ): Promise<HandleLoadersResult> {\n    // Figure out the right navigation we want to use for data loading\n    let loadingNavigation =\n      overrideNavigation || getLoadingNavigation(location, submission);\n\n    // If this was a redirect from an action we don't have a \"submission\" but\n    // we have it on the loading navigation so use that if available\n    let activeSubmission =\n      submission ||\n      fetcherSubmission ||\n      getSubmissionFromNavigation(loadingNavigation);\n\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n      init.history,\n      state,\n      matches,\n      activeSubmission,\n      location,\n      future.v7_partialHydration && initialHydration === true,\n      isRevalidationRequired,\n      cancelledDeferredRoutes,\n      cancelledFetcherLoads,\n      deletedFetchers,\n      fetchLoadMatches,\n      fetchRedirectIds,\n      routesToUse,\n      basename,\n      pendingActionData,\n      pendingError\n    );\n\n    // Cancel pending deferreds for no-longer-matched routes or routes we're\n    // about to reload.  Note that if this is an action reload we would have\n    // already cancelled all pending deferreds so this would be a no-op\n    cancelActiveDeferreds(\n      (routeId) =>\n        !(matches && matches.some((m) => m.route.id === routeId)) ||\n        (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n    );\n\n    pendingNavigationLoadId = ++incrementingLoadId;\n\n    // Short circuit if we have no loaders to run\n    if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n      let updatedFetchers = markFetchRedirectsDone();\n      completeNavigation(\n        location,\n        {\n          matches,\n          loaderData: {},\n          // Commit pending error if we're short circuiting\n          errors: pendingError || null,\n          ...(pendingActionData ? { actionData: pendingActionData } : {}),\n          ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n        },\n        { flushSync }\n      );\n      return { shortCircuited: true };\n    }\n\n    // If this is an uninterrupted revalidation, we remain in our current idle\n    // state.  If not, we need to switch to our loading state and load data,\n    // preserving any new action data or existing action data (in the case of\n    // a revalidation interrupting an actionReload)\n    // If we have partialHydration enabled, then don't update the state for the\n    // initial data load since iot's not a \"navigation\"\n    if (\n      !isUninterruptedRevalidation &&\n      (!future.v7_partialHydration || !initialHydration)\n    ) {\n      revalidatingFetchers.forEach((rf) => {\n        let fetcher = state.fetchers.get(rf.key);\n        let revalidatingFetcher = getLoadingFetcher(\n          undefined,\n          fetcher ? fetcher.data : undefined\n        );\n        state.fetchers.set(rf.key, revalidatingFetcher);\n      });\n      let actionData = pendingActionData || state.actionData;\n      updateState(\n        {\n          navigation: loadingNavigation,\n          ...(actionData\n            ? Object.keys(actionData).length === 0\n              ? { actionData: null }\n              : { actionData }\n            : {}),\n          ...(revalidatingFetchers.length > 0\n            ? { fetchers: new Map(state.fetchers) }\n            : {}),\n        },\n        {\n          flushSync,\n        }\n      );\n    }\n\n    revalidatingFetchers.forEach((rf) => {\n      if (fetchControllers.has(rf.key)) {\n        abortFetcher(rf.key);\n      }\n      if (rf.controller) {\n        // Fetchers use an independent AbortController so that aborting a fetcher\n        // (via deleteFetcher) does not abort the triggering navigation that\n        // triggered the revalidation\n        fetchControllers.set(rf.key, rf.controller);\n      }\n    });\n\n    // Proxy navigation abort through to revalidation fetchers\n    let abortPendingFetchRevalidations = () =>\n      revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n    if (pendingNavigationController) {\n      pendingNavigationController.signal.addEventListener(\n        \"abort\",\n        abortPendingFetchRevalidations\n      );\n    }\n\n    let { results, loaderResults, fetcherResults } =\n      await callLoadersAndMaybeResolveData(\n        state.matches,\n        matches,\n        matchesToLoad,\n        revalidatingFetchers,\n        request\n      );\n\n    if (request.signal.aborted) {\n      return { shortCircuited: true };\n    }\n\n    // Clean up _after_ loaders have completed.  Don't clean up if we short\n    // circuited because fetchControllers would have been aborted and\n    // reassigned to new controllers for the next navigation\n    if (pendingNavigationController) {\n      pendingNavigationController.signal.removeEventListener(\n        \"abort\",\n        abortPendingFetchRevalidations\n      );\n    }\n    revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n    // If any loaders returned a redirect Response, start a new REPLACE navigation\n    let redirect = findRedirect(results);\n    if (redirect) {\n      if (redirect.idx >= matchesToLoad.length) {\n        // If this redirect came from a fetcher make sure we mark it in\n        // fetchRedirectIds so it doesn't get revalidated on the next set of\n        // loader executions\n        let fetcherKey =\n          revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n        fetchRedirectIds.add(fetcherKey);\n      }\n      await startRedirectNavigation(state, redirect.result, { replace });\n      return { shortCircuited: true };\n    }\n\n    // Process and commit output from loaders\n    let { loaderData, errors } = processLoaderData(\n      state,\n      matches,\n      matchesToLoad,\n      loaderResults,\n      pendingError,\n      revalidatingFetchers,\n      fetcherResults,\n      activeDeferreds\n    );\n\n    // Wire up subscribers to update loaderData as promises settle\n    activeDeferreds.forEach((deferredData, routeId) => {\n      deferredData.subscribe((aborted) => {\n        // Note: No need to updateState here since the TrackedPromise on\n        // loaderData is stable across resolve/reject\n        // Remove this instance if we were aborted or if promises have settled\n        if (aborted || deferredData.done) {\n          activeDeferreds.delete(routeId);\n        }\n      });\n    });\n\n    let updatedFetchers = markFetchRedirectsDone();\n    let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n    let shouldUpdateFetchers =\n      updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n    return {\n      loaderData,\n      errors,\n      ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n    };\n  }\n\n  // Trigger a fetcher load/submit for the given fetcher key\n  function fetch(\n    key: string,\n    routeId: string,\n    href: string | null,\n    opts?: RouterFetchOptions\n  ) {\n    if (isServer) {\n      throw new Error(\n        \"router.fetch() was called during the server render, but it shouldn't be. \" +\n          \"You are likely calling a useFetcher() method in the body of your component. \" +\n          \"Try moving it to a useEffect or a callback.\"\n      );\n    }\n\n    if (fetchControllers.has(key)) abortFetcher(key);\n    let flushSync = (opts && opts.unstable_flushSync) === true;\n\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let normalizedPath = normalizeTo(\n      state.location,\n      state.matches,\n      basename,\n      future.v7_prependBasename,\n      href,\n      future.v7_relativeSplatPath,\n      routeId,\n      opts?.relative\n    );\n    let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n    if (!matches) {\n      setFetcherError(\n        key,\n        routeId,\n        getInternalRouterError(404, { pathname: normalizedPath }),\n        { flushSync }\n      );\n      return;\n    }\n\n    let { path, submission, error } = normalizeNavigateOptions(\n      future.v7_normalizeFormMethod,\n      true,\n      normalizedPath,\n      opts\n    );\n\n    if (error) {\n      setFetcherError(key, routeId, error, { flushSync });\n      return;\n    }\n\n    let match = getTargetMatch(matches, path);\n\n    pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n    if (submission && isMutationMethod(submission.formMethod)) {\n      handleFetcherAction(\n        key,\n        routeId,\n        path,\n        match,\n        matches,\n        flushSync,\n        submission\n      );\n      return;\n    }\n\n    // Store off the match so we can call it's shouldRevalidate on subsequent\n    // revalidations\n    fetchLoadMatches.set(key, { routeId, path });\n    handleFetcherLoader(\n      key,\n      routeId,\n      path,\n      match,\n      matches,\n      flushSync,\n      submission\n    );\n  }\n\n  // Call the action for the matched fetcher.submit(), and then handle redirects,\n  // errors, and revalidation\n  async function handleFetcherAction(\n    key: string,\n    routeId: string,\n    path: string,\n    match: AgnosticDataRouteMatch,\n    requestMatches: AgnosticDataRouteMatch[],\n    flushSync: boolean,\n    submission: Submission\n  ) {\n    interruptActiveLoads();\n    fetchLoadMatches.delete(key);\n\n    if (!match.route.action && !match.route.lazy) {\n      let error = getInternalRouterError(405, {\n        method: submission.formMethod,\n        pathname: path,\n        routeId: routeId,\n      });\n      setFetcherError(key, routeId, error, { flushSync });\n      return;\n    }\n\n    // Put this fetcher into it's submitting state\n    let existingFetcher = state.fetchers.get(key);\n    updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n      flushSync,\n    });\n\n    // Call the action for the fetcher\n    let abortController = new AbortController();\n    let fetchRequest = createClientSideRequest(\n      init.history,\n      path,\n      abortController.signal,\n      submission\n    );\n    fetchControllers.set(key, abortController);\n\n    let originatingLoadId = incrementingLoadId;\n    let actionResult = await callLoaderOrAction(\n      \"action\",\n      fetchRequest,\n      match,\n      requestMatches,\n      manifest,\n      mapRouteProperties,\n      basename,\n      future.v7_relativeSplatPath\n    );\n\n    if (fetchRequest.signal.aborted) {\n      // We can delete this so long as we weren't aborted by our own fetcher\n      // re-submit which would have put _new_ controller is in fetchControllers\n      if (fetchControllers.get(key) === abortController) {\n        fetchControllers.delete(key);\n      }\n      return;\n    }\n\n    // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n    // or redirects processed for unmounted fetchers so we just revert them to\n    // idle\n    if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n      if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n        updateFetcherState(key, getDoneFetcher(undefined));\n        return;\n      }\n      // Let SuccessResult's fall through for revalidation\n    } else {\n      if (isRedirectResult(actionResult)) {\n        fetchControllers.delete(key);\n        if (pendingNavigationLoadId > originatingLoadId) {\n          // A new navigation was kicked off after our action started, so that\n          // should take precedence over this redirect navigation.  We already\n          // set isRevalidationRequired so all loaders for the new route should\n          // fire unless opted out via shouldRevalidate\n          updateFetcherState(key, getDoneFetcher(undefined));\n          return;\n        } else {\n          fetchRedirectIds.add(key);\n          updateFetcherState(key, getLoadingFetcher(submission));\n          return startRedirectNavigation(state, actionResult, {\n            fetcherSubmission: submission,\n          });\n        }\n      }\n\n      // Process any non-redirect errors thrown\n      if (isErrorResult(actionResult)) {\n        setFetcherError(key, routeId, actionResult.error);\n        return;\n      }\n    }\n\n    if (isDeferredResult(actionResult)) {\n      throw getInternalRouterError(400, { type: \"defer-action\" });\n    }\n\n    // Start the data load for current matches, or the next location if we're\n    // in the middle of a navigation\n    let nextLocation = state.navigation.location || state.location;\n    let revalidationRequest = createClientSideRequest(\n      init.history,\n      nextLocation,\n      abortController.signal\n    );\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let matches =\n      state.navigation.state !== \"idle\"\n        ? matchRoutes(routesToUse, state.navigation.location, basename)\n        : state.matches;\n\n    invariant(matches, \"Didn't find any matches after fetcher action\");\n\n    let loadId = ++incrementingLoadId;\n    fetchReloadIds.set(key, loadId);\n\n    let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n    state.fetchers.set(key, loadFetcher);\n\n    let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n      init.history,\n      state,\n      matches,\n      submission,\n      nextLocation,\n      false,\n      isRevalidationRequired,\n      cancelledDeferredRoutes,\n      cancelledFetcherLoads,\n      deletedFetchers,\n      fetchLoadMatches,\n      fetchRedirectIds,\n      routesToUse,\n      basename,\n      { [match.route.id]: actionResult.data },\n      undefined // No need to send through errors since we short circuit above\n    );\n\n    // Put all revalidating fetchers into the loading state, except for the\n    // current fetcher which we want to keep in it's current loading state which\n    // contains it's action submission info + action data\n    revalidatingFetchers\n      .filter((rf) => rf.key !== key)\n      .forEach((rf) => {\n        let staleKey = rf.key;\n        let existingFetcher = state.fetchers.get(staleKey);\n        let revalidatingFetcher = getLoadingFetcher(\n          undefined,\n          existingFetcher ? existingFetcher.data : undefined\n        );\n        state.fetchers.set(staleKey, revalidatingFetcher);\n        if (fetchControllers.has(staleKey)) {\n          abortFetcher(staleKey);\n        }\n        if (rf.controller) {\n          fetchControllers.set(staleKey, rf.controller);\n        }\n      });\n\n    updateState({ fetchers: new Map(state.fetchers) });\n\n    let abortPendingFetchRevalidations = () =>\n      revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n    abortController.signal.addEventListener(\n      \"abort\",\n      abortPendingFetchRevalidations\n    );\n\n    let { results, loaderResults, fetcherResults } =\n      await callLoadersAndMaybeResolveData(\n        state.matches,\n        matches,\n        matchesToLoad,\n        revalidatingFetchers,\n        revalidationRequest\n      );\n\n    if (abortController.signal.aborted) {\n      return;\n    }\n\n    abortController.signal.removeEventListener(\n      \"abort\",\n      abortPendingFetchRevalidations\n    );\n\n    fetchReloadIds.delete(key);\n    fetchControllers.delete(key);\n    revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n    let redirect = findRedirect(results);\n    if (redirect) {\n      if (redirect.idx >= matchesToLoad.length) {\n        // If this redirect came from a fetcher make sure we mark it in\n        // fetchRedirectIds so it doesn't get revalidated on the next set of\n        // loader executions\n        let fetcherKey =\n          revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n        fetchRedirectIds.add(fetcherKey);\n      }\n      return startRedirectNavigation(state, redirect.result);\n    }\n\n    // Process and commit output from loaders\n    let { loaderData, errors } = processLoaderData(\n      state,\n      state.matches,\n      matchesToLoad,\n      loaderResults,\n      undefined,\n      revalidatingFetchers,\n      fetcherResults,\n      activeDeferreds\n    );\n\n    // Since we let revalidations complete even if the submitting fetcher was\n    // deleted, only put it back to idle if it hasn't been deleted\n    if (state.fetchers.has(key)) {\n      let doneFetcher = getDoneFetcher(actionResult.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n\n    abortStaleFetchLoads(loadId);\n\n    // If we are currently in a navigation loading state and this fetcher is\n    // more recent than the navigation, we want the newer data so abort the\n    // navigation and complete it with the fetcher data\n    if (\n      state.navigation.state === \"loading\" &&\n      loadId > pendingNavigationLoadId\n    ) {\n      invariant(pendingAction, \"Expected pending action\");\n      pendingNavigationController && pendingNavigationController.abort();\n\n      completeNavigation(state.navigation.location, {\n        matches,\n        loaderData,\n        errors,\n        fetchers: new Map(state.fetchers),\n      });\n    } else {\n      // otherwise just update with the fetcher data, preserving any existing\n      // loaderData for loaders that did not need to reload.  We have to\n      // manually merge here since we aren't going through completeNavigation\n      updateState({\n        errors,\n        loaderData: mergeLoaderData(\n          state.loaderData,\n          loaderData,\n          matches,\n          errors\n        ),\n        fetchers: new Map(state.fetchers),\n      });\n      isRevalidationRequired = false;\n    }\n  }\n\n  // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n  async function handleFetcherLoader(\n    key: string,\n    routeId: string,\n    path: string,\n    match: AgnosticDataRouteMatch,\n    matches: AgnosticDataRouteMatch[],\n    flushSync: boolean,\n    submission?: Submission\n  ) {\n    let existingFetcher = state.fetchers.get(key);\n    updateFetcherState(\n      key,\n      getLoadingFetcher(\n        submission,\n        existingFetcher ? existingFetcher.data : undefined\n      ),\n      { flushSync }\n    );\n\n    // Call the loader for this fetcher route match\n    let abortController = new AbortController();\n    let fetchRequest = createClientSideRequest(\n      init.history,\n      path,\n      abortController.signal\n    );\n    fetchControllers.set(key, abortController);\n\n    let originatingLoadId = incrementingLoadId;\n    let result: DataResult = await callLoaderOrAction(\n      \"loader\",\n      fetchRequest,\n      match,\n      matches,\n      manifest,\n      mapRouteProperties,\n      basename,\n      future.v7_relativeSplatPath\n    );\n\n    // Deferred isn't supported for fetcher loads, await everything and treat it\n    // as a normal load.  resolveDeferredData will return undefined if this\n    // fetcher gets aborted, so we just leave result untouched and short circuit\n    // below if that happens\n    if (isDeferredResult(result)) {\n      result =\n        (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n        result;\n    }\n\n    // We can delete this so long as we weren't aborted by our our own fetcher\n    // re-load which would have put _new_ controller is in fetchControllers\n    if (fetchControllers.get(key) === abortController) {\n      fetchControllers.delete(key);\n    }\n\n    if (fetchRequest.signal.aborted) {\n      return;\n    }\n\n    // We don't want errors bubbling up or redirects followed for unmounted\n    // fetchers, so short circuit here if it was removed from the UI\n    if (deletedFetchers.has(key)) {\n      updateFetcherState(key, getDoneFetcher(undefined));\n      return;\n    }\n\n    // If the loader threw a redirect Response, start a new REPLACE navigation\n    if (isRedirectResult(result)) {\n      if (pendingNavigationLoadId > originatingLoadId) {\n        // A new navigation was kicked off after our loader started, so that\n        // should take precedence over this redirect navigation\n        updateFetcherState(key, getDoneFetcher(undefined));\n        return;\n      } else {\n        fetchRedirectIds.add(key);\n        await startRedirectNavigation(state, result);\n        return;\n      }\n    }\n\n    // Process any non-redirect errors thrown\n    if (isErrorResult(result)) {\n      setFetcherError(key, routeId, result.error);\n      return;\n    }\n\n    invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n    // Put the fetcher back into an idle state\n    updateFetcherState(key, getDoneFetcher(result.data));\n  }\n\n  /**\n   * Utility function to handle redirects returned from an action or loader.\n   * Normally, a redirect \"replaces\" the navigation that triggered it.  So, for\n   * example:\n   *\n   *  - user is on /a\n   *  - user clicks a link to /b\n   *  - loader for /b redirects to /c\n   *\n   * In a non-JS app the browser would track the in-flight navigation to /b and\n   * then replace it with /c when it encountered the redirect response.  In\n   * the end it would only ever update the URL bar with /c.\n   *\n   * In client-side routing using pushState/replaceState, we aim to emulate\n   * this behavior and we also do not update history until the end of the\n   * navigation (including processed redirects).  This means that we never\n   * actually touch history until we've processed redirects, so we just use\n   * the history action from the original navigation (PUSH or REPLACE).\n   */\n  async function startRedirectNavigation(\n    state: RouterState,\n    redirect: RedirectResult,\n    {\n      submission,\n      fetcherSubmission,\n      replace,\n    }: {\n      submission?: Submission;\n      fetcherSubmission?: Submission;\n      replace?: boolean;\n    } = {}\n  ) {\n    if (redirect.revalidate) {\n      isRevalidationRequired = true;\n    }\n\n    let redirectLocation = createLocation(state.location, redirect.location, {\n      _isRedirect: true,\n    });\n    invariant(\n      redirectLocation,\n      \"Expected a location on the redirect navigation\"\n    );\n\n    if (isBrowser) {\n      let isDocumentReload = false;\n\n      if (redirect.reloadDocument) {\n        // Hard reload if the response contained X-Remix-Reload-Document\n        isDocumentReload = true;\n      } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n        const url = init.history.createURL(redirect.location);\n        isDocumentReload =\n          // Hard reload if it's an absolute URL to a new origin\n          url.origin !== routerWindow.location.origin ||\n          // Hard reload if it's an absolute URL that does not match our basename\n          stripBasename(url.pathname, basename) == null;\n      }\n\n      if (isDocumentReload) {\n        if (replace) {\n          routerWindow.location.replace(redirect.location);\n        } else {\n          routerWindow.location.assign(redirect.location);\n        }\n        return;\n      }\n    }\n\n    // There's no need to abort on redirects, since we don't detect the\n    // redirect until the action/loaders have settled\n    pendingNavigationController = null;\n\n    let redirectHistoryAction =\n      replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n    // Use the incoming submission if provided, fallback on the active one in\n    // state.navigation\n    let { formMethod, formAction, formEncType } = state.navigation;\n    if (\n      !submission &&\n      !fetcherSubmission &&\n      formMethod &&\n      formAction &&\n      formEncType\n    ) {\n      submission = getSubmissionFromNavigation(state.navigation);\n    }\n\n    // If this was a 307/308 submission we want to preserve the HTTP method and\n    // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n    // redirected location\n    let activeSubmission = submission || fetcherSubmission;\n    if (\n      redirectPreserveMethodStatusCodes.has(redirect.status) &&\n      activeSubmission &&\n      isMutationMethod(activeSubmission.formMethod)\n    ) {\n      await startNavigation(redirectHistoryAction, redirectLocation, {\n        submission: {\n          ...activeSubmission,\n          formAction: redirect.location,\n        },\n        // Preserve this flag across redirects\n        preventScrollReset: pendingPreventScrollReset,\n      });\n    } else {\n      // If we have a navigation submission, we will preserve it through the\n      // redirect navigation\n      let overrideNavigation = getLoadingNavigation(\n        redirectLocation,\n        submission\n      );\n      await startNavigation(redirectHistoryAction, redirectLocation, {\n        overrideNavigation,\n        // Send fetcher submissions through for shouldRevalidate\n        fetcherSubmission,\n        // Preserve this flag across redirects\n        preventScrollReset: pendingPreventScrollReset,\n      });\n    }\n  }\n\n  async function callLoadersAndMaybeResolveData(\n    currentMatches: AgnosticDataRouteMatch[],\n    matches: AgnosticDataRouteMatch[],\n    matchesToLoad: AgnosticDataRouteMatch[],\n    fetchersToLoad: RevalidatingFetcher[],\n    request: Request\n  ) {\n    // Call all navigation loaders and revalidating fetcher loaders in parallel,\n    // then slice off the results into separate arrays so we can handle them\n    // accordingly\n    let results = await Promise.all([\n      ...matchesToLoad.map((match) =>\n        callLoaderOrAction(\n          \"loader\",\n          request,\n          match,\n          matches,\n          manifest,\n          mapRouteProperties,\n          basename,\n          future.v7_relativeSplatPath\n        )\n      ),\n      ...fetchersToLoad.map((f) => {\n        if (f.matches && f.match && f.controller) {\n          return callLoaderOrAction(\n            \"loader\",\n            createClientSideRequest(init.history, f.path, f.controller.signal),\n            f.match,\n            f.matches,\n            manifest,\n            mapRouteProperties,\n            basename,\n            future.v7_relativeSplatPath\n          );\n        } else {\n          let error: ErrorResult = {\n            type: ResultType.error,\n            error: getInternalRouterError(404, { pathname: f.path }),\n          };\n          return error;\n        }\n      }),\n    ]);\n    let loaderResults = results.slice(0, matchesToLoad.length);\n    let fetcherResults = results.slice(matchesToLoad.length);\n\n    await Promise.all([\n      resolveDeferredResults(\n        currentMatches,\n        matchesToLoad,\n        loaderResults,\n        loaderResults.map(() => request.signal),\n        false,\n        state.loaderData\n      ),\n      resolveDeferredResults(\n        currentMatches,\n        fetchersToLoad.map((f) => f.match),\n        fetcherResults,\n        fetchersToLoad.map((f) => (f.controller ? f.controller.signal : null)),\n        true\n      ),\n    ]);\n\n    return { results, loaderResults, fetcherResults };\n  }\n\n  function interruptActiveLoads() {\n    // Every interruption triggers a revalidation\n    isRevalidationRequired = true;\n\n    // Cancel pending route-level deferreds and mark cancelled routes for\n    // revalidation\n    cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n    // Abort in-flight fetcher loads\n    fetchLoadMatches.forEach((_, key) => {\n      if (fetchControllers.has(key)) {\n        cancelledFetcherLoads.push(key);\n        abortFetcher(key);\n      }\n    });\n  }\n\n  function updateFetcherState(\n    key: string,\n    fetcher: Fetcher,\n    opts: { flushSync?: boolean } = {}\n  ) {\n    state.fetchers.set(key, fetcher);\n    updateState(\n      { fetchers: new Map(state.fetchers) },\n      { flushSync: (opts && opts.flushSync) === true }\n    );\n  }\n\n  function setFetcherError(\n    key: string,\n    routeId: string,\n    error: any,\n    opts: { flushSync?: boolean } = {}\n  ) {\n    let boundaryMatch = findNearestBoundary(state.matches, routeId);\n    deleteFetcher(key);\n    updateState(\n      {\n        errors: {\n          [boundaryMatch.route.id]: error,\n        },\n        fetchers: new Map(state.fetchers),\n      },\n      { flushSync: (opts && opts.flushSync) === true }\n    );\n  }\n\n  function getFetcher<TData = any>(key: string): Fetcher<TData> {\n    if (future.v7_fetcherPersist) {\n      activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n      // If this fetcher was previously marked for deletion, unmark it since we\n      // have a new instance\n      if (deletedFetchers.has(key)) {\n        deletedFetchers.delete(key);\n      }\n    }\n    return state.fetchers.get(key) || IDLE_FETCHER;\n  }\n\n  function deleteFetcher(key: string): void {\n    let fetcher = state.fetchers.get(key);\n    // Don't abort the controller if this is a deletion of a fetcher.submit()\n    // in it's loading phase since - we don't want to abort the corresponding\n    // revalidation and want them to complete and land\n    if (\n      fetchControllers.has(key) &&\n      !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n    ) {\n      abortFetcher(key);\n    }\n    fetchLoadMatches.delete(key);\n    fetchReloadIds.delete(key);\n    fetchRedirectIds.delete(key);\n    deletedFetchers.delete(key);\n    state.fetchers.delete(key);\n  }\n\n  function deleteFetcherAndUpdateState(key: string): void {\n    if (future.v7_fetcherPersist) {\n      let count = (activeFetchers.get(key) || 0) - 1;\n      if (count <= 0) {\n        activeFetchers.delete(key);\n        deletedFetchers.add(key);\n      } else {\n        activeFetchers.set(key, count);\n      }\n    } else {\n      deleteFetcher(key);\n    }\n    updateState({ fetchers: new Map(state.fetchers) });\n  }\n\n  function abortFetcher(key: string) {\n    let controller = fetchControllers.get(key);\n    invariant(controller, `Expected fetch controller: ${key}`);\n    controller.abort();\n    fetchControllers.delete(key);\n  }\n\n  function markFetchersDone(keys: string[]) {\n    for (let key of keys) {\n      let fetcher = getFetcher(key);\n      let doneFetcher = getDoneFetcher(fetcher.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n  }\n\n  function markFetchRedirectsDone(): boolean {\n    let doneKeys = [];\n    let updatedFetchers = false;\n    for (let key of fetchRedirectIds) {\n      let fetcher = state.fetchers.get(key);\n      invariant(fetcher, `Expected fetcher: ${key}`);\n      if (fetcher.state === \"loading\") {\n        fetchRedirectIds.delete(key);\n        doneKeys.push(key);\n        updatedFetchers = true;\n      }\n    }\n    markFetchersDone(doneKeys);\n    return updatedFetchers;\n  }\n\n  function abortStaleFetchLoads(landedId: number): boolean {\n    let yeetedKeys = [];\n    for (let [key, id] of fetchReloadIds) {\n      if (id < landedId) {\n        let fetcher = state.fetchers.get(key);\n        invariant(fetcher, `Expected fetcher: ${key}`);\n        if (fetcher.state === \"loading\") {\n          abortFetcher(key);\n          fetchReloadIds.delete(key);\n          yeetedKeys.push(key);\n        }\n      }\n    }\n    markFetchersDone(yeetedKeys);\n    return yeetedKeys.length > 0;\n  }\n\n  function getBlocker(key: string, fn: BlockerFunction) {\n    let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n    if (blockerFunctions.get(key) !== fn) {\n      blockerFunctions.set(key, fn);\n    }\n\n    return blocker;\n  }\n\n  function deleteBlocker(key: string) {\n    state.blockers.delete(key);\n    blockerFunctions.delete(key);\n  }\n\n  // Utility function to update blockers, ensuring valid state transitions\n  function updateBlocker(key: string, newBlocker: Blocker) {\n    let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n    // Poor mans state machine :)\n    // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n    invariant(\n      (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n        (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n        (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n        (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n        (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n      `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n    );\n\n    let blockers = new Map(state.blockers);\n    blockers.set(key, newBlocker);\n    updateState({ blockers });\n  }\n\n  function shouldBlockNavigation({\n    currentLocation,\n    nextLocation,\n    historyAction,\n  }: {\n    currentLocation: Location;\n    nextLocation: Location;\n    historyAction: HistoryAction;\n  }): string | undefined {\n    if (blockerFunctions.size === 0) {\n      return;\n    }\n\n    // We ony support a single active blocker at the moment since we don't have\n    // any compelling use cases for multi-blocker yet\n    if (blockerFunctions.size > 1) {\n      warning(false, \"A router only supports one blocker at a time\");\n    }\n\n    let entries = Array.from(blockerFunctions.entries());\n    let [blockerKey, blockerFunction] = entries[entries.length - 1];\n    let blocker = state.blockers.get(blockerKey);\n\n    if (blocker && blocker.state === \"proceeding\") {\n      // If the blocker is currently proceeding, we don't need to re-check\n      // it and can let this navigation continue\n      return;\n    }\n\n    // At this point, we know we're unblocked/blocked so we need to check the\n    // user-provided blocker function\n    if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n      return blockerKey;\n    }\n  }\n\n  function cancelActiveDeferreds(\n    predicate?: (routeId: string) => boolean\n  ): string[] {\n    let cancelledRouteIds: string[] = [];\n    activeDeferreds.forEach((dfd, routeId) => {\n      if (!predicate || predicate(routeId)) {\n        // Cancel the deferred - but do not remove from activeDeferreds here -\n        // we rely on the subscribers to do that so our tests can assert proper\n        // cleanup via _internalActiveDeferreds\n        dfd.cancel();\n        cancelledRouteIds.push(routeId);\n        activeDeferreds.delete(routeId);\n      }\n    });\n    return cancelledRouteIds;\n  }\n\n  // Opt in to capturing and reporting scroll positions during navigations,\n  // used by the <ScrollRestoration> component\n  function enableScrollRestoration(\n    positions: Record<string, number>,\n    getPosition: GetScrollPositionFunction,\n    getKey?: GetScrollRestorationKeyFunction\n  ) {\n    savedScrollPositions = positions;\n    getScrollPosition = getPosition;\n    getScrollRestorationKey = getKey || null;\n\n    // Perform initial hydration scroll restoration, since we miss the boat on\n    // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n    // and therefore have no savedScrollPositions available\n    if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n      initialScrollRestored = true;\n      let y = getSavedScrollPosition(state.location, state.matches);\n      if (y != null) {\n        updateState({ restoreScrollPosition: y });\n      }\n    }\n\n    return () => {\n      savedScrollPositions = null;\n      getScrollPosition = null;\n      getScrollRestorationKey = null;\n    };\n  }\n\n  function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n    if (getScrollRestorationKey) {\n      let key = getScrollRestorationKey(\n        location,\n        matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n      );\n      return key || location.key;\n    }\n    return location.key;\n  }\n\n  function saveScrollPosition(\n    location: Location,\n    matches: AgnosticDataRouteMatch[]\n  ): void {\n    if (savedScrollPositions && getScrollPosition) {\n      let key = getScrollKey(location, matches);\n      savedScrollPositions[key] = getScrollPosition();\n    }\n  }\n\n  function getSavedScrollPosition(\n    location: Location,\n    matches: AgnosticDataRouteMatch[]\n  ): number | null {\n    if (savedScrollPositions) {\n      let key = getScrollKey(location, matches);\n      let y = savedScrollPositions[key];\n      if (typeof y === \"number\") {\n        return y;\n      }\n    }\n    return null;\n  }\n\n  function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n    manifest = {};\n    inFlightDataRoutes = convertRoutesToDataRoutes(\n      newRoutes,\n      mapRouteProperties,\n      undefined,\n      manifest\n    );\n  }\n\n  router = {\n    get basename() {\n      return basename;\n    },\n    get future() {\n      return future;\n    },\n    get state() {\n      return state;\n    },\n    get routes() {\n      return dataRoutes;\n    },\n    get window() {\n      return routerWindow;\n    },\n    initialize,\n    subscribe,\n    enableScrollRestoration,\n    navigate,\n    fetch,\n    revalidate,\n    // Passthrough to history-aware createHref used by useHref so we get proper\n    // hash-aware URLs in DOM paths\n    createHref: (to: To) => init.history.createHref(to),\n    encodeLocation: (to: To) => init.history.encodeLocation(to),\n    getFetcher,\n    deleteFetcher: deleteFetcherAndUpdateState,\n    dispose,\n    getBlocker,\n    deleteBlocker,\n    _internalFetchControllers: fetchControllers,\n    _internalActiveDeferreds: activeDeferreds,\n    // TODO: Remove setRoutes, it's temporary to avoid dealing with\n    // updating the tree while validating the update algorithm.\n    _internalSetRoutes,\n  };\n\n  return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface StaticHandlerFutureConfig {\n  v7_relativeSplatPath: boolean;\n  v7_throwAbortReason: boolean;\n}\n\nexport interface CreateStaticHandlerOptions {\n  basename?: string;\n  /**\n   * @deprecated Use `mapRouteProperties` instead\n   */\n  detectErrorBoundary?: DetectErrorBoundaryFunction;\n  mapRouteProperties?: MapRoutePropertiesFunction;\n  future?: Partial<StaticHandlerFutureConfig>;\n}\n\nexport function createStaticHandler(\n  routes: AgnosticRouteObject[],\n  opts?: CreateStaticHandlerOptions\n): StaticHandler {\n  invariant(\n    routes.length > 0,\n    \"You must provide a non-empty routes array to createStaticHandler\"\n  );\n\n  let manifest: RouteManifest = {};\n  let basename = (opts ? opts.basename : null) || \"/\";\n  let mapRouteProperties: MapRoutePropertiesFunction;\n  if (opts?.mapRouteProperties) {\n    mapRouteProperties = opts.mapRouteProperties;\n  } else if (opts?.detectErrorBoundary) {\n    // If they are still using the deprecated version, wrap it with the new API\n    let detectErrorBoundary = opts.detectErrorBoundary;\n    mapRouteProperties = (route) => ({\n      hasErrorBoundary: detectErrorBoundary(route),\n    });\n  } else {\n    mapRouteProperties = defaultMapRouteProperties;\n  }\n  // Config driven behavior flags\n  let future: StaticHandlerFutureConfig = {\n    v7_relativeSplatPath: false,\n    v7_throwAbortReason: false,\n    ...(opts ? opts.future : null),\n  };\n\n  let dataRoutes = convertRoutesToDataRoutes(\n    routes,\n    mapRouteProperties,\n    undefined,\n    manifest\n  );\n\n  /**\n   * The query() method is intended for document requests, in which we want to\n   * call an optional action and potentially multiple loaders for all nested\n   * routes.  It returns a StaticHandlerContext object, which is very similar\n   * to the router state (location, loaderData, actionData, errors, etc.) and\n   * also adds SSR-specific information such as the statusCode and headers\n   * from action/loaders Responses.\n   *\n   * It _should_ never throw and should report all errors through the\n   * returned context.errors object, properly associating errors to their error\n   * boundary.  Additionally, it tracks _deepestRenderedBoundaryId which can be\n   * used to emulate React error boundaries during SSr by performing a second\n   * pass only down to the boundaryId.\n   *\n   * The one exception where we do not return a StaticHandlerContext is when a\n   * redirect response is returned or thrown from any action/loader.  We\n   * propagate that out and return the raw Response so the HTTP server can\n   * return it directly.\n   */\n  async function query(\n    request: Request,\n    { requestContext }: { requestContext?: unknown } = {}\n  ): Promise<StaticHandlerContext | Response> {\n    let url = new URL(request.url);\n    let method = request.method;\n    let location = createLocation(\"\", createPath(url), null, \"default\");\n    let matches = matchRoutes(dataRoutes, location, basename);\n\n    // SSR supports HEAD requests while SPA doesn't\n    if (!isValidMethod(method) && method !== \"HEAD\") {\n      let error = getInternalRouterError(405, { method });\n      let { matches: methodNotAllowedMatches, route } =\n        getShortCircuitMatches(dataRoutes);\n      return {\n        basename,\n        location,\n        matches: methodNotAllowedMatches,\n        loaderData: {},\n        actionData: null,\n        errors: {\n          [route.id]: error,\n        },\n        statusCode: error.status,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null,\n      };\n    } else if (!matches) {\n      let error = getInternalRouterError(404, { pathname: location.pathname });\n      let { matches: notFoundMatches, route } =\n        getShortCircuitMatches(dataRoutes);\n      return {\n        basename,\n        location,\n        matches: notFoundMatches,\n        loaderData: {},\n        actionData: null,\n        errors: {\n          [route.id]: error,\n        },\n        statusCode: error.status,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null,\n      };\n    }\n\n    let result = await queryImpl(request, location, matches, requestContext);\n    if (isResponse(result)) {\n      return result;\n    }\n\n    // When returning StaticHandlerContext, we patch back in the location here\n    // since we need it for React Context.  But this helps keep our submit and\n    // loadRouteData operating on a Request instead of a Location\n    return { location, basename, ...result };\n  }\n\n  /**\n   * The queryRoute() method is intended for targeted route requests, either\n   * for fetch ?_data requests or resource route requests.  In this case, we\n   * are only ever calling a single action or loader, and we are returning the\n   * returned value directly.  In most cases, this will be a Response returned\n   * from the action/loader, but it may be a primitive or other value as well -\n   * and in such cases the calling context should handle that accordingly.\n   *\n   * We do respect the throw/return differentiation, so if an action/loader\n   * throws, then this method will throw the value.  This is important so we\n   * can do proper boundary identification in Remix where a thrown Response\n   * must go to the Catch Boundary but a returned Response is happy-path.\n   *\n   * One thing to note is that any Router-initiated Errors that make sense\n   * to associate with a status code will be thrown as an ErrorResponse\n   * instance which include the raw Error, such that the calling context can\n   * serialize the error as they see fit while including the proper response\n   * code.  Examples here are 404 and 405 errors that occur prior to reaching\n   * any user-defined loaders.\n   */\n  async function queryRoute(\n    request: Request,\n    {\n      routeId,\n      requestContext,\n    }: { requestContext?: unknown; routeId?: string } = {}\n  ): Promise<any> {\n    let url = new URL(request.url);\n    let method = request.method;\n    let location = createLocation(\"\", createPath(url), null, \"default\");\n    let matches = matchRoutes(dataRoutes, location, basename);\n\n    // SSR supports HEAD requests while SPA doesn't\n    if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n      throw getInternalRouterError(405, { method });\n    } else if (!matches) {\n      throw getInternalRouterError(404, { pathname: location.pathname });\n    }\n\n    let match = routeId\n      ? matches.find((m) => m.route.id === routeId)\n      : getTargetMatch(matches, location);\n\n    if (routeId && !match) {\n      throw getInternalRouterError(403, {\n        pathname: location.pathname,\n        routeId,\n      });\n    } else if (!match) {\n      // This should never hit I don't think?\n      throw getInternalRouterError(404, { pathname: location.pathname });\n    }\n\n    let result = await queryImpl(\n      request,\n      location,\n      matches,\n      requestContext,\n      match\n    );\n    if (isResponse(result)) {\n      return result;\n    }\n\n    let error = result.errors ? Object.values(result.errors)[0] : undefined;\n    if (error !== undefined) {\n      // If we got back result.errors, that means the loader/action threw\n      // _something_ that wasn't a Response, but it's not guaranteed/required\n      // to be an `instanceof Error` either, so we have to use throw here to\n      // preserve the \"error\" state outside of queryImpl.\n      throw error;\n    }\n\n    // Pick off the right state value to return\n    if (result.actionData) {\n      return Object.values(result.actionData)[0];\n    }\n\n    if (result.loaderData) {\n      let data = Object.values(result.loaderData)[0];\n      if (result.activeDeferreds?.[match.route.id]) {\n        data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n      }\n      return data;\n    }\n\n    return undefined;\n  }\n\n  async function queryImpl(\n    request: Request,\n    location: Location,\n    matches: AgnosticDataRouteMatch[],\n    requestContext: unknown,\n    routeMatch?: AgnosticDataRouteMatch\n  ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n    invariant(\n      request.signal,\n      \"query()/queryRoute() requests must contain an AbortController signal\"\n    );\n\n    try {\n      if (isMutationMethod(request.method.toLowerCase())) {\n        let result = await submit(\n          request,\n          matches,\n          routeMatch || getTargetMatch(matches, location),\n          requestContext,\n          routeMatch != null\n        );\n        return result;\n      }\n\n      let result = await loadRouteData(\n        request,\n        matches,\n        requestContext,\n        routeMatch\n      );\n      return isResponse(result)\n        ? result\n        : {\n            ...result,\n            actionData: null,\n            actionHeaders: {},\n          };\n    } catch (e) {\n      // If the user threw/returned a Response in callLoaderOrAction, we throw\n      // it to bail out and then return or throw here based on whether the user\n      // returned or threw\n      if (isQueryRouteResponse(e)) {\n        if (e.type === ResultType.error) {\n          throw e.response;\n        }\n        return e.response;\n      }\n      // Redirects are always returned since they don't propagate to catch\n      // boundaries\n      if (isRedirectResponse(e)) {\n        return e;\n      }\n      throw e;\n    }\n  }\n\n  async function submit(\n    request: Request,\n    matches: AgnosticDataRouteMatch[],\n    actionMatch: AgnosticDataRouteMatch,\n    requestContext: unknown,\n    isRouteRequest: boolean\n  ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n    let result: DataResult;\n\n    if (!actionMatch.route.action && !actionMatch.route.lazy) {\n      let error = getInternalRouterError(405, {\n        method: request.method,\n        pathname: new URL(request.url).pathname,\n        routeId: actionMatch.route.id,\n      });\n      if (isRouteRequest) {\n        throw error;\n      }\n      result = {\n        type: ResultType.error,\n        error,\n      };\n    } else {\n      result = await callLoaderOrAction(\n        \"action\",\n        request,\n        actionMatch,\n        matches,\n        manifest,\n        mapRouteProperties,\n        basename,\n        future.v7_relativeSplatPath,\n        { isStaticRequest: true, isRouteRequest, requestContext }\n      );\n\n      if (request.signal.aborted) {\n        throwStaticHandlerAbortedError(request, isRouteRequest, future);\n      }\n    }\n\n    if (isRedirectResult(result)) {\n      // Uhhhh - this should never happen, we should always throw these from\n      // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n      // can get back on the \"throw all redirect responses\" train here should\n      // this ever happen :/\n      throw new Response(null, {\n        status: result.status,\n        headers: {\n          Location: result.location,\n        },\n      });\n    }\n\n    if (isDeferredResult(result)) {\n      let error = getInternalRouterError(400, { type: \"defer-action\" });\n      if (isRouteRequest) {\n        throw error;\n      }\n      result = {\n        type: ResultType.error,\n        error,\n      };\n    }\n\n    if (isRouteRequest) {\n      // Note: This should only be non-Response values if we get here, since\n      // isRouteRequest should throw any Response received in callLoaderOrAction\n      if (isErrorResult(result)) {\n        throw result.error;\n      }\n\n      return {\n        matches: [actionMatch],\n        loaderData: {},\n        actionData: { [actionMatch.route.id]: result.data },\n        errors: null,\n        // Note: statusCode + headers are unused here since queryRoute will\n        // return the raw Response or value\n        statusCode: 200,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null,\n      };\n    }\n\n    if (isErrorResult(result)) {\n      // Store off the pending error - we use it to determine which loaders\n      // to call and will commit it when we complete the navigation\n      let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n      let context = await loadRouteData(\n        request,\n        matches,\n        requestContext,\n        undefined,\n        {\n          [boundaryMatch.route.id]: result.error,\n        }\n      );\n\n      // action status codes take precedence over loader status codes\n      return {\n        ...context,\n        statusCode: isRouteErrorResponse(result.error)\n          ? result.error.status\n          : 500,\n        actionData: null,\n        actionHeaders: {\n          ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n        },\n      };\n    }\n\n    // Create a GET request for the loaders\n    let loaderRequest = new Request(request.url, {\n      headers: request.headers,\n      redirect: request.redirect,\n      signal: request.signal,\n    });\n    let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n    return {\n      ...context,\n      // action status codes take precedence over loader status codes\n      ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n      actionData: {\n        [actionMatch.route.id]: result.data,\n      },\n      actionHeaders: {\n        ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n      },\n    };\n  }\n\n  async function loadRouteData(\n    request: Request,\n    matches: AgnosticDataRouteMatch[],\n    requestContext: unknown,\n    routeMatch?: AgnosticDataRouteMatch,\n    pendingActionError?: RouteData\n  ): Promise<\n    | Omit<\n        StaticHandlerContext,\n        \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n      >\n    | Response\n  > {\n    let isRouteRequest = routeMatch != null;\n\n    // Short circuit if we have no loaders to run (queryRoute())\n    if (\n      isRouteRequest &&\n      !routeMatch?.route.loader &&\n      !routeMatch?.route.lazy\n    ) {\n      throw getInternalRouterError(400, {\n        method: request.method,\n        pathname: new URL(request.url).pathname,\n        routeId: routeMatch?.route.id,\n      });\n    }\n\n    let requestMatches = routeMatch\n      ? [routeMatch]\n      : getLoaderMatchesUntilBoundary(\n          matches,\n          Object.keys(pendingActionError || {})[0]\n        );\n    let matchesToLoad = requestMatches.filter(\n      (m) => m.route.loader || m.route.lazy\n    );\n\n    // Short circuit if we have no loaders to run (query())\n    if (matchesToLoad.length === 0) {\n      return {\n        matches,\n        // Add a null for all matched routes for proper revalidation on the client\n        loaderData: matches.reduce(\n          (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n          {}\n        ),\n        errors: pendingActionError || null,\n        statusCode: 200,\n        loaderHeaders: {},\n        activeDeferreds: null,\n      };\n    }\n\n    let results = await Promise.all([\n      ...matchesToLoad.map((match) =>\n        callLoaderOrAction(\n          \"loader\",\n          request,\n          match,\n          matches,\n          manifest,\n          mapRouteProperties,\n          basename,\n          future.v7_relativeSplatPath,\n          { isStaticRequest: true, isRouteRequest, requestContext }\n        )\n      ),\n    ]);\n\n    if (request.signal.aborted) {\n      throwStaticHandlerAbortedError(request, isRouteRequest, future);\n    }\n\n    // Process and commit output from loaders\n    let activeDeferreds = new Map<string, DeferredData>();\n    let context = processRouteLoaderData(\n      matches,\n      matchesToLoad,\n      results,\n      pendingActionError,\n      activeDeferreds\n    );\n\n    // Add a null for any non-loader matches for proper revalidation on the client\n    let executedLoaders = new Set<string>(\n      matchesToLoad.map((match) => match.route.id)\n    );\n    matches.forEach((match) => {\n      if (!executedLoaders.has(match.route.id)) {\n        context.loaderData[match.route.id] = null;\n      }\n    });\n\n    return {\n      ...context,\n      matches,\n      activeDeferreds:\n        activeDeferreds.size > 0\n          ? Object.fromEntries(activeDeferreds.entries())\n          : null,\n    };\n  }\n\n  return {\n    dataRoutes,\n    query,\n    queryRoute,\n  };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n  routes: AgnosticDataRouteObject[],\n  context: StaticHandlerContext,\n  error: any\n) {\n  let newContext: StaticHandlerContext = {\n    ...context,\n    statusCode: isRouteErrorResponse(error) ? error.status : 500,\n    errors: {\n      [context._deepestRenderedBoundaryId || routes[0].id]: error,\n    },\n  };\n  return newContext;\n}\n\nfunction throwStaticHandlerAbortedError(\n  request: Request,\n  isRouteRequest: boolean,\n  future: StaticHandlerFutureConfig\n) {\n  if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n    throw request.signal.reason;\n  }\n\n  let method = isRouteRequest ? \"queryRoute\" : \"query\";\n  throw new Error(`${method}() call aborted: ${request.method} ${request.url}`);\n}\n\nfunction isSubmissionNavigation(\n  opts: BaseNavigateOrFetchOptions\n): opts is SubmissionNavigateOptions {\n  return (\n    opts != null &&\n    ((\"formData\" in opts && opts.formData != null) ||\n      (\"body\" in opts && opts.body !== undefined))\n  );\n}\n\nfunction normalizeTo(\n  location: Path,\n  matches: AgnosticDataRouteMatch[],\n  basename: string,\n  prependBasename: boolean,\n  to: To | null,\n  v7_relativeSplatPath: boolean,\n  fromRouteId?: string,\n  relative?: RelativeRoutingType\n) {\n  let contextualMatches: AgnosticDataRouteMatch[];\n  let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n  if (fromRouteId) {\n    // Grab matches up to the calling route so our route-relative logic is\n    // relative to the correct source route\n    contextualMatches = [];\n    for (let match of matches) {\n      contextualMatches.push(match);\n      if (match.route.id === fromRouteId) {\n        activeRouteMatch = match;\n        break;\n      }\n    }\n  } else {\n    contextualMatches = matches;\n    activeRouteMatch = matches[matches.length - 1];\n  }\n\n  // Resolve the relative path\n  let path = resolveTo(\n    to ? to : \".\",\n    getResolveToMatches(contextualMatches, v7_relativeSplatPath),\n    stripBasename(location.pathname, basename) || location.pathname,\n    relative === \"path\"\n  );\n\n  // When `to` is not specified we inherit search/hash from the current\n  // location, unlike when to=\".\" and we just inherit the path.\n  // See https://github.com/remix-run/remix/issues/927\n  if (to == null) {\n    path.search = location.search;\n    path.hash = location.hash;\n  }\n\n  // Add an ?index param for matched index routes if we don't already have one\n  if (\n    (to == null || to === \"\" || to === \".\") &&\n    activeRouteMatch &&\n    activeRouteMatch.route.index &&\n    !hasNakedIndexQuery(path.search)\n  ) {\n    path.search = path.search\n      ? path.search.replace(/^\\?/, \"?index&\")\n      : \"?index\";\n  }\n\n  // If we're operating within a basename, prepend it to the pathname.  If\n  // this is a root navigation, then just use the raw basename which allows\n  // the basename to have full control over the presence of a trailing slash\n  // on root actions\n  if (prependBasename && basename !== \"/\") {\n    path.pathname =\n      path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n\n  return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n  normalizeFormMethod: boolean,\n  isFetcher: boolean,\n  path: string,\n  opts?: BaseNavigateOrFetchOptions\n): {\n  path: string;\n  submission?: Submission;\n  error?: ErrorResponseImpl;\n} {\n  // Return location verbatim on non-submission navigations\n  if (!opts || !isSubmissionNavigation(opts)) {\n    return { path };\n  }\n\n  if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n    return {\n      path,\n      error: getInternalRouterError(405, { method: opts.formMethod }),\n    };\n  }\n\n  let getInvalidBodyError = () => ({\n    path,\n    error: getInternalRouterError(400, { type: \"invalid-body\" }),\n  });\n\n  // Create a Submission on non-GET navigations\n  let rawFormMethod = opts.formMethod || \"get\";\n  let formMethod = normalizeFormMethod\n    ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n    : (rawFormMethod.toLowerCase() as FormMethod);\n  let formAction = stripHashFromPath(path);\n\n  if (opts.body !== undefined) {\n    if (opts.formEncType === \"text/plain\") {\n      // text only support POST/PUT/PATCH/DELETE submissions\n      if (!isMutationMethod(formMethod)) {\n        return getInvalidBodyError();\n      }\n\n      let text =\n        typeof opts.body === \"string\"\n          ? opts.body\n          : opts.body instanceof FormData ||\n            opts.body instanceof URLSearchParams\n          ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n            Array.from(opts.body.entries()).reduce(\n              (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n              \"\"\n            )\n          : String(opts.body);\n\n      return {\n        path,\n        submission: {\n          formMethod,\n          formAction,\n          formEncType: opts.formEncType,\n          formData: undefined,\n          json: undefined,\n          text,\n        },\n      };\n    } else if (opts.formEncType === \"application/json\") {\n      // json only supports POST/PUT/PATCH/DELETE submissions\n      if (!isMutationMethod(formMethod)) {\n        return getInvalidBodyError();\n      }\n\n      try {\n        let json =\n          typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n        return {\n          path,\n          submission: {\n            formMethod,\n            formAction,\n            formEncType: opts.formEncType,\n            formData: undefined,\n            json,\n            text: undefined,\n          },\n        };\n      } catch (e) {\n        return getInvalidBodyError();\n      }\n    }\n  }\n\n  invariant(\n    typeof FormData === \"function\",\n    \"FormData is not available in this environment\"\n  );\n\n  let searchParams: URLSearchParams;\n  let formData: FormData;\n\n  if (opts.formData) {\n    searchParams = convertFormDataToSearchParams(opts.formData);\n    formData = opts.formData;\n  } else if (opts.body instanceof FormData) {\n    searchParams = convertFormDataToSearchParams(opts.body);\n    formData = opts.body;\n  } else if (opts.body instanceof URLSearchParams) {\n    searchParams = opts.body;\n    formData = convertSearchParamsToFormData(searchParams);\n  } else if (opts.body == null) {\n    searchParams = new URLSearchParams();\n    formData = new FormData();\n  } else {\n    try {\n      searchParams = new URLSearchParams(opts.body);\n      formData = convertSearchParamsToFormData(searchParams);\n    } catch (e) {\n      return getInvalidBodyError();\n    }\n  }\n\n  let submission: Submission = {\n    formMethod,\n    formAction,\n    formEncType:\n      (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n    formData,\n    json: undefined,\n    text: undefined,\n  };\n\n  if (isMutationMethod(submission.formMethod)) {\n    return { path, submission };\n  }\n\n  // Flatten submission onto URLSearchParams for GET submissions\n  let parsedPath = parsePath(path);\n  // On GET navigation submissions we can drop the ?index param from the\n  // resulting location since all loaders will run.  But fetcher GET submissions\n  // only run a single loader so we need to preserve any incoming ?index params\n  if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n    searchParams.append(\"index\", \"\");\n  }\n  parsedPath.search = `?${searchParams}`;\n\n  return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n  matches: AgnosticDataRouteMatch[],\n  boundaryId?: string\n) {\n  let boundaryMatches = matches;\n  if (boundaryId) {\n    let index = matches.findIndex((m) => m.route.id === boundaryId);\n    if (index >= 0) {\n      boundaryMatches = matches.slice(0, index);\n    }\n  }\n  return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n  history: History,\n  state: RouterState,\n  matches: AgnosticDataRouteMatch[],\n  submission: Submission | undefined,\n  location: Location,\n  isInitialLoad: boolean,\n  isRevalidationRequired: boolean,\n  cancelledDeferredRoutes: string[],\n  cancelledFetcherLoads: string[],\n  deletedFetchers: Set<string>,\n  fetchLoadMatches: Map<string, FetchLoadMatch>,\n  fetchRedirectIds: Set<string>,\n  routesToUse: AgnosticDataRouteObject[],\n  basename: string | undefined,\n  pendingActionData?: RouteData,\n  pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n  let actionResult = pendingError\n    ? Object.values(pendingError)[0]\n    : pendingActionData\n    ? Object.values(pendingActionData)[0]\n    : undefined;\n\n  let currentUrl = history.createURL(state.location);\n  let nextUrl = history.createURL(location);\n\n  // Pick navigation matches that are net-new or qualify for revalidation\n  let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n  let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n  let navigationMatches = boundaryMatches.filter((match, index) => {\n    let { route } = match;\n    if (route.lazy) {\n      // We haven't loaded this route yet so we don't know if it's got a loader!\n      return true;\n    }\n\n    if (route.loader == null) {\n      return false;\n    }\n\n    if (isInitialLoad) {\n      if (route.loader.hydrate) {\n        return true;\n      }\n      return (\n        state.loaderData[route.id] === undefined &&\n        // Don't re-run if the loader ran and threw an error\n        (!state.errors || state.errors[route.id] === undefined)\n      );\n    }\n\n    // Always call the loader on new route instances and pending defer cancellations\n    if (\n      isNewLoader(state.loaderData, state.matches[index], match) ||\n      cancelledDeferredRoutes.some((id) => id === match.route.id)\n    ) {\n      return true;\n    }\n\n    // This is the default implementation for when we revalidate.  If the route\n    // provides it's own implementation, then we give them full control but\n    // provide this value so they can leverage it if needed after they check\n    // their own specific use cases\n    let currentRouteMatch = state.matches[index];\n    let nextRouteMatch = match;\n\n    return shouldRevalidateLoader(match, {\n      currentUrl,\n      currentParams: currentRouteMatch.params,\n      nextUrl,\n      nextParams: nextRouteMatch.params,\n      ...submission,\n      actionResult,\n      defaultShouldRevalidate:\n        // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n        isRevalidationRequired ||\n        // Clicked the same link, resubmitted a GET form\n        currentUrl.pathname + currentUrl.search ===\n          nextUrl.pathname + nextUrl.search ||\n        // Search params affect all loaders\n        currentUrl.search !== nextUrl.search ||\n        isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n    });\n  });\n\n  // Pick fetcher.loads that need to be revalidated\n  let revalidatingFetchers: RevalidatingFetcher[] = [];\n  fetchLoadMatches.forEach((f, key) => {\n    // Don't revalidate:\n    //  - on initial load (shouldn't be any fetchers then anyway)\n    //  - if fetcher won't be present in the subsequent render\n    //    - no longer matches the URL (v7_fetcherPersist=false)\n    //    - was unmounted but persisted due to v7_fetcherPersist=true\n    if (\n      isInitialLoad ||\n      !matches.some((m) => m.route.id === f.routeId) ||\n      deletedFetchers.has(key)\n    ) {\n      return;\n    }\n\n    let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n    // If the fetcher path no longer matches, push it in with null matches so\n    // we can trigger a 404 in callLoadersAndMaybeResolveData.  Note this is\n    // currently only a use-case for Remix HMR where the route tree can change\n    // at runtime and remove a route previously loaded via a fetcher\n    if (!fetcherMatches) {\n      revalidatingFetchers.push({\n        key,\n        routeId: f.routeId,\n        path: f.path,\n        matches: null,\n        match: null,\n        controller: null,\n      });\n      return;\n    }\n\n    // Revalidating fetchers are decoupled from the route matches since they\n    // load from a static href.  They revalidate based on explicit revalidation\n    // (submission, useRevalidator, or X-Remix-Revalidate)\n    let fetcher = state.fetchers.get(key);\n    let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n    let shouldRevalidate = false;\n    if (fetchRedirectIds.has(key)) {\n      // Never trigger a revalidation of an actively redirecting fetcher\n      shouldRevalidate = false;\n    } else if (cancelledFetcherLoads.includes(key)) {\n      // Always revalidate if the fetcher was cancelled\n      shouldRevalidate = true;\n    } else if (\n      fetcher &&\n      fetcher.state !== \"idle\" &&\n      fetcher.data === undefined\n    ) {\n      // If the fetcher hasn't ever completed loading yet, then this isn't a\n      // revalidation, it would just be a brand new load if an explicit\n      // revalidation is required\n      shouldRevalidate = isRevalidationRequired;\n    } else {\n      // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n      // to explicit revalidations only\n      shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n        currentUrl,\n        currentParams: state.matches[state.matches.length - 1].params,\n        nextUrl,\n        nextParams: matches[matches.length - 1].params,\n        ...submission,\n        actionResult,\n        defaultShouldRevalidate: isRevalidationRequired,\n      });\n    }\n\n    if (shouldRevalidate) {\n      revalidatingFetchers.push({\n        key,\n        routeId: f.routeId,\n        path: f.path,\n        matches: fetcherMatches,\n        match: fetcherMatch,\n        controller: new AbortController(),\n      });\n    }\n  });\n\n  return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n  currentLoaderData: RouteData,\n  currentMatch: AgnosticDataRouteMatch,\n  match: AgnosticDataRouteMatch\n) {\n  let isNew =\n    // [a] -> [a, b]\n    !currentMatch ||\n    // [a, b] -> [a, c]\n    match.route.id !== currentMatch.route.id;\n\n  // Handle the case that we don't have data for a re-used route, potentially\n  // from a prior error or from a cancelled pending deferred\n  let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n  // Always load if this is a net-new route or we don't yet have data\n  return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n  currentMatch: AgnosticDataRouteMatch,\n  match: AgnosticDataRouteMatch\n) {\n  let currentPath = currentMatch.route.path;\n  return (\n    // param change for this match, /users/123 -> /users/456\n    currentMatch.pathname !== match.pathname ||\n    // splat param changed, which is not present in match.path\n    // e.g. /files/images/avatar.jpg -> files/finances.xls\n    (currentPath != null &&\n      currentPath.endsWith(\"*\") &&\n      currentMatch.params[\"*\"] !== match.params[\"*\"])\n  );\n}\n\nfunction shouldRevalidateLoader(\n  loaderMatch: AgnosticDataRouteMatch,\n  arg: ShouldRevalidateFunctionArgs\n) {\n  if (loaderMatch.route.shouldRevalidate) {\n    let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n    if (typeof routeChoice === \"boolean\") {\n      return routeChoice;\n    }\n  }\n\n  return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n  route: AgnosticDataRouteObject,\n  mapRouteProperties: MapRoutePropertiesFunction,\n  manifest: RouteManifest\n) {\n  if (!route.lazy) {\n    return;\n  }\n\n  let lazyRoute = await route.lazy();\n\n  // If the lazy route function was executed and removed by another parallel\n  // call then we can return - first lazy() to finish wins because the return\n  // value of lazy is expected to be static\n  if (!route.lazy) {\n    return;\n  }\n\n  let routeToUpdate = manifest[route.id];\n  invariant(routeToUpdate, \"No route found in manifest\");\n\n  // Update the route in place.  This should be safe because there's no way\n  // we could yet be sitting on this route as we can't get there without\n  // resolving lazy() first.\n  //\n  // This is different than the HMR \"update\" use-case where we may actively be\n  // on the route being updated.  The main concern boils down to \"does this\n  // mutation affect any ongoing navigations or any current state.matches\n  // values?\".  If not, it should be safe to update in place.\n  let routeUpdates: Record<string, any> = {};\n  for (let lazyRouteProperty in lazyRoute) {\n    let staticRouteValue =\n      routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n    let isPropertyStaticallyDefined =\n      staticRouteValue !== undefined &&\n      // This property isn't static since it should always be updated based\n      // on the route updates\n      lazyRouteProperty !== \"hasErrorBoundary\";\n\n    warning(\n      !isPropertyStaticallyDefined,\n      `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n        `defined but its lazy function is also returning a value for this property. ` +\n        `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n    );\n\n    if (\n      !isPropertyStaticallyDefined &&\n      !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n    ) {\n      routeUpdates[lazyRouteProperty] =\n        lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n    }\n  }\n\n  // Mutate the route with the provided updates.  Do this first so we pass\n  // the updated version to mapRouteProperties\n  Object.assign(routeToUpdate, routeUpdates);\n\n  // Mutate the `hasErrorBoundary` property on the route based on the route\n  // updates and remove the `lazy` function so we don't resolve the lazy\n  // route again.\n  Object.assign(routeToUpdate, {\n    // To keep things framework agnostic, we use the provided\n    // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n    // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n    // the logic will differ between frameworks.\n    ...mapRouteProperties(routeToUpdate),\n    lazy: undefined,\n  });\n}\n\nasync function callLoaderOrAction(\n  type: \"loader\" | \"action\",\n  request: Request,\n  match: AgnosticDataRouteMatch,\n  matches: AgnosticDataRouteMatch[],\n  manifest: RouteManifest,\n  mapRouteProperties: MapRoutePropertiesFunction,\n  basename: string,\n  v7_relativeSplatPath: boolean,\n  opts: {\n    isStaticRequest?: boolean;\n    isRouteRequest?: boolean;\n    requestContext?: unknown;\n  } = {}\n): Promise<DataResult> {\n  let resultType;\n  let result;\n  let onReject: (() => void) | undefined;\n\n  let runHandler = (handler: ActionFunction | LoaderFunction) => {\n    // Setup a promise we can race against so that abort signals short circuit\n    let reject: () => void;\n    let abortPromise = new Promise((_, r) => (reject = r));\n    onReject = () => reject();\n    request.signal.addEventListener(\"abort\", onReject);\n    return Promise.race([\n      handler({\n        request,\n        params: match.params,\n        context: opts.requestContext,\n      }),\n      abortPromise,\n    ]);\n  };\n\n  try {\n    let handler = match.route[type];\n\n    if (match.route.lazy) {\n      if (handler) {\n        // Run statically defined handler in parallel with lazy()\n        let handlerError;\n        let values = await Promise.all([\n          // If the handler throws, don't let it immediately bubble out,\n          // since we need to let the lazy() execution finish so we know if this\n          // route has a boundary that can handle the error\n          runHandler(handler).catch((e) => {\n            handlerError = e;\n          }),\n          loadLazyRouteModule(match.route, mapRouteProperties, manifest),\n        ]);\n        if (handlerError) {\n          throw handlerError;\n        }\n        result = values[0];\n      } else {\n        // Load lazy route module, then run any returned handler\n        await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n\n        handler = match.route[type];\n        if (handler) {\n          // Handler still run even if we got interrupted to maintain consistency\n          // with un-abortable behavior of handler execution on non-lazy or\n          // previously-lazy-loaded routes\n          result = await runHandler(handler);\n        } else if (type === \"action\") {\n          let url = new URL(request.url);\n          let pathname = url.pathname + url.search;\n          throw getInternalRouterError(405, {\n            method: request.method,\n            pathname,\n            routeId: match.route.id,\n          });\n        } else {\n          // lazy() route has no loader to run.  Short circuit here so we don't\n          // hit the invariant below that errors on returning undefined.\n          return { type: ResultType.data, data: undefined };\n        }\n      }\n    } else if (!handler) {\n      let url = new URL(request.url);\n      let pathname = url.pathname + url.search;\n      throw getInternalRouterError(404, {\n        pathname,\n      });\n    } else {\n      result = await runHandler(handler);\n    }\n\n    invariant(\n      result !== undefined,\n      `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n        `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n        `function. Please return a value or \\`null\\`.`\n    );\n  } catch (e) {\n    resultType = ResultType.error;\n    result = e;\n  } finally {\n    if (onReject) {\n      request.signal.removeEventListener(\"abort\", onReject);\n    }\n  }\n\n  if (isResponse(result)) {\n    let status = result.status;\n\n    // Process redirects\n    if (redirectStatusCodes.has(status)) {\n      let location = result.headers.get(\"Location\");\n      invariant(\n        location,\n        \"Redirects returned/thrown from loaders/actions must have a Location header\"\n      );\n\n      // Support relative routing in internal redirects\n      if (!ABSOLUTE_URL_REGEX.test(location)) {\n        location = normalizeTo(\n          new URL(request.url),\n          matches.slice(0, matches.indexOf(match) + 1),\n          basename,\n          true,\n          location,\n          v7_relativeSplatPath\n        );\n      } else if (!opts.isStaticRequest) {\n        // Strip off the protocol+origin for same-origin + same-basename absolute\n        // redirects. If this is a static request, we can let it go back to the\n        // browser as-is\n        let currentUrl = new URL(request.url);\n        let url = location.startsWith(\"//\")\n          ? new URL(currentUrl.protocol + location)\n          : new URL(location);\n        let isSameBasename = stripBasename(url.pathname, basename) != null;\n        if (url.origin === currentUrl.origin && isSameBasename) {\n          location = url.pathname + url.search + url.hash;\n        }\n      }\n\n      // Don't process redirects in the router during static requests requests.\n      // Instead, throw the Response and let the server handle it with an HTTP\n      // redirect.  We also update the Location header in place in this flow so\n      // basename and relative routing is taken into account\n      if (opts.isStaticRequest) {\n        result.headers.set(\"Location\", location);\n        throw result;\n      }\n\n      return {\n        type: ResultType.redirect,\n        status,\n        location,\n        revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n        reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null,\n      };\n    }\n\n    // For SSR single-route requests, we want to hand Responses back directly\n    // without unwrapping.  We do this with the QueryRouteResponse wrapper\n    // interface so we can know whether it was returned or thrown\n    if (opts.isRouteRequest) {\n      let queryRouteResponse: QueryRouteResponse = {\n        type:\n          resultType === ResultType.error ? ResultType.error : ResultType.data,\n        response: result,\n      };\n      throw queryRouteResponse;\n    }\n\n    let data: any;\n\n    try {\n      let contentType = result.headers.get(\"Content-Type\");\n      // Check between word boundaries instead of startsWith() due to the last\n      // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n      if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n        if (result.body == null) {\n          data = null;\n        } else {\n          data = await result.json();\n        }\n      } else {\n        data = await result.text();\n      }\n    } catch (e) {\n      return { type: ResultType.error, error: e };\n    }\n\n    if (resultType === ResultType.error) {\n      return {\n        type: resultType,\n        error: new ErrorResponseImpl(status, result.statusText, data),\n        headers: result.headers,\n      };\n    }\n\n    return {\n      type: ResultType.data,\n      data,\n      statusCode: result.status,\n      headers: result.headers,\n    };\n  }\n\n  if (resultType === ResultType.error) {\n    return { type: resultType, error: result };\n  }\n\n  if (isDeferredData(result)) {\n    return {\n      type: ResultType.deferred,\n      deferredData: result,\n      statusCode: result.init?.status,\n      headers: result.init?.headers && new Headers(result.init.headers),\n    };\n  }\n\n  return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches.  During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n  history: History,\n  location: string | Location,\n  signal: AbortSignal,\n  submission?: Submission\n): Request {\n  let url = history.createURL(stripHashFromPath(location)).toString();\n  let init: RequestInit = { signal };\n\n  if (submission && isMutationMethod(submission.formMethod)) {\n    let { formMethod, formEncType } = submission;\n    // Didn't think we needed this but it turns out unlike other methods, patch\n    // won't be properly normalized to uppercase and results in a 405 error.\n    // See: https://fetch.spec.whatwg.org/#concept-method\n    init.method = formMethod.toUpperCase();\n\n    if (formEncType === \"application/json\") {\n      init.headers = new Headers({ \"Content-Type\": formEncType });\n      init.body = JSON.stringify(submission.json);\n    } else if (formEncType === \"text/plain\") {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = submission.text;\n    } else if (\n      formEncType === \"application/x-www-form-urlencoded\" &&\n      submission.formData\n    ) {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = convertFormDataToSearchParams(submission.formData);\n    } else {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = submission.formData;\n    }\n  }\n\n  return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n  let searchParams = new URLSearchParams();\n\n  for (let [key, value] of formData.entries()) {\n    // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n    searchParams.append(key, typeof value === \"string\" ? value : value.name);\n  }\n\n  return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n  searchParams: URLSearchParams\n): FormData {\n  let formData = new FormData();\n  for (let [key, value] of searchParams.entries()) {\n    formData.append(key, value);\n  }\n  return formData;\n}\n\nfunction processRouteLoaderData(\n  matches: AgnosticDataRouteMatch[],\n  matchesToLoad: AgnosticDataRouteMatch[],\n  results: DataResult[],\n  pendingError: RouteData | undefined,\n  activeDeferreds: Map<string, DeferredData>\n): {\n  loaderData: RouterState[\"loaderData\"];\n  errors: RouterState[\"errors\"] | null;\n  statusCode: number;\n  loaderHeaders: Record<string, Headers>;\n} {\n  // Fill in loaderData/errors from our loaders\n  let loaderData: RouterState[\"loaderData\"] = {};\n  let errors: RouterState[\"errors\"] | null = null;\n  let statusCode: number | undefined;\n  let foundError = false;\n  let loaderHeaders: Record<string, Headers> = {};\n\n  // Process loader results into state.loaderData/state.errors\n  results.forEach((result, index) => {\n    let id = matchesToLoad[index].route.id;\n    invariant(\n      !isRedirectResult(result),\n      \"Cannot handle redirect results in processLoaderData\"\n    );\n    if (isErrorResult(result)) {\n      // Look upwards from the matched route for the closest ancestor\n      // error boundary, defaulting to the root match\n      let boundaryMatch = findNearestBoundary(matches, id);\n      let error = result.error;\n      // If we have a pending action error, we report it at the highest-route\n      // that throws a loader error, and then clear it out to indicate that\n      // it was consumed\n      if (pendingError) {\n        error = Object.values(pendingError)[0];\n        pendingError = undefined;\n      }\n\n      errors = errors || {};\n\n      // Prefer higher error values if lower errors bubble to the same boundary\n      if (errors[boundaryMatch.route.id] == null) {\n        errors[boundaryMatch.route.id] = error;\n      }\n\n      // Clear our any prior loaderData for the throwing route\n      loaderData[id] = undefined;\n\n      // Once we find our first (highest) error, we set the status code and\n      // prevent deeper status codes from overriding\n      if (!foundError) {\n        foundError = true;\n        statusCode = isRouteErrorResponse(result.error)\n          ? result.error.status\n          : 500;\n      }\n      if (result.headers) {\n        loaderHeaders[id] = result.headers;\n      }\n    } else {\n      if (isDeferredResult(result)) {\n        activeDeferreds.set(id, result.deferredData);\n        loaderData[id] = result.deferredData.data;\n      } else {\n        loaderData[id] = result.data;\n      }\n\n      // Error status codes always override success status codes, but if all\n      // loaders are successful we take the deepest status code.\n      if (\n        result.statusCode != null &&\n        result.statusCode !== 200 &&\n        !foundError\n      ) {\n        statusCode = result.statusCode;\n      }\n      if (result.headers) {\n        loaderHeaders[id] = result.headers;\n      }\n    }\n  });\n\n  // If we didn't consume the pending action error (i.e., all loaders\n  // resolved), then consume it here.  Also clear out any loaderData for the\n  // throwing route\n  if (pendingError) {\n    errors = pendingError;\n    loaderData[Object.keys(pendingError)[0]] = undefined;\n  }\n\n  return {\n    loaderData,\n    errors,\n    statusCode: statusCode || 200,\n    loaderHeaders,\n  };\n}\n\nfunction processLoaderData(\n  state: RouterState,\n  matches: AgnosticDataRouteMatch[],\n  matchesToLoad: AgnosticDataRouteMatch[],\n  results: DataResult[],\n  pendingError: RouteData | undefined,\n  revalidatingFetchers: RevalidatingFetcher[],\n  fetcherResults: DataResult[],\n  activeDeferreds: Map<string, DeferredData>\n): {\n  loaderData: RouterState[\"loaderData\"];\n  errors?: RouterState[\"errors\"];\n} {\n  let { loaderData, errors } = processRouteLoaderData(\n    matches,\n    matchesToLoad,\n    results,\n    pendingError,\n    activeDeferreds\n  );\n\n  // Process results from our revalidating fetchers\n  for (let index = 0; index < revalidatingFetchers.length; index++) {\n    let { key, match, controller } = revalidatingFetchers[index];\n    invariant(\n      fetcherResults !== undefined && fetcherResults[index] !== undefined,\n      \"Did not find corresponding fetcher result\"\n    );\n    let result = fetcherResults[index];\n\n    // Process fetcher non-redirect errors\n    if (controller && controller.signal.aborted) {\n      // Nothing to do for aborted fetchers\n      continue;\n    } else if (isErrorResult(result)) {\n      let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n      if (!(errors && errors[boundaryMatch.route.id])) {\n        errors = {\n          ...errors,\n          [boundaryMatch.route.id]: result.error,\n        };\n      }\n      state.fetchers.delete(key);\n    } else if (isRedirectResult(result)) {\n      // Should never get here, redirects should get processed above, but we\n      // keep this to type narrow to a success result in the else\n      invariant(false, \"Unhandled fetcher revalidation redirect\");\n    } else if (isDeferredResult(result)) {\n      // Should never get here, deferred data should be awaited for fetchers\n      // in resolveDeferredResults\n      invariant(false, \"Unhandled fetcher deferred data\");\n    } else {\n      let doneFetcher = getDoneFetcher(result.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n  }\n\n  return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n  loaderData: RouteData,\n  newLoaderData: RouteData,\n  matches: AgnosticDataRouteMatch[],\n  errors: RouteData | null | undefined\n): RouteData {\n  let mergedLoaderData = { ...newLoaderData };\n  for (let match of matches) {\n    let id = match.route.id;\n    if (newLoaderData.hasOwnProperty(id)) {\n      if (newLoaderData[id] !== undefined) {\n        mergedLoaderData[id] = newLoaderData[id];\n      } else {\n        // No-op - this is so we ignore existing data if we have a key in the\n        // incoming object with an undefined value, which is how we unset a prior\n        // loaderData if we encounter a loader error\n      }\n    } else if (loaderData[id] !== undefined && match.route.loader) {\n      // Preserve existing keys not included in newLoaderData and where a loader\n      // wasn't removed by HMR\n      mergedLoaderData[id] = loaderData[id];\n    }\n\n    if (errors && errors.hasOwnProperty(id)) {\n      // Don't keep any loader data below the boundary\n      break;\n    }\n  }\n  return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n  matches: AgnosticDataRouteMatch[],\n  routeId?: string\n): AgnosticDataRouteMatch {\n  let eligibleMatches = routeId\n    ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n    : [...matches];\n  return (\n    eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n    matches[0]\n  );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n  matches: AgnosticDataRouteMatch[];\n  route: AgnosticDataRouteObject;\n} {\n  // Prefer a root layout route if present, otherwise shim in a route object\n  let route =\n    routes.length === 1\n      ? routes[0]\n      : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n          id: `__shim-error-route__`,\n        };\n\n  return {\n    matches: [\n      {\n        params: {},\n        pathname: \"\",\n        pathnameBase: \"\",\n        route,\n      },\n    ],\n    route,\n  };\n}\n\nfunction getInternalRouterError(\n  status: number,\n  {\n    pathname,\n    routeId,\n    method,\n    type,\n  }: {\n    pathname?: string;\n    routeId?: string;\n    method?: string;\n    type?: \"defer-action\" | \"invalid-body\";\n  } = {}\n) {\n  let statusText = \"Unknown Server Error\";\n  let errorMessage = \"Unknown @remix-run/router error\";\n\n  if (status === 400) {\n    statusText = \"Bad Request\";\n    if (method && pathname && routeId) {\n      errorMessage =\n        `You made a ${method} request to \"${pathname}\" but ` +\n        `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n        `so there is no way to handle the request.`;\n    } else if (type === \"defer-action\") {\n      errorMessage = \"defer() is not supported in actions\";\n    } else if (type === \"invalid-body\") {\n      errorMessage = \"Unable to encode submission body\";\n    }\n  } else if (status === 403) {\n    statusText = \"Forbidden\";\n    errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n  } else if (status === 404) {\n    statusText = \"Not Found\";\n    errorMessage = `No route matches URL \"${pathname}\"`;\n  } else if (status === 405) {\n    statusText = \"Method Not Allowed\";\n    if (method && pathname && routeId) {\n      errorMessage =\n        `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n        `did not provide an \\`action\\` for route \"${routeId}\", ` +\n        `so there is no way to handle the request.`;\n    } else if (method) {\n      errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n    }\n  }\n\n  return new ErrorResponseImpl(\n    status || 500,\n    statusText,\n    new Error(errorMessage),\n    true\n  );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n  results: DataResult[]\n): { result: RedirectResult; idx: number } | undefined {\n  for (let i = results.length - 1; i >= 0; i--) {\n    let result = results[i];\n    if (isRedirectResult(result)) {\n      return { result, idx: i };\n    }\n  }\n}\n\nfunction stripHashFromPath(path: To) {\n  let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n  return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n  if (a.pathname !== b.pathname || a.search !== b.search) {\n    return false;\n  }\n\n  if (a.hash === \"\") {\n    // /page -> /page#hash\n    return b.hash !== \"\";\n  } else if (a.hash === b.hash) {\n    // /page#hash -> /page#hash\n    return true;\n  } else if (b.hash !== \"\") {\n    // /page#hash -> /page#other\n    return true;\n  }\n\n  // If the hash is removed the browser will re-perform a request to the server\n  // /page#hash -> /page\n  return false;\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n  return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n  return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n  return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n  let deferred: DeferredData = value;\n  return (\n    deferred &&\n    typeof deferred === \"object\" &&\n    typeof deferred.data === \"object\" &&\n    typeof deferred.subscribe === \"function\" &&\n    typeof deferred.cancel === \"function\" &&\n    typeof deferred.resolveData === \"function\"\n  );\n}\n\nfunction isResponse(value: any): value is Response {\n  return (\n    value != null &&\n    typeof value.status === \"number\" &&\n    typeof value.statusText === \"string\" &&\n    typeof value.headers === \"object\" &&\n    typeof value.body !== \"undefined\"\n  );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n  if (!isResponse(result)) {\n    return false;\n  }\n\n  let status = result.status;\n  let location = result.headers.get(\"Location\");\n  return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n  return (\n    obj &&\n    isResponse(obj.response) &&\n    (obj.type === ResultType.data || obj.type === ResultType.error)\n  );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n  return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n  method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n  return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n  currentMatches: AgnosticDataRouteMatch[],\n  matchesToLoad: (AgnosticDataRouteMatch | null)[],\n  results: DataResult[],\n  signals: (AbortSignal | null)[],\n  isFetcher: boolean,\n  currentLoaderData?: RouteData\n) {\n  for (let index = 0; index < results.length; index++) {\n    let result = results[index];\n    let match = matchesToLoad[index];\n    // If we don't have a match, then we can have a deferred result to do\n    // anything with.  This is for revalidating fetchers where the route was\n    // removed during HMR\n    if (!match) {\n      continue;\n    }\n\n    let currentMatch = currentMatches.find(\n      (m) => m.route.id === match!.route.id\n    );\n    let isRevalidatingLoader =\n      currentMatch != null &&\n      !isNewRouteInstance(currentMatch, match) &&\n      (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n    if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n      // Note: we do not have to touch activeDeferreds here since we race them\n      // against the signal in resolveDeferredData and they'll get aborted\n      // there if needed\n      let signal = signals[index];\n      invariant(\n        signal,\n        \"Expected an AbortSignal for revalidating fetcher deferred result\"\n      );\n      await resolveDeferredData(result, signal, isFetcher).then((result) => {\n        if (result) {\n          results[index] = result || results[index];\n        }\n      });\n    }\n  }\n}\n\nasync function resolveDeferredData(\n  result: DeferredResult,\n  signal: AbortSignal,\n  unwrap = false\n): Promise<SuccessResult | ErrorResult | undefined> {\n  let aborted = await result.deferredData.resolveData(signal);\n  if (aborted) {\n    return;\n  }\n\n  if (unwrap) {\n    try {\n      return {\n        type: ResultType.data,\n        data: result.deferredData.unwrappedData,\n      };\n    } catch (e) {\n      // Handle any TrackedPromise._error values encountered while unwrapping\n      return {\n        type: ResultType.error,\n        error: e,\n      };\n    }\n  }\n\n  return {\n    type: ResultType.data,\n    data: result.deferredData.data,\n  };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n  return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n  matches: AgnosticDataRouteMatch[],\n  location: Location | string\n) {\n  let search =\n    typeof location === \"string\" ? parsePath(location).search : location.search;\n  if (\n    matches[matches.length - 1].route.index &&\n    hasNakedIndexQuery(search || \"\")\n  ) {\n    // Return the leaf index route when index is present\n    return matches[matches.length - 1];\n  }\n  // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n  // pathless layout routes)\n  let pathMatches = getPathContributingMatches(matches);\n  return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n  navigation: Navigation\n): Submission | undefined {\n  let { formMethod, formAction, formEncType, text, formData, json } =\n    navigation;\n  if (!formMethod || !formAction || !formEncType) {\n    return;\n  }\n\n  if (text != null) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData: undefined,\n      json: undefined,\n      text,\n    };\n  } else if (formData != null) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData,\n      json: undefined,\n      text: undefined,\n    };\n  } else if (json !== undefined) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData: undefined,\n      json,\n      text: undefined,\n    };\n  }\n}\n\nfunction getLoadingNavigation(\n  location: Location,\n  submission?: Submission\n): NavigationStates[\"Loading\"] {\n  if (submission) {\n    let navigation: NavigationStates[\"Loading\"] = {\n      state: \"loading\",\n      location,\n      formMethod: submission.formMethod,\n      formAction: submission.formAction,\n      formEncType: submission.formEncType,\n      formData: submission.formData,\n      json: submission.json,\n      text: submission.text,\n    };\n    return navigation;\n  } else {\n    let navigation: NavigationStates[\"Loading\"] = {\n      state: \"loading\",\n      location,\n      formMethod: undefined,\n      formAction: undefined,\n      formEncType: undefined,\n      formData: undefined,\n      json: undefined,\n      text: undefined,\n    };\n    return navigation;\n  }\n}\n\nfunction getSubmittingNavigation(\n  location: Location,\n  submission: Submission\n): NavigationStates[\"Submitting\"] {\n  let navigation: NavigationStates[\"Submitting\"] = {\n    state: \"submitting\",\n    location,\n    formMethod: submission.formMethod,\n    formAction: submission.formAction,\n    formEncType: submission.formEncType,\n    formData: submission.formData,\n    json: submission.json,\n    text: submission.text,\n  };\n  return navigation;\n}\n\nfunction getLoadingFetcher(\n  submission?: Submission,\n  data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n  if (submission) {\n    let fetcher: FetcherStates[\"Loading\"] = {\n      state: \"loading\",\n      formMethod: submission.formMethod,\n      formAction: submission.formAction,\n      formEncType: submission.formEncType,\n      formData: submission.formData,\n      json: submission.json,\n      text: submission.text,\n      data,\n    };\n    return fetcher;\n  } else {\n    let fetcher: FetcherStates[\"Loading\"] = {\n      state: \"loading\",\n      formMethod: undefined,\n      formAction: undefined,\n      formEncType: undefined,\n      formData: undefined,\n      json: undefined,\n      text: undefined,\n      data,\n    };\n    return fetcher;\n  }\n}\n\nfunction getSubmittingFetcher(\n  submission: Submission,\n  existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n  let fetcher: FetcherStates[\"Submitting\"] = {\n    state: \"submitting\",\n    formMethod: submission.formMethod,\n    formAction: submission.formAction,\n    formEncType: submission.formEncType,\n    formData: submission.formData,\n    json: submission.json,\n    text: submission.text,\n    data: existingFetcher ? existingFetcher.data : undefined,\n  };\n  return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n  let fetcher: FetcherStates[\"Idle\"] = {\n    state: \"idle\",\n    formMethod: undefined,\n    formAction: undefined,\n    formEncType: undefined,\n    formData: undefined,\n    json: undefined,\n    text: undefined,\n    data,\n  };\n  return fetcher;\n}\n\nfunction restoreAppliedTransitions(\n  _window: Window,\n  transitions: Map<string, Set<string>>\n) {\n  try {\n    let sessionPositions = _window.sessionStorage.getItem(\n      TRANSITIONS_STORAGE_KEY\n    );\n    if (sessionPositions) {\n      let json = JSON.parse(sessionPositions);\n      for (let [k, v] of Object.entries(json || {})) {\n        if (v && Array.isArray(v)) {\n          transitions.set(k, new Set(v || []));\n        }\n      }\n    }\n  } catch (e) {\n    // no-op, use default empty object\n  }\n}\n\nfunction persistAppliedTransitions(\n  _window: Window,\n  transitions: Map<string, Set<string>>\n) {\n  if (transitions.size > 0) {\n    let json: Record<string, string[]> = {};\n    for (let [k, v] of transitions) {\n      json[k] = [...v];\n    }\n    try {\n      _window.sessionStorage.setItem(\n        TRANSITIONS_STORAGE_KEY,\n        JSON.stringify(json)\n      );\n    } catch (error) {\n      warning(\n        false,\n        `Failed to save applied view transitions in sessionStorage (${error}).`\n      );\n    }\n  }\n}\n\n//#endregion\n","import * as React from \"react\";\nimport type {\n  AgnosticIndexRouteObject,\n  AgnosticNonIndexRouteObject,\n  AgnosticRouteMatch,\n  History,\n  LazyRouteFunction,\n  Location,\n  Action as NavigationType,\n  RelativeRoutingType,\n  Router,\n  StaticHandlerContext,\n  To,\n  TrackedPromise,\n} from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n  caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n  path?: AgnosticIndexRouteObject[\"path\"];\n  id?: AgnosticIndexRouteObject[\"id\"];\n  loader?: AgnosticIndexRouteObject[\"loader\"];\n  action?: AgnosticIndexRouteObject[\"action\"];\n  hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n  shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n  handle?: AgnosticIndexRouteObject[\"handle\"];\n  index: true;\n  children?: undefined;\n  element?: React.ReactNode | null;\n  hydrateFallbackElement?: React.ReactNode | null;\n  errorElement?: React.ReactNode | null;\n  Component?: React.ComponentType | null;\n  HydrateFallback?: React.ComponentType | null;\n  ErrorBoundary?: React.ComponentType | null;\n  lazy?: LazyRouteFunction<RouteObject>;\n}\n\nexport interface NonIndexRouteObject {\n  caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n  path?: AgnosticNonIndexRouteObject[\"path\"];\n  id?: AgnosticNonIndexRouteObject[\"id\"];\n  loader?: AgnosticNonIndexRouteObject[\"loader\"];\n  action?: AgnosticNonIndexRouteObject[\"action\"];\n  hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n  shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n  handle?: AgnosticNonIndexRouteObject[\"handle\"];\n  index?: false;\n  children?: RouteObject[];\n  element?: React.ReactNode | null;\n  hydrateFallbackElement?: React.ReactNode | null;\n  errorElement?: React.ReactNode | null;\n  Component?: React.ComponentType | null;\n  HydrateFallback?: React.ComponentType | null;\n  ErrorBoundary?: React.ComponentType | null;\n  lazy?: LazyRouteFunction<RouteObject>;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n  children?: DataRouteObject[];\n  id: string;\n};\n\nexport interface RouteMatch<\n  ParamKey extends string = string,\n  RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch<ParamKey, RouteObjectType> {}\n\nexport interface DataRouteMatch extends RouteMatch<string, DataRouteObject> {}\n\nexport interface DataRouterContextObject\n  // Omit `future` since those can be pulled from the `router`\n  // `NavigationContext` needs future since it doesn't have a `router` in all cases\n  extends Omit<NavigationContextObject, \"future\"> {\n  router: Router;\n  staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n  React.createContext<DataRouterContextObject | null>(null);\nif (__DEV__) {\n  DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n  Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n  DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext<TrackedPromise | null>(null);\nif (__DEV__) {\n  AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n  replace?: boolean;\n  state?: any;\n  preventScrollReset?: boolean;\n  relative?: RelativeRoutingType;\n  unstable_flushSync?: boolean;\n  unstable_viewTransition?: boolean;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `<Router>` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n  createHref: History[\"createHref\"];\n  // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n  encodeLocation?: History[\"encodeLocation\"];\n  go: History[\"go\"];\n  push(to: To, state?: any, opts?: NavigateOptions): void;\n  replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n  basename: string;\n  navigator: Navigator;\n  static: boolean;\n  future: {\n    v7_relativeSplatPath: boolean;\n  };\n}\n\nexport const NavigationContext = React.createContext<NavigationContextObject>(\n  null!\n);\n\nif (__DEV__) {\n  NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n  location: Location;\n  navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext<LocationContextObject>(\n  null!\n);\n\nif (__DEV__) {\n  LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n  outlet: React.ReactElement | null;\n  matches: RouteMatch[];\n  isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext<RouteContextObject>({\n  outlet: null,\n  matches: [],\n  isDataRoute: false,\n});\n\nif (__DEV__) {\n  RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext<any>(null);\n\nif (__DEV__) {\n  RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n  Blocker,\n  BlockerFunction,\n  Location,\n  ParamParseKey,\n  Params,\n  Path,\n  PathMatch,\n  PathPattern,\n  RelativeRoutingType,\n  Router as RemixRouter,\n  RevalidationState,\n  To,\n  UIMatch,\n} from \"@remix-run/router\";\nimport {\n  IDLE_BLOCKER,\n  Action as NavigationType,\n  UNSAFE_convertRouteMatchToUiMatch as convertRouteMatchToUiMatch,\n  UNSAFE_getResolveToMatches as getResolveToMatches,\n  UNSAFE_invariant as invariant,\n  isRouteErrorResponse,\n  joinPaths,\n  matchPath,\n  matchRoutes,\n  parsePath,\n  resolveTo,\n  stripBasename,\n  UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n  DataRouteMatch,\n  NavigateOptions,\n  RouteContextObject,\n  RouteMatch,\n  RouteObject,\n} from \"./context\";\nimport {\n  AwaitContext,\n  DataRouterContext,\n  DataRouterStateContext,\n  LocationContext,\n  NavigationContext,\n  RouteContext,\n  RouteErrorContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n  to: To,\n  { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n  invariant(\n    useInRouterContext(),\n    // TODO: This error is probably because they somehow have 2 versions of the\n    // router loaded. We can help them understand how to avoid that.\n    `useHref() may be used only in the context of a <Router> component.`\n  );\n\n  let { basename, navigator } = React.useContext(NavigationContext);\n  let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n  let joinedPathname = pathname;\n\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the href.  If this is a root navigation, then just use the raw\n  // basename which allows the basename to have full control over the presence\n  // of a trailing slash on root links\n  if (basename !== \"/\") {\n    joinedPathname =\n      pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n  }\n\n  return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a `<Router>`.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n  return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n  invariant(\n    useInRouterContext(),\n    // TODO: This error is probably because they somehow have 2 versions of the\n    // router loaded. We can help them understand how to avoid that.\n    `useLocation() may be used only in the context of a <Router> component.`\n  );\n\n  return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n  return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * `<NavLink>`.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n  ParamKey extends ParamParseKey<Path>,\n  Path extends string\n>(pattern: PathPattern<Path> | Path): PathMatch<ParamKey> | null {\n  invariant(\n    useInRouterContext(),\n    // TODO: This error is probably because they somehow have 2 versions of the\n    // router loaded. We can help them understand how to avoid that.\n    `useMatch() may be used only in the context of a <Router> component.`\n  );\n\n  let { pathname } = useLocation();\n  return React.useMemo(\n    () => matchPath<ParamKey, Path>(pattern, pathname),\n    [pathname, pattern]\n  );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n  (to: To, options?: NavigateOptions): void;\n  (delta: number): void;\n}\n\nconst navigateEffectWarning =\n  `You should call navigate() in a React.useEffect(), not when ` +\n  `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n  cb: Parameters<typeof React.useLayoutEffect>[0]\n) {\n  let isStatic = React.useContext(NavigationContext).static;\n  if (!isStatic) {\n    // We should be able to get rid of this once react 18.3 is released\n    // See: https://github.com/facebook/react/pull/26395\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(cb);\n  }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by `<Link>`s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n  let { isDataRoute } = React.useContext(RouteContext);\n  // Conditional usage is OK here because the usage of a data router is static\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n  invariant(\n    useInRouterContext(),\n    // TODO: This error is probably because they somehow have 2 versions of the\n    // router loaded. We can help them understand how to avoid that.\n    `useNavigate() may be used only in the context of a <Router> component.`\n  );\n\n  let dataRouterContext = React.useContext(DataRouterContext);\n  let { basename, future, navigator } = React.useContext(NavigationContext);\n  let { matches } = React.useContext(RouteContext);\n  let { pathname: locationPathname } = useLocation();\n\n  let routePathnamesJson = JSON.stringify(\n    getResolveToMatches(matches, future.v7_relativeSplatPath)\n  );\n\n  let activeRef = React.useRef(false);\n  useIsomorphicLayoutEffect(() => {\n    activeRef.current = true;\n  });\n\n  let navigate: NavigateFunction = React.useCallback(\n    (to: To | number, options: NavigateOptions = {}) => {\n      warning(activeRef.current, navigateEffectWarning);\n\n      // Short circuit here since if this happens on first render the navigate\n      // is useless because we haven't wired up our history listener yet\n      if (!activeRef.current) return;\n\n      if (typeof to === \"number\") {\n        navigator.go(to);\n        return;\n      }\n\n      let path = resolveTo(\n        to,\n        JSON.parse(routePathnamesJson),\n        locationPathname,\n        options.relative === \"path\"\n      );\n\n      // If we're operating within a basename, prepend it to the pathname prior\n      // to handing off to history (but only if we're not in a data router,\n      // otherwise it'll prepend the basename inside of the router).\n      // If this is a root navigation, then we navigate to the raw basename\n      // which allows the basename to have full control over the presence of a\n      // trailing slash on root links\n      if (dataRouterContext == null && basename !== \"/\") {\n        path.pathname =\n          path.pathname === \"/\"\n            ? basename\n            : joinPaths([basename, path.pathname]);\n      }\n\n      (!!options.replace ? navigator.replace : navigator.push)(\n        path,\n        options.state,\n        options\n      );\n    },\n    [\n      basename,\n      navigator,\n      routePathnamesJson,\n      locationPathname,\n      dataRouterContext,\n    ]\n  );\n\n  return navigate;\n}\n\nconst OutletContext = React.createContext<unknown>(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext<Context = unknown>(): Context {\n  return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `<Outlet>` to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n  let outlet = React.useContext(RouteContext).outlet;\n  if (outlet) {\n    return (\n      <OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>\n    );\n  }\n  return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n  ParamsOrKey extends string | Record<string, string | undefined> = string\n>(): Readonly<\n  [ParamsOrKey] extends [string] ? Params<ParamsOrKey> : Partial<ParamsOrKey>\n> {\n  let { matches } = React.useContext(RouteContext);\n  let routeMatch = matches[matches.length - 1];\n  return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n  to: To,\n  { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n  let { future } = React.useContext(NavigationContext);\n  let { matches } = React.useContext(RouteContext);\n  let { pathname: locationPathname } = useLocation();\n  let routePathnamesJson = JSON.stringify(\n    getResolveToMatches(matches, future.v7_relativeSplatPath)\n  );\n\n  return React.useMemo(\n    () =>\n      resolveTo(\n        to,\n        JSON.parse(routePathnamesJson),\n        locationPathname,\n        relative === \"path\"\n      ),\n    [to, routePathnamesJson, locationPathname, relative]\n  );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `<Outlet>` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n  routes: RouteObject[],\n  locationArg?: Partial<Location> | string\n): React.ReactElement | null {\n  return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n  routes: RouteObject[],\n  locationArg?: Partial<Location> | string,\n  dataRouterState?: RemixRouter[\"state\"],\n  future?: RemixRouter[\"future\"]\n): React.ReactElement | null {\n  invariant(\n    useInRouterContext(),\n    // TODO: This error is probably because they somehow have 2 versions of the\n    // router loaded. We can help them understand how to avoid that.\n    `useRoutes() may be used only in the context of a <Router> component.`\n  );\n\n  let { navigator } = React.useContext(NavigationContext);\n  let { matches: parentMatches } = React.useContext(RouteContext);\n  let routeMatch = parentMatches[parentMatches.length - 1];\n  let parentParams = routeMatch ? routeMatch.params : {};\n  let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n  let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n  let parentRoute = routeMatch && routeMatch.route;\n\n  if (__DEV__) {\n    // You won't get a warning about 2 different <Routes> under a <Route>\n    // without a trailing *, but this is a best-effort warning anyway since we\n    // cannot even give the warning unless they land at the parent route.\n    //\n    // Example:\n    //\n    // <Routes>\n    //   {/* This route path MUST end with /* because otherwise\n    //       it will never match /blog/post/123 */}\n    //   <Route path=\"blog\" element={<Blog />} />\n    //   <Route path=\"blog/feed\" element={<BlogFeed />} />\n    // </Routes>\n    //\n    // function Blog() {\n    //   return (\n    //     <Routes>\n    //       <Route path=\"post/:id\" element={<Post />} />\n    //     </Routes>\n    //   );\n    // }\n    let parentPath = (parentRoute && parentRoute.path) || \"\";\n    warningOnce(\n      parentPathname,\n      !parentRoute || parentPath.endsWith(\"*\"),\n      `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at ` +\n        `\"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the ` +\n        `parent route path has no trailing \"*\". This means if you navigate ` +\n        `deeper, the parent won't match anymore and therefore the child ` +\n        `routes will never render.\\n\\n` +\n        `Please change the parent <Route path=\"${parentPath}\"> to <Route ` +\n        `path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n    );\n  }\n\n  let locationFromContext = useLocation();\n\n  let location;\n  if (locationArg) {\n    let parsedLocationArg =\n      typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n    invariant(\n      parentPathnameBase === \"/\" ||\n        parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n      `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, ` +\n        `the location pathname must begin with the portion of the URL pathname that was ` +\n        `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n        `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n    );\n\n    location = parsedLocationArg;\n  } else {\n    location = locationFromContext;\n  }\n\n  let pathname = location.pathname || \"/\";\n  let remainingPathname =\n    parentPathnameBase === \"/\"\n      ? pathname\n      : pathname.slice(parentPathnameBase.length) || \"/\";\n\n  let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n  if (__DEV__) {\n    warning(\n      parentRoute || matches != null,\n      `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n    );\n\n    warning(\n      matches == null ||\n        matches[matches.length - 1].route.element !== undefined ||\n        matches[matches.length - 1].route.Component !== undefined ||\n        matches[matches.length - 1].route.lazy !== undefined,\n      `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n        `does not have an element or Component. This means it will render an <Outlet /> with a ` +\n        `null value by default resulting in an \"empty\" page.`\n    );\n  }\n\n  let renderedMatches = _renderMatches(\n    matches &&\n      matches.map((match) =>\n        Object.assign({}, match, {\n          params: Object.assign({}, parentParams, match.params),\n          pathname: joinPaths([\n            parentPathnameBase,\n            // Re-encode pathnames that were decoded inside matchRoutes\n            navigator.encodeLocation\n              ? navigator.encodeLocation(match.pathname).pathname\n              : match.pathname,\n          ]),\n          pathnameBase:\n            match.pathnameBase === \"/\"\n              ? parentPathnameBase\n              : joinPaths([\n                  parentPathnameBase,\n                  // Re-encode pathnames that were decoded inside matchRoutes\n                  navigator.encodeLocation\n                    ? navigator.encodeLocation(match.pathnameBase).pathname\n                    : match.pathnameBase,\n                ]),\n        })\n      ),\n    parentMatches,\n    dataRouterState,\n    future\n  );\n\n  // When a user passes in a `locationArg`, the associated routes need to\n  // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n  // to use the scoped location instead of the global location.\n  if (locationArg && renderedMatches) {\n    return (\n      <LocationContext.Provider\n        value={{\n          location: {\n            pathname: \"/\",\n            search: \"\",\n            hash: \"\",\n            state: null,\n            key: \"default\",\n            ...location,\n          },\n          navigationType: NavigationType.Pop,\n        }}\n      >\n        {renderedMatches}\n      </LocationContext.Provider>\n    );\n  }\n\n  return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n  let error = useRouteError();\n  let message = isRouteErrorResponse(error)\n    ? `${error.status} ${error.statusText}`\n    : error instanceof Error\n    ? error.message\n    : JSON.stringify(error);\n  let stack = error instanceof Error ? error.stack : null;\n  let lightgrey = \"rgba(200,200,200, 0.5)\";\n  let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n  let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n  let devInfo = null;\n  if (__DEV__) {\n    console.error(\n      \"Error handled by React Router default ErrorBoundary:\",\n      error\n    );\n\n    devInfo = (\n      <>\n        <p>💿 Hey developer 👋</p>\n        <p>\n          You can provide a way better UX than this when your app throws errors\n          by providing your own <code style={codeStyles}>ErrorBoundary</code> or{\" \"}\n          <code style={codeStyles}>errorElement</code> prop on your route.\n        </p>\n      </>\n    );\n  }\n\n  return (\n    <>\n      <h2>Unexpected Application Error!</h2>\n      <h3 style={{ fontStyle: \"italic\" }}>{message}</h3>\n      {stack ? <pre style={preStyles}>{stack}</pre> : null}\n      {devInfo}\n    </>\n  );\n}\n\nconst defaultErrorElement = <DefaultErrorComponent />;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n  location: Location;\n  revalidation: RevalidationState;\n  error: any;\n  component: React.ReactNode;\n  routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n  location: Location;\n  revalidation: RevalidationState;\n  error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n  RenderErrorBoundaryProps,\n  RenderErrorBoundaryState\n> {\n  constructor(props: RenderErrorBoundaryProps) {\n    super(props);\n    this.state = {\n      location: props.location,\n      revalidation: props.revalidation,\n      error: props.error,\n    };\n  }\n\n  static getDerivedStateFromError(error: any) {\n    return { error: error };\n  }\n\n  static getDerivedStateFromProps(\n    props: RenderErrorBoundaryProps,\n    state: RenderErrorBoundaryState\n  ) {\n    // When we get into an error state, the user will likely click \"back\" to the\n    // previous page that didn't have an error. Because this wraps the entire\n    // application, that will have no effect--the error page continues to display.\n    // This gives us a mechanism to recover from the error when the location changes.\n    //\n    // Whether we're in an error state or not, we update the location in state\n    // so that when we are in an error state, it gets reset when a new location\n    // comes in and the user recovers from the error.\n    if (\n      state.location !== props.location ||\n      (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n    ) {\n      return {\n        error: props.error,\n        location: props.location,\n        revalidation: props.revalidation,\n      };\n    }\n\n    // If we're not changing locations, preserve the location but still surface\n    // any new errors that may come through. We retain the existing error, we do\n    // this because the error provided from the app state may be cleared without\n    // the location changing.\n    return {\n      error: props.error !== undefined ? props.error : state.error,\n      location: state.location,\n      revalidation: props.revalidation || state.revalidation,\n    };\n  }\n\n  componentDidCatch(error: any, errorInfo: any) {\n    console.error(\n      \"React Router caught the following error during render\",\n      error,\n      errorInfo\n    );\n  }\n\n  render() {\n    return this.state.error !== undefined ? (\n      <RouteContext.Provider value={this.props.routeContext}>\n        <RouteErrorContext.Provider\n          value={this.state.error}\n          children={this.props.component}\n        />\n      </RouteContext.Provider>\n    ) : (\n      this.props.children\n    );\n  }\n}\n\ninterface RenderedRouteProps {\n  routeContext: RouteContextObject;\n  match: RouteMatch<string, RouteObject>;\n  children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n  let dataRouterContext = React.useContext(DataRouterContext);\n\n  // Track how deep we got in our render pass to emulate SSR componentDidCatch\n  // in a DataStaticRouter\n  if (\n    dataRouterContext &&\n    dataRouterContext.static &&\n    dataRouterContext.staticContext &&\n    (match.route.errorElement || match.route.ErrorBoundary)\n  ) {\n    dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n  }\n\n  return (\n    <RouteContext.Provider value={routeContext}>\n      {children}\n    </RouteContext.Provider>\n  );\n}\n\nexport function _renderMatches(\n  matches: RouteMatch[] | null,\n  parentMatches: RouteMatch[] = [],\n  dataRouterState: RemixRouter[\"state\"] | null = null,\n  future: RemixRouter[\"future\"] | null = null\n): React.ReactElement | null {\n  if (matches == null) {\n    if (dataRouterState?.errors) {\n      // Don't bail if we have data router errors so we can render them in the\n      // boundary.  Use the pre-matched (or shimmed) matches\n      matches = dataRouterState.matches as DataRouteMatch[];\n    } else {\n      return null;\n    }\n  }\n\n  let renderedMatches = matches;\n\n  // If we have data errors, trim matches to the highest error boundary\n  let errors = dataRouterState?.errors;\n  if (errors != null) {\n    let errorIndex = renderedMatches.findIndex(\n      (m) => m.route.id && errors?.[m.route.id]\n    );\n    invariant(\n      errorIndex >= 0,\n      `Could not find a matching route for errors on route IDs: ${Object.keys(\n        errors\n      ).join(\",\")}`\n    );\n    renderedMatches = renderedMatches.slice(\n      0,\n      Math.min(renderedMatches.length, errorIndex + 1)\n    );\n  }\n\n  // If we're in a partial hydration mode, detect if we need to render down to\n  // a given HydrateFallback while we load the rest of the hydration data\n  let renderFallback = false;\n  let fallbackIndex = -1;\n  if (dataRouterState && future && future.v7_partialHydration) {\n    for (let i = 0; i < renderedMatches.length; i++) {\n      let match = renderedMatches[i];\n      // Track the deepest fallback up until the first route without data\n      if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n        fallbackIndex = i;\n      }\n\n      if (match.route.id) {\n        let { loaderData, errors } = dataRouterState;\n        let needsToRunLoader =\n          match.route.loader &&\n          loaderData[match.route.id] === undefined &&\n          (!errors || errors[match.route.id] === undefined);\n        if (match.route.lazy || needsToRunLoader) {\n          // We found the first route that's not ready to render (waiting on\n          // lazy, or has a loader that hasn't run yet).  Flag that we need to\n          // render a fallback and render up until the appropriate fallback\n          renderFallback = true;\n          if (fallbackIndex >= 0) {\n            renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n          } else {\n            renderedMatches = [renderedMatches[0]];\n          }\n          break;\n        }\n      }\n    }\n  }\n\n  return renderedMatches.reduceRight((outlet, match, index) => {\n    // Only data routers handle errors/fallbacks\n    let error: any;\n    let shouldRenderHydrateFallback = false;\n    let errorElement: React.ReactNode | null = null;\n    let hydrateFallbackElement: React.ReactNode | null = null;\n    if (dataRouterState) {\n      error = errors && match.route.id ? errors[match.route.id] : undefined;\n      errorElement = match.route.errorElement || defaultErrorElement;\n\n      if (renderFallback) {\n        if (fallbackIndex < 0 && index === 0) {\n          warningOnce(\n            \"route-fallback\",\n            false,\n            \"No `HydrateFallback` element provided to render during initial hydration\"\n          );\n          shouldRenderHydrateFallback = true;\n          hydrateFallbackElement = null;\n        } else if (fallbackIndex === index) {\n          shouldRenderHydrateFallback = true;\n          hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n        }\n      }\n    }\n\n    let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n    let getChildren = () => {\n      let children: React.ReactNode;\n      if (error) {\n        children = errorElement;\n      } else if (shouldRenderHydrateFallback) {\n        children = hydrateFallbackElement;\n      } else if (match.route.Component) {\n        // Note: This is a de-optimized path since React won't re-use the\n        // ReactElement since it's identity changes with each new\n        // React.createElement call.  We keep this so folks can use\n        // `<Route Component={...}>` in `<Routes>` but generally `Component`\n        // usage is only advised in `RouterProvider` when we can convert it to\n        // `element` ahead of time.\n        children = <match.route.Component />;\n      } else if (match.route.element) {\n        children = match.route.element;\n      } else {\n        children = outlet;\n      }\n      return (\n        <RenderedRoute\n          match={match}\n          routeContext={{\n            outlet,\n            matches,\n            isDataRoute: dataRouterState != null,\n          }}\n          children={children}\n        />\n      );\n    };\n    // Only wrap in an error boundary within data router usages when we have an\n    // ErrorBoundary/errorElement on this route.  Otherwise let it bubble up to\n    // an ancestor ErrorBoundary/errorElement\n    return dataRouterState &&\n      (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n      <RenderErrorBoundary\n        location={dataRouterState.location}\n        revalidation={dataRouterState.revalidation}\n        component={errorElement}\n        error={error}\n        children={getChildren()}\n        routeContext={{ outlet: null, matches, isDataRoute: true }}\n      />\n    ) : (\n      getChildren()\n    );\n  }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n  UseBlocker = \"useBlocker\",\n  UseRevalidator = \"useRevalidator\",\n  UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n  UseBlocker = \"useBlocker\",\n  UseLoaderData = \"useLoaderData\",\n  UseActionData = \"useActionData\",\n  UseRouteError = \"useRouteError\",\n  UseNavigation = \"useNavigation\",\n  UseRouteLoaderData = \"useRouteLoaderData\",\n  UseMatches = \"useMatches\",\n  UseRevalidator = \"useRevalidator\",\n  UseNavigateStable = \"useNavigate\",\n  UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n  hookName: DataRouterHook | DataRouterStateHook\n) {\n  return `${hookName} must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n  let ctx = React.useContext(DataRouterContext);\n  invariant(ctx, getDataRouterConsoleError(hookName));\n  return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n  let state = React.useContext(DataRouterStateContext);\n  invariant(state, getDataRouterConsoleError(hookName));\n  return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n  let route = React.useContext(RouteContext);\n  invariant(route, getDataRouterConsoleError(hookName));\n  return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n  let route = useRouteContext(hookName);\n  let thisRoute = route.matches[route.matches.length - 1];\n  invariant(\n    thisRoute.route.id,\n    `${hookName} can only be used on routes that contain a unique \"id\"`\n  );\n  return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n  return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n  let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n  return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n  let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n  let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n  return React.useMemo(\n    () => ({\n      revalidate: dataRouterContext.router.revalidate,\n      state: state.revalidation,\n    }),\n    [dataRouterContext.router.revalidate, state.revalidation]\n  );\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches(): UIMatch[] {\n  let { matches, loaderData } = useDataRouterState(\n    DataRouterStateHook.UseMatches\n  );\n  return React.useMemo(\n    () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n    [matches, loaderData]\n  );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n  let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n  if (state.errors && state.errors[routeId] != null) {\n    console.error(\n      `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n    );\n    return undefined;\n  }\n  return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n  let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n  return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n  let state = useDataRouterState(DataRouterStateHook.UseActionData);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n  return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error.  This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n  let error = React.useContext(RouteErrorContext);\n  let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n  // If this was a render error, we put it in a RouteError context inside\n  // of RenderErrorBoundary\n  if (error !== undefined) {\n    return error;\n  }\n\n  // Otherwise look for errors from our data router state\n  return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `<Await />` value\n */\nexport function useAsyncValue(): unknown {\n  let value = React.useContext(AwaitContext);\n  return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `<Await />` value\n */\nexport function useAsyncError(): unknown {\n  let value = React.useContext(AwaitContext);\n  return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation.  Mostly used to avoid\n * using half-filled form data.  This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n  let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n  let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n  let [blockerKey, setBlockerKey] = React.useState(\"\");\n  let blockerFunction = React.useCallback<BlockerFunction>(\n    (arg) => {\n      if (typeof shouldBlock !== \"function\") {\n        return !!shouldBlock;\n      }\n      if (basename === \"/\") {\n        return shouldBlock(arg);\n      }\n\n      // If they provided us a function and we've got an active basename, strip\n      // it from the locations we expose to the user to match the behavior of\n      // useLocation\n      let { currentLocation, nextLocation, historyAction } = arg;\n      return shouldBlock({\n        currentLocation: {\n          ...currentLocation,\n          pathname:\n            stripBasename(currentLocation.pathname, basename) ||\n            currentLocation.pathname,\n        },\n        nextLocation: {\n          ...nextLocation,\n          pathname:\n            stripBasename(nextLocation.pathname, basename) ||\n            nextLocation.pathname,\n        },\n        historyAction,\n      });\n    },\n    [basename, shouldBlock]\n  );\n\n  // This effect is in charge of blocker key assignment and deletion (which is\n  // tightly coupled to the key)\n  React.useEffect(() => {\n    let key = String(++blockerId);\n    setBlockerKey(key);\n    return () => router.deleteBlocker(key);\n  }, [router]);\n\n  // This effect handles assigning the blockerFunction.  This is to handle\n  // unstable blocker function identities, and happens only after the prior\n  // effect so we don't get an orphaned blockerFunction in the router with a\n  // key of \"\".  Until then we just have the IDLE_BLOCKER.\n  React.useEffect(() => {\n    if (blockerKey !== \"\") {\n      router.getBlocker(blockerKey, blockerFunction);\n    }\n  }, [router, blockerKey, blockerFunction]);\n\n  // Prefer the blocker from `state` not `router.state` since DataRouterContext\n  // is memoized so this ensures we update on blocker state updates\n  return blockerKey && state.blockers.has(blockerKey)\n    ? state.blockers.get(blockerKey)!\n    : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n  let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n  let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n  let activeRef = React.useRef(false);\n  useIsomorphicLayoutEffect(() => {\n    activeRef.current = true;\n  });\n\n  let navigate: NavigateFunction = React.useCallback(\n    (to: To | number, options: NavigateOptions = {}) => {\n      warning(activeRef.current, navigateEffectWarning);\n\n      // Short circuit here since if this happens on first render the navigate\n      // is useless because we haven't wired up our router subscriber yet\n      if (!activeRef.current) return;\n\n      if (typeof to === \"number\") {\n        router.navigate(to);\n      } else {\n        router.navigate(to, { fromRouteId: id, ...options });\n      }\n    },\n    [router, id]\n  );\n\n  return navigate;\n}\n\nconst alreadyWarned: Record<string, boolean> = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n  if (!cond && !alreadyWarned[key]) {\n    alreadyWarned[key] = true;\n    warning(false, message);\n  }\n}\n","import type {\n  InitialEntry,\n  LazyRouteFunction,\n  Location,\n  MemoryHistory,\n  RelativeRoutingType,\n  Router as RemixRouter,\n  RouterState,\n  RouterSubscriber,\n  To,\n  TrackedPromise,\n} from \"@remix-run/router\";\nimport {\n  AbortedDeferredError,\n  Action as NavigationType,\n  createMemoryHistory,\n  UNSAFE_getResolveToMatches as getResolveToMatches,\n  UNSAFE_invariant as invariant,\n  parsePath,\n  resolveTo,\n  stripBasename,\n  UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport * as React from \"react\";\n\nimport type {\n  DataRouteObject,\n  IndexRouteObject,\n  Navigator,\n  NonIndexRouteObject,\n  RouteMatch,\n  RouteObject,\n} from \"./context\";\nimport {\n  AwaitContext,\n  DataRouterContext,\n  DataRouterStateContext,\n  LocationContext,\n  NavigationContext,\n  RouteContext,\n} from \"./context\";\nimport {\n  _renderMatches,\n  useAsyncValue,\n  useInRouterContext,\n  useLocation,\n  useNavigate,\n  useOutlet,\n  useRoutes,\n  useRoutesImpl,\n} from \"./hooks\";\n\nexport interface FutureConfig {\n  v7_relativeSplatPath: boolean;\n  v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n  fallbackElement?: React.ReactNode;\n  router: RemixRouter;\n  // Only accept future flags relevant to rendering behavior\n  // routing flags should be accessed via router.future\n  future?: Partial<Pick<FutureConfig, \"v7_startTransition\">>;\n}\n\n/**\n  Webpack + React 17 fails to compile on any of the following because webpack\n  complains that `startTransition` doesn't exist in `React`:\n  * import { startTransition } from \"react\"\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n  Moving it to a constant such as the following solves the Webpack/React 17 issue:\n  * import * as React from from \"react\";\n    const START_TRANSITION = \"startTransition\";\n    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n  However, that introduces webpack/terser minification issues in production builds\n  in React 18 where minification/obfuscation ends up removing the call of\n  React.startTransition entirely from the first half of the ternary.  Grabbing\n  this exported reference once up front resolves that issue.\n\n  See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n  fallbackElement,\n  router,\n  future,\n}: RouterProviderProps): React.ReactElement {\n  let [state, setStateImpl] = React.useState(router.state);\n  let { v7_startTransition } = future || {};\n\n  let setState = React.useCallback<RouterSubscriber>(\n    (newState: RouterState) => {\n      if (v7_startTransition && startTransitionImpl) {\n        startTransitionImpl(() => setStateImpl(newState));\n      } else {\n        setStateImpl(newState);\n      }\n    },\n    [setStateImpl, v7_startTransition]\n  );\n\n  // Need to use a layout effect here so we are subscribed early enough to\n  // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n  React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n  React.useEffect(() => {\n    warning(\n      fallbackElement == null || !router.future.v7_partialHydration,\n      \"`<RouterProvider fallbackElement>` is deprecated when using \" +\n        \"`v7_partialHydration`, use a `HydrateFallback` component instead\"\n    );\n    // Only log this once on initial mount\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n\n  let navigator = React.useMemo((): Navigator => {\n    return {\n      createHref: router.createHref,\n      encodeLocation: router.encodeLocation,\n      go: (n) => router.navigate(n),\n      push: (to, state, opts) =>\n        router.navigate(to, {\n          state,\n          preventScrollReset: opts?.preventScrollReset,\n        }),\n      replace: (to, state, opts) =>\n        router.navigate(to, {\n          replace: true,\n          state,\n          preventScrollReset: opts?.preventScrollReset,\n        }),\n    };\n  }, [router]);\n\n  let basename = router.basename || \"/\";\n\n  let dataRouterContext = React.useMemo(\n    () => ({\n      router,\n      navigator,\n      static: false,\n      basename,\n    }),\n    [router, navigator, basename]\n  );\n\n  // The fragment and {null} here are important!  We need them to keep React 18's\n  // useId happy when we are server-rendering since we may have a <script> here\n  // containing the hydrated server-side staticContext (from StaticRouterProvider).\n  // useId relies on the component tree structure to generate deterministic id's\n  // so we need to ensure it remains the same on the client even though\n  // we don't need the <script> tag\n  return (\n    <>\n      <DataRouterContext.Provider value={dataRouterContext}>\n        <DataRouterStateContext.Provider value={state}>\n          <Router\n            basename={basename}\n            location={state.location}\n            navigationType={state.historyAction}\n            navigator={navigator}\n            future={{\n              v7_relativeSplatPath: router.future.v7_relativeSplatPath,\n            }}\n          >\n            {state.initialized || router.future.v7_partialHydration ? (\n              <DataRoutes\n                routes={router.routes}\n                future={router.future}\n                state={state}\n              />\n            ) : (\n              fallbackElement\n            )}\n          </Router>\n        </DataRouterStateContext.Provider>\n      </DataRouterContext.Provider>\n      {null}\n    </>\n  );\n}\n\nfunction DataRoutes({\n  routes,\n  future,\n  state,\n}: {\n  routes: DataRouteObject[];\n  future: RemixRouter[\"future\"];\n  state: RouterState;\n}): React.ReactElement | null {\n  return useRoutesImpl(routes, undefined, state, future);\n}\n\nexport interface MemoryRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  initialEntries?: InitialEntry[];\n  initialIndex?: number;\n  future?: Partial<FutureConfig>;\n}\n\n/**\n * A `<Router>` that stores all entries in memory.\n *\n * @see https://reactrouter.com/router-components/memory-router\n */\nexport function MemoryRouter({\n  basename,\n  children,\n  initialEntries,\n  initialIndex,\n  future,\n}: MemoryRouterProps): React.ReactElement {\n  let historyRef = React.useRef<MemoryHistory>();\n  if (historyRef.current == null) {\n    historyRef.current = createMemoryHistory({\n      initialEntries,\n      initialIndex,\n      v5Compat: true,\n    });\n  }\n\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n  let { v7_startTransition } = future || {};\n  let setState = React.useCallback(\n    (newState: { action: NavigationType; location: Location }) => {\n      v7_startTransition && startTransitionImpl\n        ? startTransitionImpl(() => setStateImpl(newState))\n        : setStateImpl(newState);\n    },\n    [setStateImpl, v7_startTransition]\n  );\n\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n      future={future}\n    />\n  );\n}\n\nexport interface NavigateProps {\n  to: To;\n  replace?: boolean;\n  state?: any;\n  relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/components/navigate\n */\nexport function Navigate({\n  to,\n  replace,\n  state,\n  relative,\n}: NavigateProps): null {\n  invariant(\n    useInRouterContext(),\n    // TODO: This error is probably because they somehow have 2 versions of\n    // the router loaded. We can help them understand how to avoid that.\n    `<Navigate> may be used only in the context of a <Router> component.`\n  );\n\n  let { future, static: isStatic } = React.useContext(NavigationContext);\n\n  warning(\n    !isStatic,\n    `<Navigate> must not be used on the initial render in a <StaticRouter>. ` +\n      `This is a no-op, but you should modify your code so the <Navigate> is ` +\n      `only ever rendered in response to some user interaction or state change.`\n  );\n\n  let { matches } = React.useContext(RouteContext);\n  let { pathname: locationPathname } = useLocation();\n  let navigate = useNavigate();\n\n  // Resolve the path outside of the effect so that when effects run twice in\n  // StrictMode they navigate to the same place\n  let path = resolveTo(\n    to,\n    getResolveToMatches(matches, future.v7_relativeSplatPath),\n    locationPathname,\n    relative === \"path\"\n  );\n  let jsonPath = JSON.stringify(path);\n\n  React.useEffect(\n    () => navigate(JSON.parse(jsonPath), { replace, state, relative }),\n    [navigate, jsonPath, relative, replace, state]\n  );\n\n  return null;\n}\n\nexport interface OutletProps {\n  context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n  return useOutlet(props.context);\n}\n\nexport interface PathRouteProps {\n  caseSensitive?: NonIndexRouteObject[\"caseSensitive\"];\n  path?: NonIndexRouteObject[\"path\"];\n  id?: NonIndexRouteObject[\"id\"];\n  lazy?: LazyRouteFunction<NonIndexRouteObject>;\n  loader?: NonIndexRouteObject[\"loader\"];\n  action?: NonIndexRouteObject[\"action\"];\n  hasErrorBoundary?: NonIndexRouteObject[\"hasErrorBoundary\"];\n  shouldRevalidate?: NonIndexRouteObject[\"shouldRevalidate\"];\n  handle?: NonIndexRouteObject[\"handle\"];\n  index?: false;\n  children?: React.ReactNode;\n  element?: React.ReactNode | null;\n  hydrateFallbackElement?: React.ReactNode | null;\n  errorElement?: React.ReactNode | null;\n  Component?: React.ComponentType | null;\n  HydrateFallback?: React.ComponentType | null;\n  ErrorBoundary?: React.ComponentType | null;\n}\n\nexport interface LayoutRouteProps extends PathRouteProps {}\n\nexport interface IndexRouteProps {\n  caseSensitive?: IndexRouteObject[\"caseSensitive\"];\n  path?: IndexRouteObject[\"path\"];\n  id?: IndexRouteObject[\"id\"];\n  lazy?: LazyRouteFunction<IndexRouteObject>;\n  loader?: IndexRouteObject[\"loader\"];\n  action?: IndexRouteObject[\"action\"];\n  hasErrorBoundary?: IndexRouteObject[\"hasErrorBoundary\"];\n  shouldRevalidate?: IndexRouteObject[\"shouldRevalidate\"];\n  handle?: IndexRouteObject[\"handle\"];\n  index: true;\n  children?: undefined;\n  element?: React.ReactNode | null;\n  hydrateFallbackElement?: React.ReactNode | null;\n  errorElement?: React.ReactNode | null;\n  Component?: React.ComponentType | null;\n  HydrateFallback?: React.ComponentType | null;\n  ErrorBoundary?: React.ComponentType | null;\n}\n\nexport type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/components/route\n */\nexport function Route(_props: RouteProps): React.ReactElement | null {\n  invariant(\n    false,\n    `A <Route> is only ever to be used as the child of <Routes> element, ` +\n      `never rendered directly. Please wrap your <Route> in a <Routes>.`\n  );\n}\n\nexport interface RouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  location: Partial<Location> | string;\n  navigationType?: NavigationType;\n  navigator: Navigator;\n  static?: boolean;\n  future?: Partial<Pick<FutureConfig, \"v7_relativeSplatPath\">>;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n * router that is more specific to your environment such as a `<BrowserRouter>`\n * in web browsers or a `<StaticRouter>` for server rendering.\n *\n * @see https://reactrouter.com/router-components/router\n */\nexport function Router({\n  basename: basenameProp = \"/\",\n  children = null,\n  location: locationProp,\n  navigationType = NavigationType.Pop,\n  navigator,\n  static: staticProp = false,\n  future,\n}: RouterProps): React.ReactElement | null {\n  invariant(\n    !useInRouterContext(),\n    `You cannot render a <Router> inside another <Router>.` +\n      ` You should never have more than one in your app.`\n  );\n\n  // Preserve trailing slashes on basename, so we can let the user control\n  // the enforcement of trailing slashes throughout the app\n  let basename = basenameProp.replace(/^\\/*/, \"/\");\n  let navigationContext = React.useMemo(\n    () => ({\n      basename,\n      navigator,\n      static: staticProp,\n      future: {\n        v7_relativeSplatPath: false,\n        ...future,\n      },\n    }),\n    [basename, future, navigator, staticProp]\n  );\n\n  if (typeof locationProp === \"string\") {\n    locationProp = parsePath(locationProp);\n  }\n\n  let {\n    pathname = \"/\",\n    search = \"\",\n    hash = \"\",\n    state = null,\n    key = \"default\",\n  } = locationProp;\n\n  let locationContext = React.useMemo(() => {\n    let trailingPathname = stripBasename(pathname, basename);\n\n    if (trailingPathname == null) {\n      return null;\n    }\n\n    return {\n      location: {\n        pathname: trailingPathname,\n        search,\n        hash,\n        state,\n        key,\n      },\n      navigationType,\n    };\n  }, [basename, pathname, search, hash, state, key, navigationType]);\n\n  warning(\n    locationContext != null,\n    `<Router basename=\"${basename}\"> is not able to match the URL ` +\n      `\"${pathname}${search}${hash}\" because it does not start with the ` +\n      `basename, so the <Router> won't render anything.`\n  );\n\n  if (locationContext == null) {\n    return null;\n  }\n\n  return (\n    <NavigationContext.Provider value={navigationContext}>\n      <LocationContext.Provider children={children} value={locationContext} />\n    </NavigationContext.Provider>\n  );\n}\n\nexport interface RoutesProps {\n  children?: React.ReactNode;\n  location?: Partial<Location> | string;\n}\n\n/**\n * A container for a nested tree of `<Route>` elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/components/routes\n */\nexport function Routes({\n  children,\n  location,\n}: RoutesProps): React.ReactElement | null {\n  return useRoutes(createRoutesFromChildren(children), location);\n}\n\nexport interface AwaitResolveRenderFunction {\n  (data: Awaited<any>): React.ReactNode;\n}\n\nexport interface AwaitProps {\n  children: React.ReactNode | AwaitResolveRenderFunction;\n  errorElement?: React.ReactNode;\n  resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n  return (\n    <AwaitErrorBoundary resolve={resolve} errorElement={errorElement}>\n      <ResolveAwait>{children}</ResolveAwait>\n    </AwaitErrorBoundary>\n  );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n  errorElement?: React.ReactNode;\n  resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n  error: any;\n};\n\nenum AwaitRenderStatus {\n  pending,\n  success,\n  error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n  AwaitErrorBoundaryProps,\n  AwaitErrorBoundaryState\n> {\n  constructor(props: AwaitErrorBoundaryProps) {\n    super(props);\n    this.state = { error: null };\n  }\n\n  static getDerivedStateFromError(error: any) {\n    return { error };\n  }\n\n  componentDidCatch(error: any, errorInfo: any) {\n    console.error(\n      \"<Await> caught the following error during render\",\n      error,\n      errorInfo\n    );\n  }\n\n  render() {\n    let { children, errorElement, resolve } = this.props;\n\n    let promise: TrackedPromise | null = null;\n    let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n    if (!(resolve instanceof Promise)) {\n      // Didn't get a promise - provide as a resolved promise\n      status = AwaitRenderStatus.success;\n      promise = Promise.resolve();\n      Object.defineProperty(promise, \"_tracked\", { get: () => true });\n      Object.defineProperty(promise, \"_data\", { get: () => resolve });\n    } else if (this.state.error) {\n      // Caught a render error, provide it as a rejected promise\n      status = AwaitRenderStatus.error;\n      let renderError = this.state.error;\n      promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n      Object.defineProperty(promise, \"_tracked\", { get: () => true });\n      Object.defineProperty(promise, \"_error\", { get: () => renderError });\n    } else if ((resolve as TrackedPromise)._tracked) {\n      // Already tracked promise - check contents\n      promise = resolve;\n      status =\n        promise._error !== undefined\n          ? AwaitRenderStatus.error\n          : promise._data !== undefined\n          ? AwaitRenderStatus.success\n          : AwaitRenderStatus.pending;\n    } else {\n      // Raw (untracked) promise - track it\n      status = AwaitRenderStatus.pending;\n      Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n      promise = resolve.then(\n        (data: any) =>\n          Object.defineProperty(resolve, \"_data\", { get: () => data }),\n        (error: any) =>\n          Object.defineProperty(resolve, \"_error\", { get: () => error })\n      );\n    }\n\n    if (\n      status === AwaitRenderStatus.error &&\n      promise._error instanceof AbortedDeferredError\n    ) {\n      // Freeze the UI by throwing a never resolved promise\n      throw neverSettledPromise;\n    }\n\n    if (status === AwaitRenderStatus.error && !errorElement) {\n      // No errorElement, throw to the nearest route-level error boundary\n      throw promise._error;\n    }\n\n    if (status === AwaitRenderStatus.error) {\n      // Render via our errorElement\n      return <AwaitContext.Provider value={promise} children={errorElement} />;\n    }\n\n    if (status === AwaitRenderStatus.success) {\n      // Render children with resolved value\n      return <AwaitContext.Provider value={promise} children={children} />;\n    }\n\n    // Throw to the suspense boundary\n    throw promise;\n  }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`\n */\nfunction ResolveAwait({\n  children,\n}: {\n  children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n  let data = useAsyncValue();\n  let toRender = typeof children === \"function\" ? children(data) : children;\n  return <>{toRender}</>;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n  children: React.ReactNode,\n  parentPath: number[] = []\n): RouteObject[] {\n  let routes: RouteObject[] = [];\n\n  React.Children.forEach(children, (element, index) => {\n    if (!React.isValidElement(element)) {\n      // Ignore non-elements. This allows people to more easily inline\n      // conditionals in their route config.\n      return;\n    }\n\n    let treePath = [...parentPath, index];\n\n    if (element.type === React.Fragment) {\n      // Transparently support React.Fragment and its children.\n      routes.push.apply(\n        routes,\n        createRoutesFromChildren(element.props.children, treePath)\n      );\n      return;\n    }\n\n    invariant(\n      element.type === Route,\n      `[${\n        typeof element.type === \"string\" ? element.type : element.type.name\n      }] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n    );\n\n    invariant(\n      !element.props.index || !element.props.children,\n      \"An index route cannot have child routes.\"\n    );\n\n    let route: RouteObject = {\n      id: element.props.id || treePath.join(\"-\"),\n      caseSensitive: element.props.caseSensitive,\n      element: element.props.element,\n      Component: element.props.Component,\n      index: element.props.index,\n      path: element.props.path,\n      loader: element.props.loader,\n      action: element.props.action,\n      errorElement: element.props.errorElement,\n      ErrorBoundary: element.props.ErrorBoundary,\n      hasErrorBoundary:\n        element.props.ErrorBoundary != null ||\n        element.props.errorElement != null,\n      shouldRevalidate: element.props.shouldRevalidate,\n      handle: element.props.handle,\n      lazy: element.props.lazy,\n    };\n\n    if (element.props.children) {\n      route.children = createRoutesFromChildren(\n        element.props.children,\n        treePath\n      );\n    }\n\n    routes.push(route);\n  });\n\n  return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n  matches: RouteMatch[] | null\n): React.ReactElement | null {\n  return _renderMatches(matches);\n}\n","import type {\n  FormEncType,\n  HTMLFormMethod,\n  RelativeRoutingType,\n} from \"@remix-run/router\";\nimport { stripBasename, UNSAFE_warning as warning } from \"@remix-run/router\";\n\nexport const defaultMethod: HTMLFormMethod = \"get\";\nconst defaultEncType: FormEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n  return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n  MouseEvent,\n  \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n  event: LimitedMouseEvent,\n  target?: string\n) {\n  return (\n    event.button === 0 && // Ignore everything but left clicks\n    (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n    !isModifiedEvent(event) // Ignore clicks with modifier keys\n  );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n  | string\n  | ParamKeyValuePair[]\n  | Record<string, string | string[]>\n  | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n *   let searchParams = new URLSearchParams([\n *     ['sort', 'name'],\n *     ['sort', 'price']\n *   ]);\n *\n * you can do:\n *\n *   let searchParams = createSearchParams({\n *     sort: ['name', 'price']\n *   });\n */\nexport function createSearchParams(\n  init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n  return new URLSearchParams(\n    typeof init === \"string\" ||\n    Array.isArray(init) ||\n    init instanceof URLSearchParams\n      ? init\n      : Object.keys(init).reduce((memo, key) => {\n          let value = init[key];\n          return memo.concat(\n            Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n          );\n        }, [] as ParamKeyValuePair[])\n  );\n}\n\nexport function getSearchParamsForLocation(\n  locationSearch: string,\n  defaultSearchParams: URLSearchParams | null\n) {\n  let searchParams = createSearchParams(locationSearch);\n\n  if (defaultSearchParams) {\n    // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n    // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n    // web extensions. Relevant Bugzilla tickets:\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n    defaultSearchParams.forEach((_, key) => {\n      if (!searchParams.has(key)) {\n        defaultSearchParams.getAll(key).forEach((value) => {\n          searchParams.append(key, value);\n        });\n      }\n    });\n  }\n\n  return searchParams;\n}\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n  [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\nexport type SubmitTarget =\n  | HTMLFormElement\n  | HTMLButtonElement\n  | HTMLInputElement\n  | FormData\n  | URLSearchParams\n  | JsonValue\n  | null;\n\n// One-time check for submitter support\nlet _formDataSupportsSubmitter: boolean | null = null;\n\nfunction isFormDataSubmitterSupported() {\n  if (_formDataSupportsSubmitter === null) {\n    try {\n      new FormData(\n        document.createElement(\"form\"),\n        // @ts-expect-error if FormData supports the submitter parameter, this will throw\n        0\n      );\n      _formDataSupportsSubmitter = false;\n    } catch (e) {\n      _formDataSupportsSubmitter = true;\n    }\n  }\n  return _formDataSupportsSubmitter;\n}\n\nexport interface SubmitOptions {\n  /**\n   * The HTTP method used to submit the form. Overrides `<form method>`.\n   * Defaults to \"GET\".\n   */\n  method?: HTMLFormMethod;\n\n  /**\n   * The action URL path used to submit the form. Overrides `<form action>`.\n   * Defaults to the path of the current route.\n   */\n  action?: string;\n\n  /**\n   * The encoding used to submit the form. Overrides `<form encType>`.\n   * Defaults to \"application/x-www-form-urlencoded\".\n   */\n  encType?: FormEncType;\n\n  /**\n   * Indicate a specific fetcherKey to use when using navigate=false\n   */\n  fetcherKey?: string;\n\n  /**\n   * navigate=false will use a fetcher instead of a navigation\n   */\n  navigate?: boolean;\n\n  /**\n   * Set `true` to replace the current entry in the browser's history stack\n   * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n   * to `false`.\n   */\n  replace?: boolean;\n\n  /**\n   * State object to add to the history stack entry for this navigation\n   */\n  state?: any;\n\n  /**\n   * Determines whether the form action is relative to the route hierarchy or\n   * the pathname.  Use this if you want to opt out of navigating the route\n   * hierarchy and want to instead route based on /-delimited URL segments\n   */\n  relative?: RelativeRoutingType;\n\n  /**\n   * In browser-based environments, prevent resetting scroll after this\n   * navigation when using the <ScrollRestoration> component\n   */\n  preventScrollReset?: boolean;\n\n  /**\n   * Enable flushSync for this navigation's state updates\n   */\n  unstable_flushSync?: boolean;\n\n  /**\n   * Enable view transitions on this submission navigation\n   */\n  unstable_viewTransition?: boolean;\n}\n\nconst supportedFormEncTypes: Set<FormEncType> = new Set([\n  \"application/x-www-form-urlencoded\",\n  \"multipart/form-data\",\n  \"text/plain\",\n]);\n\nfunction getFormEncType(encType: string | null) {\n  if (encType != null && !supportedFormEncTypes.has(encType as FormEncType)) {\n    warning(\n      false,\n      `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` ` +\n        `and will default to \"${defaultEncType}\"`\n    );\n\n    return null;\n  }\n  return encType;\n}\n\nexport function getFormSubmissionInfo(\n  target: SubmitTarget,\n  basename: string\n): {\n  action: string | null;\n  method: string;\n  encType: string;\n  formData: FormData | undefined;\n  body: any;\n} {\n  let method: string;\n  let action: string | null;\n  let encType: string;\n  let formData: FormData | undefined;\n  let body: any;\n\n  if (isFormElement(target)) {\n    // When grabbing the action from the element, it will have had the basename\n    // prefixed to ensure non-JS scenarios work, so strip it since we'll\n    // re-prefix in the router\n    let attr = target.getAttribute(\"action\");\n    action = attr ? stripBasename(attr, basename) : null;\n    method = target.getAttribute(\"method\") || defaultMethod;\n    encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\n    formData = new FormData(target);\n  } else if (\n    isButtonElement(target) ||\n    (isInputElement(target) &&\n      (target.type === \"submit\" || target.type === \"image\"))\n  ) {\n    let form = target.form;\n\n    if (form == null) {\n      throw new Error(\n        `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n      );\n    }\n\n    // <button>/<input type=\"submit\"> may override attributes of <form>\n\n    // When grabbing the action from the element, it will have had the basename\n    // prefixed to ensure non-JS scenarios work, so strip it since we'll\n    // re-prefix in the router\n    let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n    action = attr ? stripBasename(attr, basename) : null;\n\n    method =\n      target.getAttribute(\"formmethod\") ||\n      form.getAttribute(\"method\") ||\n      defaultMethod;\n    encType =\n      getFormEncType(target.getAttribute(\"formenctype\")) ||\n      getFormEncType(form.getAttribute(\"enctype\")) ||\n      defaultEncType;\n\n    // Build a FormData object populated from a form and submitter\n    formData = new FormData(form, target);\n\n    // If this browser doesn't support the `FormData(el, submitter)` format,\n    // then tack on the submitter value at the end.  This is a lightweight\n    // solution that is not 100% spec compliant.  For complete support in older\n    // browsers, consider using the `formdata-submitter-polyfill` package\n    if (!isFormDataSubmitterSupported()) {\n      let { name, type, value } = target;\n      if (type === \"image\") {\n        let prefix = name ? `${name}.` : \"\";\n        formData.append(`${prefix}x`, \"0\");\n        formData.append(`${prefix}y`, \"0\");\n      } else if (name) {\n        formData.append(name, value);\n      }\n    }\n  } else if (isHtmlElement(target)) {\n    throw new Error(\n      `Cannot submit element that is not <form>, <button>, or ` +\n        `<input type=\"submit|image\">`\n    );\n  } else {\n    method = defaultMethod;\n    action = null;\n    encType = defaultEncType;\n    body = target;\n  }\n\n  // Send body for <Form encType=\"text/plain\" so we encode it into text\n  if (formData && encType === \"text/plain\") {\n    body = formData;\n    formData = undefined;\n  }\n\n  return { action, method: method.toLowerCase(), encType, formData, body };\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport type {\n  DataRouteObject,\n  FutureConfig,\n  Location,\n  NavigateOptions,\n  NavigationType,\n  Navigator,\n  RelativeRoutingType,\n  RouteObject,\n  RouterProviderProps,\n  To,\n} from \"react-router\";\nimport {\n  Router,\n  createPath,\n  useHref,\n  useLocation,\n  useMatches,\n  useNavigate,\n  useNavigation,\n  useResolvedPath,\n  useBlocker,\n  UNSAFE_DataRouterContext as DataRouterContext,\n  UNSAFE_DataRouterStateContext as DataRouterStateContext,\n  UNSAFE_NavigationContext as NavigationContext,\n  UNSAFE_RouteContext as RouteContext,\n  UNSAFE_mapRouteProperties as mapRouteProperties,\n  UNSAFE_useRouteId as useRouteId,\n  UNSAFE_useRoutesImpl as useRoutesImpl,\n} from \"react-router\";\nimport type {\n  BrowserHistory,\n  Fetcher,\n  FormEncType,\n  FormMethod,\n  FutureConfig as RouterFutureConfig,\n  GetScrollRestorationKeyFunction,\n  HashHistory,\n  History,\n  HTMLFormMethod,\n  HydrationState,\n  Router as RemixRouter,\n  V7_FormMethod,\n  RouterState,\n  RouterSubscriber,\n  BlockerFunction,\n} from \"@remix-run/router\";\nimport {\n  createRouter,\n  createBrowserHistory,\n  createHashHistory,\n  joinPaths,\n  stripBasename,\n  UNSAFE_ErrorResponseImpl as ErrorResponseImpl,\n  UNSAFE_invariant as invariant,\n  UNSAFE_warning as warning,\n  matchPath,\n  IDLE_FETCHER,\n} from \"@remix-run/router\";\n\nimport type {\n  SubmitOptions,\n  ParamKeyValuePair,\n  URLSearchParamsInit,\n  SubmitTarget,\n} from \"./dom\";\nimport {\n  createSearchParams,\n  defaultMethod,\n  getFormSubmissionInfo,\n  getSearchParamsForLocation,\n  shouldProcessLinkClick,\n} from \"./dom\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Re-exports\n////////////////////////////////////////////////////////////////////////////////\n\nexport type {\n  FormEncType,\n  FormMethod,\n  GetScrollRestorationKeyFunction,\n  ParamKeyValuePair,\n  SubmitOptions,\n  URLSearchParamsInit,\n  V7_FormMethod,\n};\nexport { createSearchParams };\n\n// Note: Keep in sync with react-router exports!\nexport type {\n  ActionFunction,\n  ActionFunctionArgs,\n  AwaitProps,\n  Blocker,\n  BlockerFunction,\n  DataRouteMatch,\n  DataRouteObject,\n  ErrorResponse,\n  Fetcher,\n  FutureConfig,\n  Hash,\n  IndexRouteObject,\n  IndexRouteProps,\n  JsonFunction,\n  LazyRouteFunction,\n  LayoutRouteProps,\n  LoaderFunction,\n  LoaderFunctionArgs,\n  Location,\n  MemoryRouterProps,\n  NavigateFunction,\n  NavigateOptions,\n  NavigateProps,\n  Navigation,\n  Navigator,\n  NonIndexRouteObject,\n  OutletProps,\n  Params,\n  ParamParseKey,\n  Path,\n  PathMatch,\n  Pathname,\n  PathParam,\n  PathPattern,\n  PathRouteProps,\n  RedirectFunction,\n  RelativeRoutingType,\n  RouteMatch,\n  RouteObject,\n  RouteProps,\n  RouterProps,\n  RouterProviderProps,\n  RoutesProps,\n  Search,\n  ShouldRevalidateFunction,\n  ShouldRevalidateFunctionArgs,\n  To,\n  UIMatch,\n} from \"react-router\";\nexport {\n  AbortedDeferredError,\n  Await,\n  MemoryRouter,\n  Navigate,\n  NavigationType,\n  Outlet,\n  Route,\n  Router,\n  Routes,\n  createMemoryRouter,\n  createPath,\n  createRoutesFromChildren,\n  createRoutesFromElements,\n  defer,\n  isRouteErrorResponse,\n  generatePath,\n  json,\n  matchPath,\n  matchRoutes,\n  parsePath,\n  redirect,\n  redirectDocument,\n  renderMatches,\n  resolvePath,\n  useActionData,\n  useAsyncError,\n  useAsyncValue,\n  useBlocker,\n  useHref,\n  useInRouterContext,\n  useLoaderData,\n  useLocation,\n  useMatch,\n  useMatches,\n  useNavigate,\n  useNavigation,\n  useNavigationType,\n  useOutlet,\n  useOutletContext,\n  useParams,\n  useResolvedPath,\n  useRevalidator,\n  useRouteError,\n  useRouteLoaderData,\n  useRoutes,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n  UNSAFE_DataRouterContext,\n  UNSAFE_DataRouterStateContext,\n  UNSAFE_NavigationContext,\n  UNSAFE_LocationContext,\n  UNSAFE_RouteContext,\n  UNSAFE_useRouteId,\n} from \"react-router\";\n//#endregion\n\ndeclare global {\n  var __staticRouterHydrationData: HydrationState | undefined;\n  var __reactRouterVersion: string;\n  interface Document {\n    startViewTransition(cb: () => Promise<void> | void): ViewTransition;\n  }\n}\n\n// HEY YOU! DON'T TOUCH THIS VARIABLE!\n//\n// It is replaced with the proper version at build time via a babel plugin in\n// the rollup config.\n//\n// Export a global property onto the window for React Router detection by the\n// Core Web Vitals Technology Report.  This way they can configure the `wappalyzer`\n// to detect and properly classify live websites as being built with React Router:\n// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json\nconst REACT_ROUTER_VERSION = \"0\";\ntry {\n  window.__reactRouterVersion = REACT_ROUTER_VERSION;\n} catch (e) {\n  // no-op\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Routers\n////////////////////////////////////////////////////////////////////////////////\n\ninterface DOMRouterOpts {\n  basename?: string;\n  future?: Partial<Omit<RouterFutureConfig, \"v7_prependBasename\">>;\n  hydrationData?: HydrationState;\n  window?: Window;\n}\n\nexport function createBrowserRouter(\n  routes: RouteObject[],\n  opts?: DOMRouterOpts\n): RemixRouter {\n  return createRouter({\n    basename: opts?.basename,\n    future: {\n      ...opts?.future,\n      v7_prependBasename: true,\n    },\n    history: createBrowserHistory({ window: opts?.window }),\n    hydrationData: opts?.hydrationData || parseHydrationData(),\n    routes,\n    mapRouteProperties,\n    window: opts?.window,\n  }).initialize();\n}\n\nexport function createHashRouter(\n  routes: RouteObject[],\n  opts?: DOMRouterOpts\n): RemixRouter {\n  return createRouter({\n    basename: opts?.basename,\n    future: {\n      ...opts?.future,\n      v7_prependBasename: true,\n    },\n    history: createHashHistory({ window: opts?.window }),\n    hydrationData: opts?.hydrationData || parseHydrationData(),\n    routes,\n    mapRouteProperties,\n    window: opts?.window,\n  }).initialize();\n}\n\nfunction parseHydrationData(): HydrationState | undefined {\n  let state = window?.__staticRouterHydrationData;\n  if (state && state.errors) {\n    state = {\n      ...state,\n      errors: deserializeErrors(state.errors),\n    };\n  }\n  return state;\n}\n\nfunction deserializeErrors(\n  errors: RemixRouter[\"state\"][\"errors\"]\n): RemixRouter[\"state\"][\"errors\"] {\n  if (!errors) return null;\n  let entries = Object.entries(errors);\n  let serialized: RemixRouter[\"state\"][\"errors\"] = {};\n  for (let [key, val] of entries) {\n    // Hey you!  If you change this, please change the corresponding logic in\n    // serializeErrors in react-router-dom/server.tsx :)\n    if (val && val.__type === \"RouteErrorResponse\") {\n      serialized[key] = new ErrorResponseImpl(\n        val.status,\n        val.statusText,\n        val.data,\n        val.internal === true\n      );\n    } else if (val && val.__type === \"Error\") {\n      // Attempt to reconstruct the right type of Error (i.e., ReferenceError)\n      if (val.__subType) {\n        let ErrorConstructor = window[val.__subType];\n        if (typeof ErrorConstructor === \"function\") {\n          try {\n            // @ts-expect-error\n            let error = new ErrorConstructor(val.message);\n            // Wipe away the client-side stack trace.  Nothing to fill it in with\n            // because we don't serialize SSR stack traces for security reasons\n            error.stack = \"\";\n            serialized[key] = error;\n          } catch (e) {\n            // no-op - fall through and create a normal Error\n          }\n        }\n      }\n\n      if (serialized[key] == null) {\n        let error = new Error(val.message);\n        // Wipe away the client-side stack trace.  Nothing to fill it in with\n        // because we don't serialize SSR stack traces for security reasons\n        error.stack = \"\";\n        serialized[key] = error;\n      }\n    } else {\n      serialized[key] = val;\n    }\n  }\n  return serialized;\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Contexts\n////////////////////////////////////////////////////////////////////////////////\n\ntype ViewTransitionContextObject =\n  | {\n      isTransitioning: false;\n    }\n  | {\n      isTransitioning: true;\n      flushSync: boolean;\n      currentLocation: Location;\n      nextLocation: Location;\n    };\n\nconst ViewTransitionContext = React.createContext<ViewTransitionContextObject>({\n  isTransitioning: false,\n});\nif (__DEV__) {\n  ViewTransitionContext.displayName = \"ViewTransition\";\n}\n\nexport { ViewTransitionContext as UNSAFE_ViewTransitionContext };\n\n// TODO: (v7) Change the useFetcher data from `any` to `unknown`\ntype FetchersContextObject = Map<string, any>;\n\nconst FetchersContext = React.createContext<FetchersContextObject>(new Map());\nif (__DEV__) {\n  FetchersContext.displayName = \"Fetchers\";\n}\n\nexport { FetchersContext as UNSAFE_FetchersContext };\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n  Webpack + React 17 fails to compile on any of the following because webpack\n  complains that `startTransition` doesn't exist in `React`:\n  * import { startTransition } from \"react\"\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n  Moving it to a constant such as the following solves the Webpack/React 17 issue:\n  * import * as React from from \"react\";\n    const START_TRANSITION = \"startTransition\";\n    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n  However, that introduces webpack/terser minification issues in production builds\n  in React 18 where minification/obfuscation ends up removing the call of\n  React.startTransition entirely from the first half of the ternary.  Grabbing\n  this exported reference once up front resolves that issue.\n\n  See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\nconst FLUSH_SYNC = \"flushSync\";\nconst flushSyncImpl = ReactDOM[FLUSH_SYNC];\nconst USE_ID = \"useId\";\nconst useIdImpl = React[USE_ID];\n\nfunction startTransitionSafe(cb: () => void) {\n  if (startTransitionImpl) {\n    startTransitionImpl(cb);\n  } else {\n    cb();\n  }\n}\n\nfunction flushSyncSafe(cb: () => void) {\n  if (flushSyncImpl) {\n    flushSyncImpl(cb);\n  } else {\n    cb();\n  }\n}\n\ninterface ViewTransition {\n  finished: Promise<void>;\n  ready: Promise<void>;\n  updateCallbackDone: Promise<void>;\n  skipTransition(): void;\n}\n\nclass Deferred<T> {\n  status: \"pending\" | \"resolved\" | \"rejected\" = \"pending\";\n  promise: Promise<T>;\n  // @ts-expect-error - no initializer\n  resolve: (value: T) => void;\n  // @ts-expect-error - no initializer\n  reject: (reason?: unknown) => void;\n  constructor() {\n    this.promise = new Promise((resolve, reject) => {\n      this.resolve = (value) => {\n        if (this.status === \"pending\") {\n          this.status = \"resolved\";\n          resolve(value);\n        }\n      };\n      this.reject = (reason) => {\n        if (this.status === \"pending\") {\n          this.status = \"rejected\";\n          reject(reason);\n        }\n      };\n    });\n  }\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n  fallbackElement,\n  router,\n  future,\n}: RouterProviderProps): React.ReactElement {\n  let [state, setStateImpl] = React.useState(router.state);\n  let [pendingState, setPendingState] = React.useState<RouterState>();\n  let [vtContext, setVtContext] = React.useState<ViewTransitionContextObject>({\n    isTransitioning: false,\n  });\n  let [renderDfd, setRenderDfd] = React.useState<Deferred<void>>();\n  let [transition, setTransition] = React.useState<ViewTransition>();\n  let [interruption, setInterruption] = React.useState<{\n    state: RouterState;\n    currentLocation: Location;\n    nextLocation: Location;\n  }>();\n  let fetcherData = React.useRef<Map<string, any>>(new Map());\n  let { v7_startTransition } = future || {};\n\n  let optInStartTransition = React.useCallback(\n    (cb: () => void) => {\n      if (v7_startTransition) {\n        startTransitionSafe(cb);\n      } else {\n        cb();\n      }\n    },\n    [v7_startTransition]\n  );\n\n  let setState = React.useCallback<RouterSubscriber>(\n    (\n      newState: RouterState,\n      {\n        deletedFetchers,\n        unstable_flushSync: flushSync,\n        unstable_viewTransitionOpts: viewTransitionOpts,\n      }\n    ) => {\n      deletedFetchers.forEach((key) => fetcherData.current.delete(key));\n      newState.fetchers.forEach((fetcher, key) => {\n        if (fetcher.data !== undefined) {\n          fetcherData.current.set(key, fetcher.data);\n        }\n      });\n\n      let isViewTransitionUnavailable =\n        router.window == null ||\n        typeof router.window.document.startViewTransition !== \"function\";\n\n      // If this isn't a view transition or it's not available in this browser,\n      // just update and be done with it\n      if (!viewTransitionOpts || isViewTransitionUnavailable) {\n        if (flushSync) {\n          flushSyncSafe(() => setStateImpl(newState));\n        } else {\n          optInStartTransition(() => setStateImpl(newState));\n        }\n        return;\n      }\n\n      // flushSync + startViewTransition\n      if (flushSync) {\n        // Flush through the context to mark DOM elements as transition=ing\n        flushSyncSafe(() => {\n          // Cancel any pending transitions\n          if (transition) {\n            renderDfd && renderDfd.resolve();\n            transition.skipTransition();\n          }\n          setVtContext({\n            isTransitioning: true,\n            flushSync: true,\n            currentLocation: viewTransitionOpts.currentLocation,\n            nextLocation: viewTransitionOpts.nextLocation,\n          });\n        });\n\n        // Update the DOM\n        let t = router.window!.document.startViewTransition(() => {\n          flushSyncSafe(() => setStateImpl(newState));\n        });\n\n        // Clean up after the animation completes\n        t.finished.finally(() => {\n          flushSyncSafe(() => {\n            setRenderDfd(undefined);\n            setTransition(undefined);\n            setPendingState(undefined);\n            setVtContext({ isTransitioning: false });\n          });\n        });\n\n        flushSyncSafe(() => setTransition(t));\n        return;\n      }\n\n      // startTransition + startViewTransition\n      if (transition) {\n        // Interrupting an in-progress transition, cancel and let everything flush\n        // out, and then kick off a new transition from the interruption state\n        renderDfd && renderDfd.resolve();\n        transition.skipTransition();\n        setInterruption({\n          state: newState,\n          currentLocation: viewTransitionOpts.currentLocation,\n          nextLocation: viewTransitionOpts.nextLocation,\n        });\n      } else {\n        // Completed navigation update with opted-in view transitions, let 'er rip\n        setPendingState(newState);\n        setVtContext({\n          isTransitioning: true,\n          flushSync: false,\n          currentLocation: viewTransitionOpts.currentLocation,\n          nextLocation: viewTransitionOpts.nextLocation,\n        });\n      }\n    },\n    [router.window, transition, renderDfd, fetcherData, optInStartTransition]\n  );\n\n  // Need to use a layout effect here so we are subscribed early enough to\n  // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n  React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n  // When we start a view transition, create a Deferred we can use for the\n  // eventual \"completed\" render\n  React.useEffect(() => {\n    if (vtContext.isTransitioning && !vtContext.flushSync) {\n      setRenderDfd(new Deferred<void>());\n    }\n  }, [vtContext]);\n\n  // Once the deferred is created, kick off startViewTransition() to update the\n  // DOM and then wait on the Deferred to resolve (indicating the DOM update has\n  // happened)\n  React.useEffect(() => {\n    if (renderDfd && pendingState && router.window) {\n      let newState = pendingState;\n      let renderPromise = renderDfd.promise;\n      let transition = router.window.document.startViewTransition(async () => {\n        optInStartTransition(() => setStateImpl(newState));\n        await renderPromise;\n      });\n      transition.finished.finally(() => {\n        setRenderDfd(undefined);\n        setTransition(undefined);\n        setPendingState(undefined);\n        setVtContext({ isTransitioning: false });\n      });\n      setTransition(transition);\n    }\n  }, [optInStartTransition, pendingState, renderDfd, router.window]);\n\n  // When the new location finally renders and is committed to the DOM, this\n  // effect will run to resolve the transition\n  React.useEffect(() => {\n    if (\n      renderDfd &&\n      pendingState &&\n      state.location.key === pendingState.location.key\n    ) {\n      renderDfd.resolve();\n    }\n  }, [renderDfd, transition, state.location, pendingState]);\n\n  // If we get interrupted with a new navigation during a transition, we skip\n  // the active transition, let it cleanup, then kick it off again here\n  React.useEffect(() => {\n    if (!vtContext.isTransitioning && interruption) {\n      setPendingState(interruption.state);\n      setVtContext({\n        isTransitioning: true,\n        flushSync: false,\n        currentLocation: interruption.currentLocation,\n        nextLocation: interruption.nextLocation,\n      });\n      setInterruption(undefined);\n    }\n  }, [vtContext.isTransitioning, interruption]);\n\n  React.useEffect(() => {\n    warning(\n      fallbackElement == null || !router.future.v7_partialHydration,\n      \"`<RouterProvider fallbackElement>` is deprecated when using \" +\n        \"`v7_partialHydration`, use a `HydrateFallback` component instead\"\n    );\n    // Only log this once on initial mount\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n\n  let navigator = React.useMemo((): Navigator => {\n    return {\n      createHref: router.createHref,\n      encodeLocation: router.encodeLocation,\n      go: (n) => router.navigate(n),\n      push: (to, state, opts) =>\n        router.navigate(to, {\n          state,\n          preventScrollReset: opts?.preventScrollReset,\n        }),\n      replace: (to, state, opts) =>\n        router.navigate(to, {\n          replace: true,\n          state,\n          preventScrollReset: opts?.preventScrollReset,\n        }),\n    };\n  }, [router]);\n\n  let basename = router.basename || \"/\";\n\n  let dataRouterContext = React.useMemo(\n    () => ({\n      router,\n      navigator,\n      static: false,\n      basename,\n    }),\n    [router, navigator, basename]\n  );\n\n  // The fragment and {null} here are important!  We need them to keep React 18's\n  // useId happy when we are server-rendering since we may have a <script> here\n  // containing the hydrated server-side staticContext (from StaticRouterProvider).\n  // useId relies on the component tree structure to generate deterministic id's\n  // so we need to ensure it remains the same on the client even though\n  // we don't need the <script> tag\n  return (\n    <>\n      <DataRouterContext.Provider value={dataRouterContext}>\n        <DataRouterStateContext.Provider value={state}>\n          <FetchersContext.Provider value={fetcherData.current}>\n            <ViewTransitionContext.Provider value={vtContext}>\n              <Router\n                basename={basename}\n                location={state.location}\n                navigationType={state.historyAction}\n                navigator={navigator}\n                future={{\n                  v7_relativeSplatPath: router.future.v7_relativeSplatPath,\n                }}\n              >\n                {state.initialized || router.future.v7_partialHydration ? (\n                  <DataRoutes\n                    routes={router.routes}\n                    future={router.future}\n                    state={state}\n                  />\n                ) : (\n                  fallbackElement\n                )}\n              </Router>\n            </ViewTransitionContext.Provider>\n          </FetchersContext.Provider>\n        </DataRouterStateContext.Provider>\n      </DataRouterContext.Provider>\n      {null}\n    </>\n  );\n}\n\nfunction DataRoutes({\n  routes,\n  future,\n  state,\n}: {\n  routes: DataRouteObject[];\n  future: RemixRouter[\"future\"];\n  state: RouterState;\n}): React.ReactElement | null {\n  return useRoutesImpl(routes, undefined, state, future);\n}\n\nexport interface BrowserRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  future?: Partial<FutureConfig>;\n  window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n  basename,\n  children,\n  future,\n  window,\n}: BrowserRouterProps) {\n  let historyRef = React.useRef<BrowserHistory>();\n  if (historyRef.current == null) {\n    historyRef.current = createBrowserHistory({ window, v5Compat: true });\n  }\n\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n  let { v7_startTransition } = future || {};\n  let setState = React.useCallback(\n    (newState: { action: NavigationType; location: Location }) => {\n      v7_startTransition && startTransitionImpl\n        ? startTransitionImpl(() => setStateImpl(newState))\n        : setStateImpl(newState);\n    },\n    [setStateImpl, v7_startTransition]\n  );\n\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n      future={future}\n    />\n  );\n}\n\nexport interface HashRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  future?: Partial<FutureConfig>;\n  window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({\n  basename,\n  children,\n  future,\n  window,\n}: HashRouterProps) {\n  let historyRef = React.useRef<HashHistory>();\n  if (historyRef.current == null) {\n    historyRef.current = createHashHistory({ window, v5Compat: true });\n  }\n\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n  let { v7_startTransition } = future || {};\n  let setState = React.useCallback(\n    (newState: { action: NavigationType; location: Location }) => {\n      v7_startTransition && startTransitionImpl\n        ? startTransitionImpl(() => setStateImpl(newState))\n        : setStateImpl(newState);\n    },\n    [setStateImpl, v7_startTransition]\n  );\n\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n      future={future}\n    />\n  );\n}\n\nexport interface HistoryRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  future?: FutureConfig;\n  history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({\n  basename,\n  children,\n  future,\n  history,\n}: HistoryRouterProps) {\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n  let { v7_startTransition } = future || {};\n  let setState = React.useCallback(\n    (newState: { action: NavigationType; location: Location }) => {\n      v7_startTransition && startTransitionImpl\n        ? startTransitionImpl(() => setStateImpl(newState))\n        : setStateImpl(newState);\n    },\n    [setStateImpl, v7_startTransition]\n  );\n\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n      future={future}\n    />\n  );\n}\n\nif (__DEV__) {\n  HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nexport interface LinkProps\n  extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n  reloadDocument?: boolean;\n  replace?: boolean;\n  state?: any;\n  preventScrollReset?: boolean;\n  relative?: RelativeRoutingType;\n  to: To;\n  unstable_viewTransition?: boolean;\n}\n\nconst isBrowser =\n  typeof window !== \"undefined\" &&\n  typeof window.document !== \"undefined\" &&\n  typeof window.document.createElement !== \"undefined\";\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\n/**\n * The public API for rendering a history-aware `<a>`.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n  function LinkWithRef(\n    {\n      onClick,\n      relative,\n      reloadDocument,\n      replace,\n      state,\n      target,\n      to,\n      preventScrollReset,\n      unstable_viewTransition,\n      ...rest\n    },\n    ref\n  ) {\n    let { basename } = React.useContext(NavigationContext);\n\n    // Rendered into <a href> for absolute URLs\n    let absoluteHref;\n    let isExternal = false;\n\n    if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n      // Render the absolute href server- and client-side\n      absoluteHref = to;\n\n      // Only check for external origins client-side\n      if (isBrowser) {\n        try {\n          let currentUrl = new URL(window.location.href);\n          let targetUrl = to.startsWith(\"//\")\n            ? new URL(currentUrl.protocol + to)\n            : new URL(to);\n          let path = stripBasename(targetUrl.pathname, basename);\n\n          if (targetUrl.origin === currentUrl.origin && path != null) {\n            // Strip the protocol/origin/basename for same-origin absolute URLs\n            to = path + targetUrl.search + targetUrl.hash;\n          } else {\n            isExternal = true;\n          }\n        } catch (e) {\n          // We can't do external URL detection without a valid URL\n          warning(\n            false,\n            `<Link to=\"${to}\"> contains an invalid URL which will probably break ` +\n              `when clicked - please update to a valid URL path.`\n          );\n        }\n      }\n    }\n\n    // Rendered into <a href> for relative URLs\n    let href = useHref(to, { relative });\n\n    let internalOnClick = useLinkClickHandler(to, {\n      replace,\n      state,\n      target,\n      preventScrollReset,\n      relative,\n      unstable_viewTransition,\n    });\n    function handleClick(\n      event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n    ) {\n      if (onClick) onClick(event);\n      if (!event.defaultPrevented) {\n        internalOnClick(event);\n      }\n    }\n\n    return (\n      // eslint-disable-next-line jsx-a11y/anchor-has-content\n      <a\n        {...rest}\n        href={absoluteHref || href}\n        onClick={isExternal || reloadDocument ? onClick : handleClick}\n        ref={ref}\n        target={target}\n      />\n    );\n  }\n);\n\nif (__DEV__) {\n  Link.displayName = \"Link\";\n}\n\ntype NavLinkRenderProps = {\n  isActive: boolean;\n  isPending: boolean;\n  isTransitioning: boolean;\n};\n\nexport interface NavLinkProps\n  extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n  children?: React.ReactNode | ((props: NavLinkRenderProps) => React.ReactNode);\n  caseSensitive?: boolean;\n  className?: string | ((props: NavLinkRenderProps) => string | undefined);\n  end?: boolean;\n  style?:\n    | React.CSSProperties\n    | ((props: NavLinkRenderProps) => React.CSSProperties | undefined);\n}\n\n/**\n * A `<Link>` wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n  function NavLinkWithRef(\n    {\n      \"aria-current\": ariaCurrentProp = \"page\",\n      caseSensitive = false,\n      className: classNameProp = \"\",\n      end = false,\n      style: styleProp,\n      to,\n      unstable_viewTransition,\n      children,\n      ...rest\n    },\n    ref\n  ) {\n    let path = useResolvedPath(to, { relative: rest.relative });\n    let location = useLocation();\n    let routerState = React.useContext(DataRouterStateContext);\n    let { navigator, basename } = React.useContext(NavigationContext);\n    let isTransitioning =\n      routerState != null &&\n      // Conditional usage is OK here because the usage of a data router is static\n      // eslint-disable-next-line react-hooks/rules-of-hooks\n      useViewTransitionState(path) &&\n      unstable_viewTransition === true;\n\n    let toPathname = navigator.encodeLocation\n      ? navigator.encodeLocation(path).pathname\n      : path.pathname;\n    let locationPathname = location.pathname;\n    let nextLocationPathname =\n      routerState && routerState.navigation && routerState.navigation.location\n        ? routerState.navigation.location.pathname\n        : null;\n\n    if (!caseSensitive) {\n      locationPathname = locationPathname.toLowerCase();\n      nextLocationPathname = nextLocationPathname\n        ? nextLocationPathname.toLowerCase()\n        : null;\n      toPathname = toPathname.toLowerCase();\n    }\n\n    if (nextLocationPathname && basename) {\n      nextLocationPathname =\n        stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n    }\n\n    // If the `to` has a trailing slash, look at that exact spot.  Otherwise,\n    // we're looking for a slash _after_ what's in `to`.  For example:\n    //\n    // <NavLink to=\"/users\"> and <NavLink to=\"/users/\">\n    // both want to look for a / at index 6 to match URL `/users/matt`\n    const endSlashPosition =\n      toPathname !== \"/\" && toPathname.endsWith(\"/\")\n        ? toPathname.length - 1\n        : toPathname.length;\n    let isActive =\n      locationPathname === toPathname ||\n      (!end &&\n        locationPathname.startsWith(toPathname) &&\n        locationPathname.charAt(endSlashPosition) === \"/\");\n\n    let isPending =\n      nextLocationPathname != null &&\n      (nextLocationPathname === toPathname ||\n        (!end &&\n          nextLocationPathname.startsWith(toPathname) &&\n          nextLocationPathname.charAt(toPathname.length) === \"/\"));\n\n    let renderProps = {\n      isActive,\n      isPending,\n      isTransitioning,\n    };\n\n    let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n    let className: string | undefined;\n    if (typeof classNameProp === \"function\") {\n      className = classNameProp(renderProps);\n    } else {\n      // If the className prop is not a function, we use a default `active`\n      // class for <NavLink />s that are active. In v5 `active` was the default\n      // value for `activeClassName`, but we are removing that API and can still\n      // use the old default behavior for a cleaner upgrade path and keep the\n      // simple styling rules working as they currently do.\n      className = [\n        classNameProp,\n        isActive ? \"active\" : null,\n        isPending ? \"pending\" : null,\n        isTransitioning ? \"transitioning\" : null,\n      ]\n        .filter(Boolean)\n        .join(\" \");\n    }\n\n    let style =\n      typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n\n    return (\n      <Link\n        {...rest}\n        aria-current={ariaCurrent}\n        className={className}\n        ref={ref}\n        style={style}\n        to={to}\n        unstable_viewTransition={unstable_viewTransition}\n      >\n        {typeof children === \"function\" ? children(renderProps) : children}\n      </Link>\n    );\n  }\n);\n\nif (__DEV__) {\n  NavLink.displayName = \"NavLink\";\n}\n\nexport interface FetcherFormProps\n  extends React.FormHTMLAttributes<HTMLFormElement> {\n  /**\n   * The HTTP verb to use when the form is submit. Supports \"get\", \"post\",\n   * \"put\", \"delete\", \"patch\".\n   */\n  method?: HTMLFormMethod;\n\n  /**\n   * `<form encType>` - enhancing beyond the normal string type and limiting\n   * to the built-in browser supported values\n   */\n  encType?:\n    | \"application/x-www-form-urlencoded\"\n    | \"multipart/form-data\"\n    | \"text/plain\";\n\n  /**\n   * Normal `<form action>` but supports React Router's relative paths.\n   */\n  action?: string;\n\n  /**\n   * Determines whether the form action is relative to the route hierarchy or\n   * the pathname.  Use this if you want to opt out of navigating the route\n   * hierarchy and want to instead route based on /-delimited URL segments\n   */\n  relative?: RelativeRoutingType;\n\n  /**\n   * Prevent the scroll position from resetting to the top of the viewport on\n   * completion of the navigation when using the <ScrollRestoration> component\n   */\n  preventScrollReset?: boolean;\n\n  /**\n   * A function to call when the form is submitted. If you call\n   * `event.preventDefault()` then this form will not do anything.\n   */\n  onSubmit?: React.FormEventHandler<HTMLFormElement>;\n}\n\nexport interface FormProps extends FetcherFormProps {\n  /**\n   * Indicate a specific fetcherKey to use when using navigate=false\n   */\n  fetcherKey?: string;\n\n  /**\n   * navigate=false will use a fetcher instead of a navigation\n   */\n  navigate?: boolean;\n\n  /**\n   * Forces a full document navigation instead of a fetch.\n   */\n  reloadDocument?: boolean;\n\n  /**\n   * Replaces the current entry in the browser history stack when the form\n   * navigates. Use this if you don't want the user to be able to click \"back\"\n   * to the page with the form on it.\n   */\n  replace?: boolean;\n\n  /**\n   * State object to add to the history stack entry for this navigation\n   */\n  state?: any;\n\n  /**\n   * Enable view transitions on this Form navigation\n   */\n  unstable_viewTransition?: boolean;\n}\n\ntype HTMLSubmitEvent = React.BaseSyntheticEvent<\n  SubmitEvent,\n  Event,\n  HTMLFormElement\n>;\n\ntype HTMLFormSubmitter = HTMLButtonElement | HTMLInputElement;\n\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n  (\n    {\n      fetcherKey,\n      navigate,\n      reloadDocument,\n      replace,\n      state,\n      method = defaultMethod,\n      action,\n      onSubmit,\n      relative,\n      preventScrollReset,\n      unstable_viewTransition,\n      ...props\n    },\n    forwardedRef\n  ) => {\n    let submit = useSubmit();\n    let formAction = useFormAction(action, { relative });\n    let formMethod: HTMLFormMethod =\n      method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n\n    let submitHandler: React.FormEventHandler<HTMLFormElement> = (event) => {\n      onSubmit && onSubmit(event);\n      if (event.defaultPrevented) return;\n      event.preventDefault();\n\n      let submitter = (event as unknown as HTMLSubmitEvent).nativeEvent\n        .submitter as HTMLFormSubmitter | null;\n\n      let submitMethod =\n        (submitter?.getAttribute(\"formmethod\") as HTMLFormMethod | undefined) ||\n        method;\n\n      submit(submitter || event.currentTarget, {\n        fetcherKey,\n        method: submitMethod,\n        navigate,\n        replace,\n        state,\n        relative,\n        preventScrollReset,\n        unstable_viewTransition,\n      });\n    };\n\n    return (\n      <form\n        ref={forwardedRef}\n        method={formMethod}\n        action={formAction}\n        onSubmit={reloadDocument ? onSubmit : submitHandler}\n        {...props}\n      />\n    );\n  }\n);\n\nif (__DEV__) {\n  Form.displayName = \"Form\";\n}\n\nexport interface ScrollRestorationProps {\n  getKey?: GetScrollRestorationKeyFunction;\n  storageKey?: string;\n}\n\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nexport function ScrollRestoration({\n  getKey,\n  storageKey,\n}: ScrollRestorationProps) {\n  useScrollRestoration({ getKey, storageKey });\n  return null;\n}\n\nif (__DEV__) {\n  ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\n\nenum DataRouterHook {\n  UseScrollRestoration = \"useScrollRestoration\",\n  UseSubmit = \"useSubmit\",\n  UseSubmitFetcher = \"useSubmitFetcher\",\n  UseFetcher = \"useFetcher\",\n  useViewTransitionState = \"useViewTransitionState\",\n}\n\nenum DataRouterStateHook {\n  UseFetcher = \"useFetcher\",\n  UseFetchers = \"useFetchers\",\n  UseScrollRestoration = \"useScrollRestoration\",\n}\n\n// Internal hooks\n\nfunction getDataRouterConsoleError(\n  hookName: DataRouterHook | DataRouterStateHook\n) {\n  return `${hookName} must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n  let ctx = React.useContext(DataRouterContext);\n  invariant(ctx, getDataRouterConsoleError(hookName));\n  return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n  let state = React.useContext(DataRouterStateContext);\n  invariant(state, getDataRouterConsoleError(hookName));\n  return state;\n}\n\n// External hooks\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n  to: To,\n  {\n    target,\n    replace: replaceProp,\n    state,\n    preventScrollReset,\n    relative,\n    unstable_viewTransition,\n  }: {\n    target?: React.HTMLAttributeAnchorTarget;\n    replace?: boolean;\n    state?: any;\n    preventScrollReset?: boolean;\n    relative?: RelativeRoutingType;\n    unstable_viewTransition?: boolean;\n  } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n  let navigate = useNavigate();\n  let location = useLocation();\n  let path = useResolvedPath(to, { relative });\n\n  return React.useCallback(\n    (event: React.MouseEvent<E, MouseEvent>) => {\n      if (shouldProcessLinkClick(event, target)) {\n        event.preventDefault();\n\n        // If the URL hasn't changed, a regular <a> will do a replace instead of\n        // a push, so do the same here unless the replace prop is explicitly set\n        let replace =\n          replaceProp !== undefined\n            ? replaceProp\n            : createPath(location) === createPath(path);\n\n        navigate(to, {\n          replace,\n          state,\n          preventScrollReset,\n          relative,\n          unstable_viewTransition,\n        });\n      }\n    },\n    [\n      location,\n      navigate,\n      path,\n      replaceProp,\n      state,\n      target,\n      to,\n      preventScrollReset,\n      relative,\n      unstable_viewTransition,\n    ]\n  );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n  defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n  warning(\n    typeof URLSearchParams !== \"undefined\",\n    `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n      `support the URLSearchParams API. If you need to support Internet ` +\n      `Explorer 11, we recommend you load a polyfill such as ` +\n      `https://github.com/ungap/url-search-params\\n\\n` +\n      `If you're unsure how to load polyfills, we recommend you check out ` +\n      `https://polyfill.io/v3/ which provides some recommendations about how ` +\n      `to load polyfills only for users that need them, instead of for every ` +\n      `user.`\n  );\n\n  let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n  let hasSetSearchParamsRef = React.useRef(false);\n\n  let location = useLocation();\n  let searchParams = React.useMemo(\n    () =>\n      // Only merge in the defaults if we haven't yet called setSearchParams.\n      // Once we call that we want those to take precedence, otherwise you can't\n      // remove a param with setSearchParams({}) if it has an initial value\n      getSearchParamsForLocation(\n        location.search,\n        hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current\n      ),\n    [location.search]\n  );\n\n  let navigate = useNavigate();\n  let setSearchParams = React.useCallback<SetURLSearchParams>(\n    (nextInit, navigateOptions) => {\n      const newSearchParams = createSearchParams(\n        typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n      );\n      hasSetSearchParamsRef.current = true;\n      navigate(\"?\" + newSearchParams, navigateOptions);\n    },\n    [navigate, searchParams]\n  );\n\n  return [searchParams, setSearchParams];\n}\n\nexport type SetURLSearchParams = (\n  nextInit?:\n    | URLSearchParamsInit\n    | ((prev: URLSearchParams) => URLSearchParamsInit),\n  navigateOpts?: NavigateOptions\n) => void;\n\n/**\n * Submits a HTML `<form>` to the server without reloading the page.\n */\nexport interface SubmitFunction {\n  (\n    /**\n     * Specifies the `<form>` to be submitted to the server, a specific\n     * `<button>` or `<input type=\"submit\">` to use to submit the form, or some\n     * arbitrary data to submit.\n     *\n     * Note: When using a `<button>` its `name` and `value` will also be\n     * included in the form data that is submitted.\n     */\n    target: SubmitTarget,\n\n    /**\n     * Options that override the `<form>`'s own attributes. Required when\n     * submitting arbitrary data without a backing `<form>`.\n     */\n    options?: SubmitOptions\n  ): void;\n}\n\n/**\n * Submits a fetcher `<form>` to the server without reloading the page.\n */\nexport interface FetcherSubmitFunction {\n  (\n    target: SubmitTarget,\n    // Fetchers cannot replace or set state because they are not navigation events\n    options?: Omit<SubmitOptions, \"replace\" | \"state\">\n  ): void;\n}\n\nfunction validateClientSideSubmission() {\n  if (typeof document === \"undefined\") {\n    throw new Error(\n      \"You are calling submit during the server render. \" +\n        \"Try calling submit within a `useEffect` or callback instead.\"\n    );\n  }\n}\n\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => `__${String(++fetcherId)}__`;\n\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nexport function useSubmit(): SubmitFunction {\n  let { router } = useDataRouterContext(DataRouterHook.UseSubmit);\n  let { basename } = React.useContext(NavigationContext);\n  let currentRouteId = useRouteId();\n\n  return React.useCallback<SubmitFunction>(\n    (target, options = {}) => {\n      validateClientSideSubmission();\n\n      let { action, method, encType, formData, body } = getFormSubmissionInfo(\n        target,\n        basename\n      );\n\n      if (options.navigate === false) {\n        let key = options.fetcherKey || getUniqueFetcherId();\n        router.fetch(key, currentRouteId, options.action || action, {\n          preventScrollReset: options.preventScrollReset,\n          formData,\n          body,\n          formMethod: options.method || (method as HTMLFormMethod),\n          formEncType: options.encType || (encType as FormEncType),\n          unstable_flushSync: options.unstable_flushSync,\n        });\n      } else {\n        router.navigate(options.action || action, {\n          preventScrollReset: options.preventScrollReset,\n          formData,\n          body,\n          formMethod: options.method || (method as HTMLFormMethod),\n          formEncType: options.encType || (encType as FormEncType),\n          replace: options.replace,\n          state: options.state,\n          fromRouteId: currentRouteId,\n          unstable_flushSync: options.unstable_flushSync,\n          unstable_viewTransition: options.unstable_viewTransition,\n        });\n      }\n    },\n    [router, basename, currentRouteId]\n  );\n}\n\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nexport function useFormAction(\n  action?: string,\n  { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n  let { basename } = React.useContext(NavigationContext);\n  let routeContext = React.useContext(RouteContext);\n  invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n\n  let [match] = routeContext.matches.slice(-1);\n  // Shallow clone path so we can modify it below, otherwise we modify the\n  // object referenced by useMemo inside useResolvedPath\n  let path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n\n  // If no action was specified, browsers will persist current search params\n  // when determining the path, so match that behavior\n  // https://github.com/remix-run/remix/issues/927\n  let location = useLocation();\n  if (action == null) {\n    // Safe to write to this directly here since if action was undefined, we\n    // would have called useResolvedPath(\".\") which will never include a search\n    path.search = location.search;\n\n    // When grabbing search params from the URL, remove any included ?index param\n    // since it might not apply to our contextual route.  We add it back based\n    // on match.route.index below\n    let params = new URLSearchParams(path.search);\n    if (params.has(\"index\") && params.get(\"index\") === \"\") {\n      params.delete(\"index\");\n      path.search = params.toString() ? `?${params.toString()}` : \"\";\n    }\n  }\n\n  if ((!action || action === \".\") && match.route.index) {\n    path.search = path.search\n      ? path.search.replace(/^\\?/, \"?index&\")\n      : \"?index\";\n  }\n\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the form action.  If this is a root navigation, then just use\n  // the raw basename which allows the basename to have full control over the\n  // presence of a trailing slash on root actions\n  if (basename !== \"/\") {\n    path.pathname =\n      path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n\n  return createPath(path);\n}\n\nexport type FetcherWithComponents<TData> = Fetcher<TData> & {\n  Form: React.ForwardRefExoticComponent<\n    FetcherFormProps & React.RefAttributes<HTMLFormElement>\n  >;\n  submit: FetcherSubmitFunction;\n  load: (href: string, opts?: { unstable_flushSync?: boolean }) => void;\n};\n\n// TODO: (v7) Change the useFetcher generic default from `any` to `unknown`\n\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nexport function useFetcher<TData = any>({\n  key,\n}: { key?: string } = {}): FetcherWithComponents<TData> {\n  let { router } = useDataRouterContext(DataRouterHook.UseFetcher);\n  let state = useDataRouterState(DataRouterStateHook.UseFetcher);\n  let fetcherData = React.useContext(FetchersContext);\n  let route = React.useContext(RouteContext);\n  let routeId = route.matches[route.matches.length - 1]?.route.id;\n\n  invariant(fetcherData, `useFetcher must be used inside a FetchersContext`);\n  invariant(route, `useFetcher must be used inside a RouteContext`);\n  invariant(\n    routeId != null,\n    `useFetcher can only be used on routes that contain a unique \"id\"`\n  );\n\n  // Fetcher key handling\n  // OK to call conditionally to feature detect `useId`\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  let defaultKey = useIdImpl ? useIdImpl() : \"\";\n  let [fetcherKey, setFetcherKey] = React.useState<string>(key || defaultKey);\n  if (key && key !== fetcherKey) {\n    setFetcherKey(key);\n  } else if (!fetcherKey) {\n    // We will only fall through here when `useId` is not available\n    setFetcherKey(getUniqueFetcherId());\n  }\n\n  // Registration/cleanup\n  React.useEffect(() => {\n    router.getFetcher(fetcherKey);\n    return () => {\n      // Tell the router we've unmounted - if v7_fetcherPersist is enabled this\n      // will not delete immediately but instead queue up a delete after the\n      // fetcher returns to an `idle` state\n      router.deleteFetcher(fetcherKey);\n    };\n  }, [router, fetcherKey]);\n\n  // Fetcher additions\n  let load = React.useCallback(\n    (href: string, opts?: { unstable_flushSync?: boolean }) => {\n      invariant(routeId, \"No routeId available for fetcher.load()\");\n      router.fetch(fetcherKey, routeId, href, opts);\n    },\n    [fetcherKey, routeId, router]\n  );\n\n  let submitImpl = useSubmit();\n  let submit = React.useCallback<FetcherSubmitFunction>(\n    (target, opts) => {\n      submitImpl(target, {\n        ...opts,\n        navigate: false,\n        fetcherKey,\n      });\n    },\n    [fetcherKey, submitImpl]\n  );\n\n  let FetcherForm = React.useMemo(() => {\n    let FetcherForm = React.forwardRef<HTMLFormElement, FetcherFormProps>(\n      (props, ref) => {\n        return (\n          <Form {...props} navigate={false} fetcherKey={fetcherKey} ref={ref} />\n        );\n      }\n    );\n    if (__DEV__) {\n      FetcherForm.displayName = \"fetcher.Form\";\n    }\n    return FetcherForm;\n  }, [fetcherKey]);\n\n  // Exposed FetcherWithComponents\n  let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n  let data = fetcherData.get(fetcherKey);\n  let fetcherWithComponents = React.useMemo(\n    () => ({\n      Form: FetcherForm,\n      submit,\n      load,\n      ...fetcher,\n      data,\n    }),\n    [FetcherForm, submit, load, fetcher, data]\n  );\n\n  return fetcherWithComponents;\n}\n\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nexport function useFetchers(): (Fetcher & { key: string })[] {\n  let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n  return Array.from(state.fetchers.entries()).map(([key, fetcher]) => ({\n    ...fetcher,\n    key,\n  }));\n}\n\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions: Record<string, number> = {};\n\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration({\n  getKey,\n  storageKey,\n}: {\n  getKey?: GetScrollRestorationKeyFunction;\n  storageKey?: string;\n} = {}) {\n  let { router } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n  let { restoreScrollPosition, preventScrollReset } = useDataRouterState(\n    DataRouterStateHook.UseScrollRestoration\n  );\n  let { basename } = React.useContext(NavigationContext);\n  let location = useLocation();\n  let matches = useMatches();\n  let navigation = useNavigation();\n\n  // Trigger manual scroll restoration while we're active\n  React.useEffect(() => {\n    window.history.scrollRestoration = \"manual\";\n    return () => {\n      window.history.scrollRestoration = \"auto\";\n    };\n  }, []);\n\n  // Save positions on pagehide\n  usePageHide(\n    React.useCallback(() => {\n      if (navigation.state === \"idle\") {\n        let key = (getKey ? getKey(location, matches) : null) || location.key;\n        savedScrollPositions[key] = window.scrollY;\n      }\n      try {\n        sessionStorage.setItem(\n          storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n          JSON.stringify(savedScrollPositions)\n        );\n      } catch (error) {\n        warning(\n          false,\n          `Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${error}).`\n        );\n      }\n      window.history.scrollRestoration = \"auto\";\n    }, [storageKey, getKey, navigation.state, location, matches])\n  );\n\n  // Read in any saved scroll locations\n  if (typeof document !== \"undefined\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      try {\n        let sessionPositions = sessionStorage.getItem(\n          storageKey || SCROLL_RESTORATION_STORAGE_KEY\n        );\n        if (sessionPositions) {\n          savedScrollPositions = JSON.parse(sessionPositions);\n        }\n      } catch (e) {\n        // no-op, use default empty object\n      }\n    }, [storageKey]);\n\n    // Enable scroll restoration in the router\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      let getKeyWithoutBasename: GetScrollRestorationKeyFunction | undefined =\n        getKey && basename !== \"/\"\n          ? (location, matches) =>\n              getKey(\n                // Strip the basename to match useLocation()\n                {\n                  ...location,\n                  pathname:\n                    stripBasename(location.pathname, basename) ||\n                    location.pathname,\n                },\n                matches\n              )\n          : getKey;\n      let disableScrollRestoration = router?.enableScrollRestoration(\n        savedScrollPositions,\n        () => window.scrollY,\n        getKeyWithoutBasename\n      );\n      return () => disableScrollRestoration && disableScrollRestoration();\n    }, [router, basename, getKey]);\n\n    // Restore scrolling when state.restoreScrollPosition changes\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      // Explicit false means don't do anything (used for submissions)\n      if (restoreScrollPosition === false) {\n        return;\n      }\n\n      // been here before, scroll to it\n      if (typeof restoreScrollPosition === \"number\") {\n        window.scrollTo(0, restoreScrollPosition);\n        return;\n      }\n\n      // try to scroll to the hash\n      if (location.hash) {\n        let el = document.getElementById(\n          decodeURIComponent(location.hash.slice(1))\n        );\n        if (el) {\n          el.scrollIntoView();\n          return;\n        }\n      }\n\n      // Don't reset if this navigation opted out\n      if (preventScrollReset === true) {\n        return;\n      }\n\n      // otherwise go to the top on new locations\n      window.scrollTo(0, 0);\n    }, [location, restoreScrollPosition, preventScrollReset]);\n  }\n}\n\nexport { useScrollRestoration as UNSAFE_useScrollRestoration };\n\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nexport function useBeforeUnload(\n  callback: (event: BeforeUnloadEvent) => any,\n  options?: { capture?: boolean }\n): void {\n  let { capture } = options || {};\n  React.useEffect(() => {\n    let opts = capture != null ? { capture } : undefined;\n    window.addEventListener(\"beforeunload\", callback, opts);\n    return () => {\n      window.removeEventListener(\"beforeunload\", callback, opts);\n    };\n  }, [callback, capture]);\n}\n\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.  This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(\n  callback: (event: PageTransitionEvent) => any,\n  options?: { capture?: boolean }\n): void {\n  let { capture } = options || {};\n  React.useEffect(() => {\n    let opts = capture != null ? { capture } : undefined;\n    window.addEventListener(\"pagehide\", callback, opts);\n    return () => {\n      window.removeEventListener(\"pagehide\", callback, opts);\n    };\n  }, [callback, capture]);\n}\n\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open.  Use at your own risk.\n */\nfunction usePrompt({\n  when,\n  message,\n}: {\n  when: boolean | BlockerFunction;\n  message: string;\n}) {\n  let blocker = useBlocker(when);\n\n  React.useEffect(() => {\n    if (blocker.state === \"blocked\") {\n      let proceed = window.confirm(message);\n      if (proceed) {\n        // This timeout is needed to avoid a weird \"race\" on POP navigations\n        // between the `window.history` revert navigation and the result of\n        // `window.confirm`\n        setTimeout(blocker.proceed, 0);\n      } else {\n        blocker.reset();\n      }\n    }\n  }, [blocker, message]);\n\n  React.useEffect(() => {\n    if (blocker.state === \"blocked\" && !when) {\n      blocker.reset();\n    }\n  }, [blocker, when]);\n}\n\nexport { usePrompt as unstable_usePrompt };\n\n/**\n * Return a boolean indicating if there is an active view transition to the\n * given href.  You can use this value to render CSS classes or viewTransitionName\n * styles onto your elements\n *\n * @param href The destination href\n * @param [opts.relative] Relative routing type (\"route\" | \"path\")\n */\nfunction useViewTransitionState(\n  to: To,\n  opts: { relative?: RelativeRoutingType } = {}\n) {\n  let vtContext = React.useContext(ViewTransitionContext);\n\n  invariant(\n    vtContext != null,\n    \"`unstable_useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  \" +\n      \"Did you accidentally import `RouterProvider` from `react-router`?\"\n  );\n\n  let { basename } = useDataRouterContext(\n    DataRouterHook.useViewTransitionState\n  );\n  let path = useResolvedPath(to, { relative: opts.relative });\n  if (!vtContext.isTransitioning) {\n    return false;\n  }\n\n  let currentPath =\n    stripBasename(vtContext.currentLocation.pathname, basename) ||\n    vtContext.currentLocation.pathname;\n  let nextPath =\n    stripBasename(vtContext.nextLocation.pathname, basename) ||\n    vtContext.nextLocation.pathname;\n\n  // Transition is active if we're going to or coming from the indicated\n  // destination.  This ensures that other PUSH navigations that reverse\n  // an indicated transition apply.  I.e., on the list view you have:\n  //\n  //   <NavLink to=\"/details/1\" unstable_viewTransition>\n  //\n  // If you click the breadcrumb back to the list view:\n  //\n  //   <NavLink to=\"/list\" unstable_viewTransition>\n  //\n  // We should apply the transition because it's indicated as active going\n  // from /list -> /details/1 and therefore should be active on the reverse\n  // (even though this isn't strictly a POP reverse)\n  return (\n    matchPath(path.pathname, nextPath) != null ||\n    matchPath(path.pathname, currentPath) != null\n  );\n}\n\nexport { useViewTransitionState as unstable_useViewTransitionState };\n\n//#endregion\n","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n  prefixes: {},\n  breakpoints: DEFAULT_BREAKPOINTS,\n  minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n  Consumer,\n  Provider\n} = ThemeContext;\nfunction ThemeProvider({\n  prefixes = {},\n  breakpoints = DEFAULT_BREAKPOINTS,\n  minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n  dir,\n  children\n}) {\n  const contextValue = useMemo(() => ({\n    prefixes: {\n      ...prefixes\n    },\n    breakpoints,\n    minBreakpoint,\n    dir\n  }), [prefixes, breakpoints, minBreakpoint, dir]);\n  return /*#__PURE__*/_jsx(Provider, {\n    value: contextValue,\n    children: children\n  });\n}\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n  const {\n    prefixes\n  } = useContext(ThemeContext);\n  return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n  const {\n    breakpoints\n  } = useContext(ThemeContext);\n  return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n  const {\n    minBreakpoint\n  } = useContext(ThemeContext);\n  return minBreakpoint;\n}\nexport function useIsRTL() {\n  const {\n    dir\n  } = useContext(ThemeContext);\n  return dir === 'rtl';\n}\nfunction createBootstrapComponent(Component, opts) {\n  if (typeof opts === 'string') opts = {\n    prefix: opts\n  };\n  const isClassy = Component.prototype && Component.prototype.isReactComponent;\n  // If it's a functional component make sure we don't break it with a ref\n  const {\n    prefix,\n    forwardRefAs = isClassy ? 'ref' : 'innerRef'\n  } = opts;\n  const Wrapped = /*#__PURE__*/React.forwardRef(({\n    ...props\n  }, ref) => {\n    props[forwardRefAs] = ref;\n    const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n    return /*#__PURE__*/_jsx(Component, {\n      ...props,\n      bsPrefix: bsPrefix\n    });\n  });\n  Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n  return Wrapped;\n}\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  fluid = false,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  className,\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'container');\n  const suffix = typeof fluid === 'string' ? `-${fluid}` : '-fluid';\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    ...props,\n    className: classNames(className, fluid ? `${prefix}${suffix}` : prefix)\n  });\n});\nContainer.displayName = 'Container';\nexport default Container;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n  const breakpoints = useBootstrapBreakpoints();\n  const minBreakpoint = useBootstrapMinBreakpoint();\n  const sizePrefix = `${decoratedBsPrefix}-cols`;\n  const classes = [];\n  breakpoints.forEach(brkPoint => {\n    const propValue = props[brkPoint];\n    delete props[brkPoint];\n    let cols;\n    if (propValue != null && typeof propValue === 'object') {\n      ({\n        cols\n      } = propValue);\n    } else {\n      cols = propValue;\n    }\n    const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n    if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n  });\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    ...props,\n    className: classNames(className, decoratedBsPrefix, ...classes)\n  });\n});\nRow.displayName = 'Row';\nexport default Row;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useCol({\n  as,\n  bsPrefix,\n  className,\n  ...props\n}) {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n  const breakpoints = useBootstrapBreakpoints();\n  const minBreakpoint = useBootstrapMinBreakpoint();\n  const spans = [];\n  const classes = [];\n  breakpoints.forEach(brkPoint => {\n    const propValue = props[brkPoint];\n    delete props[brkPoint];\n    let span;\n    let offset;\n    let order;\n    if (typeof propValue === 'object' && propValue != null) {\n      ({\n        span,\n        offset,\n        order\n      } = propValue);\n    } else {\n      span = propValue;\n    }\n    const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n    if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n    if (order != null) classes.push(`order${infix}-${order}`);\n    if (offset != null) classes.push(`offset${infix}-${offset}`);\n  });\n  return [{\n    ...props,\n    className: classNames(className, ...spans, ...classes)\n  }, {\n    as,\n    bsPrefix,\n    spans\n  }];\n}\nconst Col = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n  const [{\n    className,\n    ...colProps\n  }, {\n    as: Component = 'div',\n    bsPrefix,\n    spans\n  }] = useCol(props);\n  return /*#__PURE__*/_jsx(Component, {\n    ...colProps,\n    ref: ref,\n    className: classNames(className, !spans.length && bsPrefix)\n  });\n});\nCol.displayName = 'Col';\nexport default Col;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const propTypes = {\n  /**\n   * @default 'img'\n   */\n  bsPrefix: PropTypes.string,\n  /**\n   * Sets image as fluid image.\n   */\n  fluid: PropTypes.bool,\n  /**\n   * Sets image shape as rounded.\n   */\n  rounded: PropTypes.bool,\n  /**\n   * Sets image shape as circle.\n   */\n  roundedCircle: PropTypes.bool,\n  /**\n   * Sets image shape as thumbnail.\n   */\n  thumbnail: PropTypes.bool\n};\nconst Image = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  fluid = false,\n  rounded = false,\n  roundedCircle = false,\n  thumbnail = false,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'img');\n  return /*#__PURE__*/_jsx(\"img\", {\n    // eslint-disable-line jsx-a11y/alt-text\n    ref: ref,\n    ...props,\n    className: classNames(className, fluid && `${bsPrefix}-fluid`, rounded && `rounded`, roundedCircle && `rounded-circle`, thumbnail && `${bsPrefix}-thumbnail`)\n  });\n});\nImage.displayName = 'Image';\nexport default Image;","import React from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Row, Col, Image, Stack} from 'react-bootstrap';\nimport MMA from \"./../images/MMA.png\"\nimport RNF6 from \"./../images/RNF6.png\"\nimport MCA2 from \"./../images/MCA2.png\"\nimport RFFI from \"./../images/RFFI.png\"\nimport RF2 from \"./../images/RF2.png\"\nimport mmf6 from \"./../images/mmf6.png\"\nimport logo_nav from \"../images/logo_nav.png\"\nimport \".././styles.css\";\n\nfunction Footer() {\n  return (\n\n    <footer className=\"py-4 my-6 bg-dark navbar-fixed-bottom\">\n      <Container>\n        <Row className=\"align-items-center\" style={{ width: \"100%\" }}>\n          {/* Левый столбец с логотипом */}\n          <Col xs={12} md={4} lg={4} className=\"d-flex align-items-center\">\n            <Image src={logo_nav} fluid style={{ width: '130px', height: '130px', marginRight: '10px' }} />\n          </Col>\n\n          {/* Центральный столбец с текстом */}\n          <Col xs={12} md={4} lg={4} className=\"text-center\">\n            <h3 className=\"text-white\">ИМ СО РАН</h3>\n            <div className=\"text-white\">630090, Новосибирск, Проспект Академика Коптюга, 4</div>\n            <div className=\"text-white\">контакты: info@ai-biolab.ru, +7 (383) 329-7610</div>\n            <hr className=\"text-white mx-auto\" />\n            <small className=\"text-white\">© 2025 COVID-19 в Новосибирской области</small>\n          </Col>\n\n          {/* Правый столбец с изображениями */}\n          <Col xs={12} md={4} lg={4} className=\"d-flex justify-content-end\">\n\n  <div align=\"center\">\n        <Image variant=\"bottom\" className = \"mx-4\"\n        src={RF2}\n        fluid\n        style={{ width: '2.7rem' }, {height: '2.7rem'}}\n        />\n        </div>\n\n        <div align=\"center\">\n        <Image variant=\"bottom\" className = \"my-1 mx-4\"\n        src={RNF6}\n        fluid\n        style={{ width: '2.5rem' }, {height: '2.5rem'}}\n        />\n        </div> \n</Col>\n        </Row>\n      </Container>\n    </footer>\n\n  )\n}\nexport default Footer;\n","import React from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Row, Col, Image, Stack} from 'react-bootstrap';\nimport MMA from \"./../images/MMA.png\"\nimport RNF6 from \"./../images/RNF6.png\"\nimport MCA2 from \"./../images/MCA2.png\"\nimport RFFI from \"./../images/RFFI.png\"\nimport RF2 from \"./../images/RF2.png\"\nimport mmf6 from \"./../images/mmf6.png\"\nimport logo_nav from \"../images/logo_nav.png\"\nimport \".././styles.css\";\n\nfunction Footer_En() {\n  return (\n\n    <footer className=\"py-4 my-6 bg-dark navbar-fixed-bottom\">\n      <Container>\n        <Row className=\"align-items-center\" style={{ width: \"100%\" }}>\n          {/* Левый столбец с логотипом */}\n          <Col xs={12} md={4} lg={4} className=\"d-flex align-items-center\">\n            <Image src={logo_nav} fluid style={{ width: '130px', height: '130px', marginRight: '10px' }} />\n          </Col>\n\n          {/* Центральный столбец с текстом */}\n          <Col xs={12} md={4} lg={4} className=\"text-center\">\n            <h3 className=\"text-white\">IM SB RAS</h3>\n            <div className=\"text-white\">630090, Novosibirsk, Akademika Koptyuga Avenue, 4</div>\n            <div className=\"text-white\">contacts: info@ai-biolab.ru, +7 (383) 329-7610</div>\n            <hr className=\"text-white mx-auto\" />\n            <small className=\"text-white\">© 2025 COVID-19 in the Novosibirsk region</small>\n          </Col>\n\n          {/* Правый столбец с изображениями */}\n          <Col xs={12} md={4} lg={4} className=\"d-flex justify-content-end\">\n\n  <div align=\"center\">\n        <Image variant=\"bottom\" className = \"mx-4\"\n        src={RF2}\n        fluid\n        style={{ width: '2.7rem' }, {height: '2.7rem'}}\n        />\n        </div>\n\n        <div align=\"center\">\n        <Image variant=\"bottom\" className = \"my-1 mx-4\"\n        src={RNF6}\n        fluid\n        style={{ width: '2.5rem' }, {height: '2.5rem'}}\n        />\n        </div> \n</Col>\n        </Row>\n      </Container>\n    </footer>\n\n  )\n}\nexport default Footer_En;\n\n","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardBody = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-body');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardBody.displayName = 'CardBody';\nexport default CardBody;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardFooter = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-footer');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardFooter.displayName = 'CardFooter';\nexport default CardFooter;","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'CardHeaderContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardHeaderContext from './CardHeaderContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardHeader = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'card-header');\n  const contextValue = useMemo(() => ({\n    cardHeaderBsPrefix: prefix\n  }), [prefix]);\n  return /*#__PURE__*/_jsx(CardHeaderContext.Provider, {\n    value: contextValue,\n    children: /*#__PURE__*/_jsx(Component, {\n      ref: ref,\n      ...props,\n      className: classNames(className, prefix)\n    })\n  });\n});\nCardHeader.displayName = 'CardHeader';\nexport default CardHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImg = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n  bsPrefix,\n  className,\n  variant,\n  as: Component = 'img',\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'card-img');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(variant ? `${prefix}-${variant}` : prefix, className),\n    ...props\n  });\n});\nCardImg.displayName = 'CardImg';\nexport default CardImg;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImgOverlay = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-img-overlay');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardImgOverlay.displayName = 'CardImgOverlay';\nexport default CardImgOverlay;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardLink = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'a',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-link');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardLink.displayName = 'CardLink';\nexport default CardLink;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (className => /*#__PURE__*/React.forwardRef((p, ref) => /*#__PURE__*/_jsx(\"div\", {\n  ...p,\n  ref: ref,\n  className: classNames(p.className, className)\n})));","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH6 = divWithClassName('h6');\nconst CardSubtitle = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = DivStyledAsH6,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-subtitle');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardSubtitle.displayName = 'CardSubtitle';\nexport default CardSubtitle;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardText = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'p',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-text');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardText.displayName = 'CardText';\nexport default CardText;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst CardTitle = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = DivStyledAsH5,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'card-title');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nCardTitle.displayName = 'CardTitle';\nexport default CardTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardBody from './CardBody';\nimport CardFooter from './CardFooter';\nimport CardHeader from './CardHeader';\nimport CardImg from './CardImg';\nimport CardImgOverlay from './CardImgOverlay';\nimport CardLink from './CardLink';\nimport CardSubtitle from './CardSubtitle';\nimport CardText from './CardText';\nimport CardTitle from './CardTitle';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Card = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  bg,\n  text,\n  border,\n  body = false,\n  children,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'card');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    ...props,\n    className: classNames(className, prefix, bg && `bg-${bg}`, text && `text-${text}`, border && `border-${border}`),\n    children: body ? /*#__PURE__*/_jsx(CardBody, {\n      children: children\n    }) : children\n  });\n});\nCard.displayName = 'Card';\nexport default Object.assign(Card, {\n  Img: CardImg,\n  Title: CardTitle,\n  Subtitle: CardSubtitle,\n  Body: CardBody,\n  Link: CardLink,\n  Text: CardText,\n  Header: CardHeader,\n  Footer: CardFooter,\n  ImgOverlay: CardImgOverlay\n});","import { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n    transformPagePoint: (p) => p,\n    isStatic: false,\n    reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n","import { createContext } from 'react';\n\nconst MotionContext = createContext({});\n\nexport { MotionContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","const isBrowser = typeof document !== \"undefined\";\n\nexport { isBrowser };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","/**\n * Convert camelCase to dash-case properties.\n */\nconst camelToDash = (str) => str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n\nexport { camelToDash };\n","import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';\n\nconst optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-\" + camelToDash(optimizedAppearDataId);\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n","const MotionGlobalConfig = {\n    skipAnimations: false,\n    useManualTiming: false,\n};\n\nexport { MotionGlobalConfig };\n","class Queue {\n    constructor() {\n        this.order = [];\n        this.scheduled = new Set();\n    }\n    add(process) {\n        if (!this.scheduled.has(process)) {\n            this.scheduled.add(process);\n            this.order.push(process);\n            return true;\n        }\n    }\n    remove(process) {\n        const index = this.order.indexOf(process);\n        if (index !== -1) {\n            this.order.splice(index, 1);\n            this.scheduled.delete(process);\n        }\n    }\n    clear() {\n        this.order.length = 0;\n        this.scheduled.clear();\n    }\n}\nfunction createRenderStep(runNextFrame) {\n    /**\n     * We create and reuse two queues, one to queue jobs for the current frame\n     * and one for the next. We reuse to avoid triggering GC after x frames.\n     */\n    let thisFrame = new Queue();\n    let nextFrame = new Queue();\n    let numToRun = 0;\n    /**\n     * Track whether we're currently processing jobs in this step. This way\n     * we can decide whether to schedule new jobs for this frame or next.\n     */\n    let isProcessing = false;\n    let flushNextFrame = false;\n    /**\n     * A set of processes which were marked keepAlive when scheduled.\n     */\n    const toKeepAlive = new WeakSet();\n    const step = {\n        /**\n         * Schedule a process to run on the next frame.\n         */\n        schedule: (callback, keepAlive = false, immediate = false) => {\n            const addToCurrentFrame = immediate && isProcessing;\n            const queue = addToCurrentFrame ? thisFrame : nextFrame;\n            if (keepAlive)\n                toKeepAlive.add(callback);\n            if (queue.add(callback) && addToCurrentFrame && isProcessing) {\n                // If we're adding it to the currently running queue, update its measured size\n                numToRun = thisFrame.order.length;\n            }\n            return callback;\n        },\n        /**\n         * Cancel the provided callback from running on the next frame.\n         */\n        cancel: (callback) => {\n            nextFrame.remove(callback);\n            toKeepAlive.delete(callback);\n        },\n        /**\n         * Execute all schedule callbacks.\n         */\n        process: (frameData) => {\n            /**\n             * If we're already processing we've probably been triggered by a flushSync\n             * inside an existing process. Instead of executing, mark flushNextFrame\n             * as true and ensure we flush the following frame at the end of this one.\n             */\n            if (isProcessing) {\n                flushNextFrame = true;\n                return;\n            }\n            isProcessing = true;\n            [thisFrame, nextFrame] = [nextFrame, thisFrame];\n            // Clear the next frame queue\n            nextFrame.clear();\n            // Execute this frame\n            numToRun = thisFrame.order.length;\n            if (numToRun) {\n                for (let i = 0; i < numToRun; i++) {\n                    const callback = thisFrame.order[i];\n                    if (toKeepAlive.has(callback)) {\n                        step.schedule(callback);\n                        runNextFrame();\n                    }\n                    callback(frameData);\n                }\n            }\n            isProcessing = false;\n            if (flushNextFrame) {\n                flushNextFrame = false;\n                step.process(frameData);\n            }\n        },\n    };\n    return step;\n}\n\nexport { createRenderStep };\n","import { MotionGlobalConfig } from '../utils/GlobalConfig.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst stepsOrder = [\n    \"prepare\",\n    \"read\",\n    \"update\",\n    \"preRender\",\n    \"render\",\n    \"postRender\",\n];\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n    let runNextFrame = false;\n    let useDefaultElapsed = true;\n    const state = {\n        delta: 0,\n        timestamp: 0,\n        isProcessing: false,\n    };\n    const steps = stepsOrder.reduce((acc, key) => {\n        acc[key] = createRenderStep(() => (runNextFrame = true));\n        return acc;\n    }, {});\n    const processStep = (stepId) => {\n        steps[stepId].process(state);\n    };\n    const processBatch = () => {\n        const timestamp = MotionGlobalConfig.useManualTiming\n            ? state.timestamp\n            : performance.now();\n        runNextFrame = false;\n        state.delta = useDefaultElapsed\n            ? 1000 / 60\n            : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n        state.timestamp = timestamp;\n        state.isProcessing = true;\n        stepsOrder.forEach(processStep);\n        state.isProcessing = false;\n        if (runNextFrame && allowKeepAlive) {\n            useDefaultElapsed = false;\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const wake = () => {\n        runNextFrame = true;\n        useDefaultElapsed = true;\n        if (!state.isProcessing) {\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const schedule = stepsOrder.reduce((acc, key) => {\n        const step = steps[key];\n        acc[key] = (process, keepAlive = false, immediate = false) => {\n            if (!runNextFrame)\n                wake();\n            return step.schedule(process, keepAlive, immediate);\n        };\n        return acc;\n    }, {});\n    const cancel = (process) => stepsOrder.forEach((key) => steps[key].cancel(process));\n    return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher, stepsOrder };\n","import { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: microtask, cancel: cancelMicrotask } = createRenderBatcher(queueMicrotask, false);\n\nexport { cancelMicrotask, microtask };\n","function isRefObject(ref) {\n    return (ref &&\n        typeof ref === \"object\" &&\n        Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n    return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n","function isAnimationControls(v) {\n    return (v !== null &&\n        typeof v === \"object\" &&\n        typeof v.start === \"function\");\n}\n\nexport { isAnimationControls };\n","const variantPriorityOrder = [\n    \"animate\",\n    \"whileInView\",\n    \"whileFocus\",\n    \"whileHover\",\n    \"whileTap\",\n    \"whileDrag\",\n    \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n    return (isAnimationControls(props.animate) ||\n        variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n    return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n","import { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n    const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n    return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n    return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { isVariantLabel } from '../../render/utils/is-variant-label.mjs';\nimport { isControllingVariants } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction getCurrentTreeVariants(props, context) {\n    if (isControllingVariants(props)) {\n        const { initial, animate } = props;\n        return {\n            initial: initial === false || isVariantLabel(initial)\n                ? initial\n                : undefined,\n            animate: isVariantLabel(animate) ? animate : undefined,\n        };\n    }\n    return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","const featureProps = {\n    animation: [\n        \"animate\",\n        \"variants\",\n        \"whileHover\",\n        \"whileTap\",\n        \"exit\",\n        \"whileInView\",\n        \"whileFocus\",\n        \"whileDrag\",\n    ],\n    exit: [\"exit\"],\n    drag: [\"drag\", \"dragControls\"],\n    focus: [\"whileFocus\"],\n    hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n    tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n    pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n    inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n    layout: [\"layout\", \"layoutId\"],\n};\nconst featureDefinitions = {};\nfor (const key in featureProps) {\n    featureDefinitions[key] = {\n        isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n    };\n}\n\nexport { featureDefinitions };\n","import { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n","import { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n","import * as React from 'react';\nimport { forwardRef, useContext } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { SwitchLayoutGroupContext } from '../context/SwitchLayoutGroupContext.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component, }) {\n    preloadedFeatures && loadFeatures(preloadedFeatures);\n    function MotionComponent(props, externalRef) {\n        /**\n         * If we need to measure the element we load this functionality in a\n         * separate class component in order to gain access to getSnapshotBeforeUpdate.\n         */\n        let MeasureLayout;\n        const configAndProps = {\n            ...useContext(MotionConfigContext),\n            ...props,\n            layoutId: useLayoutId(props),\n        };\n        const { isStatic } = configAndProps;\n        const context = useCreateMotionContext(props);\n        const visualState = useVisualState(props, isStatic);\n        if (!isStatic && isBrowser) {\n            /**\n             * Create a VisualElement for this component. A VisualElement provides a common\n             * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n             * providing a way of rendering to these APIs outside of the React render loop\n             * for more performant animations and interactions\n             */\n            context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement);\n            /**\n             * Load Motion gesture and animation features. These are rendered as renderless\n             * components so each feature can optionally make use of React lifecycle methods.\n             */\n            const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n            const isStrict = useContext(LazyContext).strict;\n            if (context.visualElement) {\n                MeasureLayout = context.visualElement.loadFeatures(\n                // Note: Pass the full new combined props to correctly re-render dynamic feature components.\n                configAndProps, isStrict, preloadedFeatures, initialLayoutGroupConfig);\n            }\n        }\n        /**\n         * The mount order and hierarchy is specific to ensure our element ref\n         * is hydrated by the time features fire their effects.\n         */\n        return (React.createElement(MotionContext.Provider, { value: context },\n            MeasureLayout && context.visualElement ? (React.createElement(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null,\n            useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, context.visualElement)));\n    }\n    const ForwardRefComponent = forwardRef(MotionComponent);\n    ForwardRefComponent[motionComponentSymbol] = Component;\n    return ForwardRefComponent;\n}\nfunction useLayoutId({ layoutId }) {\n    const layoutGroupId = useContext(LayoutGroupContext).id;\n    return layoutGroupId && layoutId !== undefined\n        ? layoutGroupId + \"-\" + layoutId\n        : layoutId;\n}\n\nexport { createMotionComponent };\n","import { featureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n    for (const key in features) {\n        featureDefinitions[key] = {\n            ...featureDefinitions[key],\n            ...features[key],\n        };\n    }\n}\n\nexport { loadFeatures };\n","import { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { optimizedAppearDataAttribute } from '../../animation/optimized-appear/data-id.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n    const { visualElement: parent } = useContext(MotionContext);\n    const lazyContext = useContext(LazyContext);\n    const presenceContext = useContext(PresenceContext);\n    const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion;\n    const visualElementRef = useRef();\n    /**\n     * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n     */\n    createVisualElement = createVisualElement || lazyContext.renderer;\n    if (!visualElementRef.current && createVisualElement) {\n        visualElementRef.current = createVisualElement(Component, {\n            visualState,\n            parent,\n            props,\n            presenceContext,\n            blockInitialAnimation: presenceContext\n                ? presenceContext.initial === false\n                : false,\n            reducedMotionConfig,\n        });\n    }\n    const visualElement = visualElementRef.current;\n    useInsertionEffect(() => {\n        visualElement && visualElement.update(props, presenceContext);\n    });\n    /**\n     * Cache this value as we want to know whether HandoffAppearAnimations\n     * was present on initial render - it will be deleted after this.\n     */\n    const wantsHandoff = useRef(Boolean(props[optimizedAppearDataAttribute] && !window.HandoffComplete));\n    useIsomorphicLayoutEffect(() => {\n        if (!visualElement)\n            return;\n        microtask.postRender(visualElement.render);\n        /**\n         * Ideally this function would always run in a useEffect.\n         *\n         * However, if we have optimised appear animations to handoff from,\n         * it needs to happen synchronously to ensure there's no flash of\n         * incorrect styles in the event of a hydration error.\n         *\n         * So if we detect a situtation where optimised appear animations\n         * are running, we use useLayoutEffect to trigger animations.\n         */\n        if (wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n    });\n    useEffect(() => {\n        if (!visualElement)\n            return;\n        visualElement.updateFeatures();\n        if (!wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n        if (wantsHandoff.current) {\n            wantsHandoff.current = false;\n            // This ensures all future calls to animateChanges() will run in useEffect\n            window.HandoffComplete = true;\n        }\n    });\n    return visualElement;\n}\n\nexport { useVisualElement };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n    return useCallback((instance) => {\n        instance && visualState.mount && visualState.mount(instance);\n        if (visualElement) {\n            instance\n                ? visualElement.mount(instance)\n                : visualElement.unmount();\n        }\n        if (externalRef) {\n            if (typeof externalRef === \"function\") {\n                externalRef(instance);\n            }\n            else if (isRefObject(externalRef)) {\n                externalRef.current = instance;\n            }\n        }\n    }, \n    /**\n     * Only pass a new ref callback to React if we've received a visual element\n     * factory. Otherwise we'll be mounting/remounting every time externalRef\n     * or other dependencies change.\n     */\n    [visualElement]);\n}\n\nexport { useMotionRef };\n","import { createMotionComponent } from '../../motion/index.mjs';\n\n/**\n * Convert any React component into a `motion` component. The provided component\n * **must** use `React.forwardRef` to the underlying DOM component you want to animate.\n *\n * ```jsx\n * const Component = React.forwardRef((props, ref) => {\n *   return <div ref={ref} />\n * })\n *\n * const MotionComponent = motion(Component)\n * ```\n *\n * @public\n */\nfunction createMotionProxy(createConfig) {\n    function custom(Component, customMotionComponentConfig = {}) {\n        return createMotionComponent(createConfig(Component, customMotionComponentConfig));\n    }\n    if (typeof Proxy === \"undefined\") {\n        return custom;\n    }\n    /**\n     * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n     * Rather than generating them anew every render.\n     */\n    const componentCache = new Map();\n    return new Proxy(custom, {\n        /**\n         * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n         * The prop name is passed through as `key` and we can use that to generate a `motion`\n         * DOM component with that name.\n         */\n        get: (_target, key) => {\n            /**\n             * If this element doesn't exist in the component cache, create it and cache.\n             */\n            if (!componentCache.has(key)) {\n                componentCache.set(key, custom(key));\n            }\n            return componentCache.get(key);\n        },\n    });\n}\n\nexport { createMotionProxy };\n","/**\n * We keep these listed seperately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst lowercaseSVGElements = [\n    \"animate\",\n    \"circle\",\n    \"defs\",\n    \"desc\",\n    \"ellipse\",\n    \"g\",\n    \"image\",\n    \"line\",\n    \"filter\",\n    \"marker\",\n    \"mask\",\n    \"metadata\",\n    \"path\",\n    \"pattern\",\n    \"polygon\",\n    \"polyline\",\n    \"rect\",\n    \"stop\",\n    \"switch\",\n    \"symbol\",\n    \"svg\",\n    \"text\",\n    \"tspan\",\n    \"use\",\n    \"view\",\n];\n\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\n    if (\n    /**\n     * If it's not a string, it's a custom React component. Currently we only support\n     * HTML custom React components.\n     */\n    typeof Component !== \"string\" ||\n        /**\n         * If it contains a dash, the element is a custom HTML webcomponent.\n         */\n        Component.includes(\"-\")) {\n        return false;\n    }\n    else if (\n    /**\n     * If it's in our list of lowercase SVG tags, it's an SVG component\n     */\n    lowercaseSVGElements.indexOf(Component) > -1 ||\n        /**\n         * If it contains a capital letter, it's an SVG component\n         */\n        /[A-Z]/.test(Component)) {\n        return true;\n    }\n    return false;\n}\n\nexport { isSVGComponent };\n","const scaleCorrectors = {};\nfunction addScaleCorrector(correctors) {\n    Object.assign(scaleCorrectors, correctors);\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n    \"transformPerspective\",\n    \"x\",\n    \"y\",\n    \"z\",\n    \"translateX\",\n    \"translateY\",\n    \"translateZ\",\n    \"scale\",\n    \"scaleX\",\n    \"scaleY\",\n    \"rotate\",\n    \"rotateX\",\n    \"rotateY\",\n    \"rotateZ\",\n    \"skew\",\n    \"skewX\",\n    \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = new Set(transformPropOrder);\n\nexport { transformPropOrder, transformProps };\n","import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nimport { transformProps } from '../../render/html/utils/transform.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n    return (transformProps.has(key) ||\n        key.startsWith(\"origin\") ||\n        ((layout || layoutId !== undefined) &&\n            (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","const isMotionValue = (value) => Boolean(value && value.getVelocity);\n\nexport { isMotionValue };\n","import { transformPropOrder } from './transform.mjs';\n\nconst translateAlias = {\n    x: \"translateX\",\n    y: \"translateY\",\n    z: \"translateZ\",\n    transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(transform, { enableHardwareAcceleration = true, allowTransformNone = true, }, transformIsDefault, transformTemplate) {\n    // The transform string we're going to build into.\n    let transformString = \"\";\n    /**\n     * Loop over all possible transforms in order, adding the ones that\n     * are present to the transform string.\n     */\n    for (let i = 0; i < numTransforms; i++) {\n        const key = transformPropOrder[i];\n        if (transform[key] !== undefined) {\n            const transformName = translateAlias[key] || key;\n            transformString += `${transformName}(${transform[key]}) `;\n        }\n    }\n    if (enableHardwareAcceleration && !transform.z) {\n        transformString += \"translateZ(0)\";\n    }\n    transformString = transformString.trim();\n    // If we have a custom `transform` template, pass our transform values and\n    // generated transformString to that before returning\n    if (transformTemplate) {\n        transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n    }\n    else if (allowTransformNone && transformIsDefault) {\n        transformString = \"none\";\n    }\n    return transformString;\n}\n\nexport { buildTransform };\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = checkStringStartsWith(\"--\");\nconst isCSSVariableToken = checkStringStartsWith(\"var(--\");\nconst cssVariableRegex = /var\\s*\\(\\s*--[\\w-]+(\\s*,\\s*(?:(?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)+)?\\s*\\)/g;\n\nexport { cssVariableRegex, isCSSVariableName, isCSSVariableToken };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n    return type && typeof value === \"number\"\n        ? type.transform(value)\n        : value;\n};\n\nexport { getValueAsType };\n","const clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\nexport { clamp };\n","import { clamp } from '../../../utils/clamp.mjs';\n\nconst number = {\n    test: (v) => typeof v === \"number\",\n    parse: parseFloat,\n    transform: (v) => v,\n};\nconst alpha = {\n    ...number,\n    transform: (v) => clamp(0, 1, v),\n};\nconst scale = {\n    ...number,\n    default: 1,\n};\n\nexport { alpha, number, scale };\n","/**\n * TODO: When we move from string as a source of truth to data models\n * everything in this folder should probably be referred to as models vs types\n */\n// If this number is a decimal, make it just five decimal places\n// to avoid exponents\nconst sanitize = (v) => Math.round(v * 100000) / 100000;\nconst floatRegex = /(-)?([\\d]*\\.?[\\d])+/g;\nconst colorRegex = /(#[0-9a-f]{3,8}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2}(-?[\\d\\.]+%?)\\s*[\\,\\/]?\\s*[\\d\\.]*%?\\))/gi;\nconst singleColorRegex = /^(#[0-9a-f]{3,8}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2}(-?[\\d\\.]+%?)\\s*[\\,\\/]?\\s*[\\d\\.]*%?\\))$/i;\nfunction isString(v) {\n    return typeof v === \"string\";\n}\n\nexport { colorRegex, floatRegex, isString, sanitize, singleColorRegex };\n","import { isString } from '../utils.mjs';\n\nconst createUnitType = (unit) => ({\n    test: (v) => isString(v) && v.endsWith(unit) && v.split(\" \").length === 1,\n    parse: parseFloat,\n    transform: (v) => `${v}${unit}`,\n});\nconst degrees = createUnitType(\"deg\");\nconst percent = createUnitType(\"%\");\nconst px = createUnitType(\"px\");\nconst vh = createUnitType(\"vh\");\nconst vw = createUnitType(\"vw\");\nconst progressPercentage = {\n    ...percent,\n    parse: (v) => percent.parse(v) / 100,\n    transform: (v) => percent.transform(v * 100),\n};\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { number } from '../../../value/types/numbers/index.mjs';\n\nconst int = {\n    ...number,\n    transform: Math.round,\n};\n\nexport { int };\n","import { scale, alpha } from '../../../value/types/numbers/index.mjs';\nimport { px, degrees, progressPercentage } from '../../../value/types/numbers/units.mjs';\nimport { int } from './type-int.mjs';\n\nconst numberValueTypes = {\n    // Border props\n    borderWidth: px,\n    borderTopWidth: px,\n    borderRightWidth: px,\n    borderBottomWidth: px,\n    borderLeftWidth: px,\n    borderRadius: px,\n    radius: px,\n    borderTopLeftRadius: px,\n    borderTopRightRadius: px,\n    borderBottomRightRadius: px,\n    borderBottomLeftRadius: px,\n    // Positioning props\n    width: px,\n    maxWidth: px,\n    height: px,\n    maxHeight: px,\n    size: px,\n    top: px,\n    right: px,\n    bottom: px,\n    left: px,\n    // Spacing props\n    padding: px,\n    paddingTop: px,\n    paddingRight: px,\n    paddingBottom: px,\n    paddingLeft: px,\n    margin: px,\n    marginTop: px,\n    marginRight: px,\n    marginBottom: px,\n    marginLeft: px,\n    // Transform props\n    rotate: degrees,\n    rotateX: degrees,\n    rotateY: degrees,\n    rotateZ: degrees,\n    scale,\n    scaleX: scale,\n    scaleY: scale,\n    scaleZ: scale,\n    skew: degrees,\n    skewX: degrees,\n    skewY: degrees,\n    distance: px,\n    translateX: px,\n    translateY: px,\n    translateZ: px,\n    x: px,\n    y: px,\n    z: px,\n    perspective: px,\n    transformPerspective: px,\n    opacity: alpha,\n    originX: progressPercentage,\n    originY: progressPercentage,\n    originZ: px,\n    // Misc\n    zIndex: int,\n    // SVG\n    fillOpacity: alpha,\n    strokeOpacity: alpha,\n    numOctaves: int,\n};\n\nexport { numberValueTypes };\n","import { buildTransform } from './build-transform.mjs';\nimport { isCSSVariableName } from '../../dom/utils/is-css-variable.mjs';\nimport { transformProps } from './transform.mjs';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.mjs';\nimport { numberValueTypes } from '../../dom/value-types/number.mjs';\n\nfunction buildHTMLStyles(state, latestValues, options, transformTemplate) {\n    const { style, vars, transform, transformOrigin } = state;\n    // Track whether we encounter any transform or transformOrigin values.\n    let hasTransform = false;\n    let hasTransformOrigin = false;\n    // Does the calculated transform essentially equal \"none\"?\n    let transformIsNone = true;\n    /**\n     * Loop over all our latest animated values and decide whether to handle them\n     * as a style or CSS variable.\n     *\n     * Transforms and transform origins are kept seperately for further processing.\n     */\n    for (const key in latestValues) {\n        const value = latestValues[key];\n        /**\n         * If this is a CSS variable we don't do any further processing.\n         */\n        if (isCSSVariableName(key)) {\n            vars[key] = value;\n            continue;\n        }\n        // Convert the value to its default value type, ie 0 -> \"0px\"\n        const valueType = numberValueTypes[key];\n        const valueAsType = getValueAsType(value, valueType);\n        if (transformProps.has(key)) {\n            // If this is a transform, flag to enable further transform processing\n            hasTransform = true;\n            transform[key] = valueAsType;\n            // If we already know we have a non-default transform, early return\n            if (!transformIsNone)\n                continue;\n            // Otherwise check to see if this is a default transform\n            if (value !== (valueType.default || 0))\n                transformIsNone = false;\n        }\n        else if (key.startsWith(\"origin\")) {\n            // If this is a transform origin, flag and enable further transform-origin processing\n            hasTransformOrigin = true;\n            transformOrigin[key] = valueAsType;\n        }\n        else {\n            style[key] = valueAsType;\n        }\n    }\n    if (!latestValues.transform) {\n        if (hasTransform || transformTemplate) {\n            style.transform = buildTransform(state.transform, options, transformIsNone, transformTemplate);\n        }\n        else if (style.transform) {\n            /**\n             * If we have previously created a transform but currently don't have any,\n             * reset transform style to none.\n             */\n            style.transform = \"none\";\n        }\n    }\n    /**\n     * Build a transformOrigin style. Uses the same defaults as the browser for\n     * undefined origins.\n     */\n    if (hasTransformOrigin) {\n        const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n        style.transformOrigin = `${originX} ${originY} ${originZ}`;\n    }\n}\n\nexport { buildHTMLStyles };\n","const createHtmlRenderState = () => ({\n    style: {},\n    transform: {},\n    transformOrigin: {},\n    vars: {},\n});\n\nexport { createHtmlRenderState };\n","import { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n    for (const key in source) {\n        if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n            target[key] = source[key];\n        }\n    }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState, isStatic) {\n    return useMemo(() => {\n        const state = createHtmlRenderState();\n        buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n        return Object.assign({}, state.vars, state.style);\n    }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n    const styleProp = props.style || {};\n    const style = {};\n    /**\n     * Copy non-Motion Values straight into style\n     */\n    copyRawValuesOnly(style, styleProp, props);\n    Object.assign(style, useInitialMotionValues(props, visualState, isStatic));\n    return style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n    // The `any` isn't ideal but it is the type of createElement props argument\n    const htmlProps = {};\n    const style = useStyle(props, visualState, isStatic);\n    if (props.drag && props.dragListener !== false) {\n        // Disable the ghost element when a user drags\n        htmlProps.draggable = false;\n        // Disable text selection\n        style.userSelect =\n            style.WebkitUserSelect =\n                style.WebkitTouchCallout =\n                    \"none\";\n        // Disable scrolling on the draggable direction\n        style.touchAction =\n            props.drag === true\n                ? \"none\"\n                : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n    }\n    if (props.tabIndex === undefined &&\n        (props.onTap || props.onTapStart || props.whileTap)) {\n        htmlProps.tabIndex = 0;\n    }\n    htmlProps.style = style;\n    return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n    \"animate\",\n    \"exit\",\n    \"variants\",\n    \"initial\",\n    \"style\",\n    \"values\",\n    \"variants\",\n    \"transition\",\n    \"transformTemplate\",\n    \"custom\",\n    \"inherit\",\n    \"onBeforeLayoutMeasure\",\n    \"onAnimationStart\",\n    \"onAnimationComplete\",\n    \"onUpdate\",\n    \"onDragStart\",\n    \"onDrag\",\n    \"onDragEnd\",\n    \"onMeasureDragConstraints\",\n    \"onDirectionLock\",\n    \"onDragTransitionEnd\",\n    \"_dragX\",\n    \"_dragY\",\n    \"onHoverStart\",\n    \"onHoverEnd\",\n    \"onViewportEnter\",\n    \"onViewportLeave\",\n    \"globalTapTarget\",\n    \"ignoreStrict\",\n    \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n    return (key.startsWith(\"while\") ||\n        (key.startsWith(\"drag\") && key !== \"draggable\") ||\n        key.startsWith(\"layout\") ||\n        key.startsWith(\"onTap\") ||\n        key.startsWith(\"onPan\") ||\n        key.startsWith(\"onLayout\") ||\n        validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n    if (!isValidProp)\n        return;\n    // Explicitly filter our events\n    shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n    /**\n     * We attempt to import this package but require won't be defined in esm environments, in that case\n     * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n     * in favour of explicit injection.\n     */\n    loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default);\n}\ncatch (_a) {\n    // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n    const filteredProps = {};\n    for (const key in props) {\n        /**\n         * values is considered a valid prop by Emotion, so if it's present\n         * this will be rendered out to the DOM unless explicitly filtered.\n         *\n         * We check the type as it could be used with the `feColorMatrix`\n         * element, which we support.\n         */\n        if (key === \"values\" && typeof props.values === \"object\")\n            continue;\n        if (shouldForward(key) ||\n            (forwardMotionProps === true && isValidMotionProp(key)) ||\n            (!isDom && !isValidMotionProp(key)) ||\n            // If trying to use native HTML drag events, forward drag listeners\n            (props[\"draggable\"] && key.startsWith(\"onDrag\"))) {\n            filteredProps[key] = props[key];\n        }\n    }\n    return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nfunction calcOrigin(origin, offset, size) {\n    return typeof origin === \"string\"\n        ? origin\n        : px.transform(offset + size * origin);\n}\n/**\n * The SVG transform origin defaults are different to CSS and is less intuitive,\n * so we use the measured dimensions of the SVG to reconcile these.\n */\nfunction calcSVGTransformOrigin(dimensions, originX, originY) {\n    const pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n    const pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n    return `${pxOriginX} ${pxOriginY}`;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nconst dashKeys = {\n    offset: \"stroke-dashoffset\",\n    array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n    offset: \"strokeDashoffset\",\n    array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n    // Normalise path length by setting SVG attribute pathLength to 1\n    attrs.pathLength = 1;\n    // We use dash case when setting attributes directly to the DOM node and camel case\n    // when defining props on a React component.\n    const keys = useDashCase ? dashKeys : camelKeys;\n    // Build the dash offset\n    attrs[keys.offset] = px.transform(-offset);\n    // Build the dash array\n    const pathLength = px.transform(length);\n    const pathSpacing = px.transform(spacing);\n    attrs[keys.array] = `${pathLength} ${pathSpacing}`;\n}\n\nexport { buildSVGPath };\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { calcSVGTransformOrigin } from './transform-origin.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, originX, originY, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, options, isSVGTag, transformTemplate) {\n    buildHTMLStyles(state, latest, options, transformTemplate);\n    /**\n     * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n     * as normal HTML tags.\n     */\n    if (isSVGTag) {\n        if (state.style.viewBox) {\n            state.attrs.viewBox = state.style.viewBox;\n        }\n        return;\n    }\n    state.attrs = state.style;\n    state.style = {};\n    const { attrs, style, dimensions } = state;\n    /**\n     * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs\n     * and copy it into style.\n     */\n    if (attrs.transform) {\n        if (dimensions)\n            style.transform = attrs.transform;\n        delete attrs.transform;\n    }\n    // Parse transformOrigin\n    if (dimensions &&\n        (originX !== undefined || originY !== undefined || style.transform)) {\n        style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5);\n    }\n    // Render attrX/attrY/attrScale as attributes\n    if (attrX !== undefined)\n        attrs.x = attrX;\n    if (attrY !== undefined)\n        attrs.y = attrY;\n    if (attrScale !== undefined)\n        attrs.scale = attrScale;\n    // Build SVG path if one has been defined\n    if (pathLength !== undefined) {\n        buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n    }\n}\n\nexport { buildSVGAttrs };\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n    ...createHtmlRenderState(),\n    attrs: {},\n});\n\nexport { createSvgRenderState };\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n","import { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n    const visualProps = useMemo(() => {\n        const state = createSvgRenderState();\n        buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, isSVGTag(Component), props.transformTemplate);\n        return {\n            ...state.attrs,\n            style: { ...state.style },\n        };\n    }, [visualState]);\n    if (props.style) {\n        const rawStyles = {};\n        copyRawValuesOnly(rawStyles, props.style, props);\n        visualProps.style = { ...rawStyles, ...visualProps.style };\n    }\n    return visualProps;\n}\n\nexport { useSVGProps };\n","import { useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction createUseRender(forwardMotionProps = false) {\n    const useRender = (Component, props, ref, { latestValues }, isStatic) => {\n        const useVisualProps = isSVGComponent(Component)\n            ? useSVGProps\n            : useHTMLProps;\n        const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n        const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n        const elementProps = {\n            ...filteredProps,\n            ...visualProps,\n            ref,\n        };\n        /**\n         * If component has been handed a motion value as its child,\n         * memoise its initial value and render that. Subsequent updates\n         * will be handled by the onChange handler\n         */\n        const { children } = props;\n        const renderedChildren = useMemo(() => (isMotionValue(children) ? children.get() : children), [children]);\n        return createElement(Component, {\n            ...elementProps,\n            children: renderedChildren,\n        });\n    };\n    return useRender;\n}\n\nexport { createUseRender };\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n    Object.assign(element.style, style, projection && projection.getProjectionStyles(styleProp));\n    // Loop over any CSS variables and assign those.\n    for (const key in vars) {\n        element.style.setProperty(key, vars[key]);\n    }\n}\n\nexport { renderHTML };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n    \"baseFrequency\",\n    \"diffuseConstant\",\n    \"kernelMatrix\",\n    \"kernelUnitLength\",\n    \"keySplines\",\n    \"keyTimes\",\n    \"limitingConeAngle\",\n    \"markerHeight\",\n    \"markerWidth\",\n    \"numOctaves\",\n    \"targetX\",\n    \"targetY\",\n    \"surfaceScale\",\n    \"specularConstant\",\n    \"specularExponent\",\n    \"stdDeviation\",\n    \"tableValues\",\n    \"viewBox\",\n    \"gradientTransform\",\n    \"pathLength\",\n    \"startOffset\",\n    \"textLength\",\n    \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n    renderHTML(element, renderState, undefined, projection);\n    for (const key in renderState.attrs) {\n        element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n    }\n}\n\nexport { renderSVG };\n","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps) {\n    const { style } = props;\n    const newValues = {};\n    for (const key in style) {\n        if (isMotionValue(style[key]) ||\n            (prevProps.style && isMotionValue(prevProps.style[key])) ||\n            isForcedMotionValue(key, props)) {\n            newValues[key] = style[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\nimport { transformPropOrder } from '../../html/utils/transform.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps) {\n    const newValues = scrapeMotionValuesFromProps$1(props, prevProps);\n    for (const key in props) {\n        if (isMotionValue(props[key]) || isMotionValue(prevProps[key])) {\n            const targetKey = transformPropOrder.indexOf(key) !== -1\n                ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n                : key;\n            newValues[targetKey] = props[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","function resolveVariantFromProps(props, definition, custom, currentValues = {}, currentVelocity = {}) {\n    /**\n     * If the variant definition is a function, resolve.\n     */\n    if (typeof definition === \"function\") {\n        definition = definition(custom !== undefined ? custom : props.custom, currentValues, currentVelocity);\n    }\n    /**\n     * If the variant definition is a variant label, or\n     * the function returned a variant label, resolve.\n     */\n    if (typeof definition === \"string\") {\n        definition = props.variants && props.variants[definition];\n    }\n    /**\n     * At this point we've resolved both functions and variant labels,\n     * but the resolved variant label might itself have been a function.\n     * If so, resolve. This can only have returned a valid target object.\n     */\n    if (typeof definition === \"function\") {\n        definition = definition(custom !== undefined ? custom : props.custom, currentValues, currentVelocity);\n    }\n    return definition;\n}\n\nexport { resolveVariantFromProps };\n","const isKeyframesTarget = (v) => {\n    return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.mjs';\n\nconst isCustomValue = (v) => {\n    return Boolean(v && typeof v === \"object\" && v.mix && v.toValue);\n};\nconst resolveFinalValueInKeyframes = (v) => {\n    // TODO maybe throw if v.length - 1 is placeholder token?\n    return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n};\n\nexport { isCustomValue, resolveFinalValueInKeyframes };\n","import { isCustomValue } from '../../utils/resolve-value.mjs';\nimport { isMotionValue } from './is-motion-value.mjs';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n */\nfunction resolveMotionValue(value) {\n    const unwrappedValue = isMotionValue(value) ? value.get() : value;\n    return isCustomValue(unwrappedValue)\n        ? unwrappedValue.toValue()\n        : unwrappedValue;\n}\n\nexport { resolveMotionValue };\n","import { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { resolveVariantFromProps } from '../../render/utils/resolve-variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { isControllingVariants, isVariantNode } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, onMount, }, props, context, presenceContext) {\n    const state = {\n        latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n        renderState: createRenderState(),\n    };\n    if (onMount) {\n        state.mount = (instance) => onMount(props, instance, state);\n    }\n    return state;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n    const context = useContext(MotionContext);\n    const presenceContext = useContext(PresenceContext);\n    const make = () => makeState(config, props, context, presenceContext);\n    return isStatic ? make() : useConstant(make);\n};\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n    const values = {};\n    const motionValues = scrapeMotionValues(props, {});\n    for (const key in motionValues) {\n        values[key] = resolveMotionValue(motionValues[key]);\n    }\n    let { initial, animate } = props;\n    const isControllingVariants$1 = isControllingVariants(props);\n    const isVariantNode$1 = isVariantNode(props);\n    if (context &&\n        isVariantNode$1 &&\n        !isControllingVariants$1 &&\n        props.inherit !== false) {\n        if (initial === undefined)\n            initial = context.initial;\n        if (animate === undefined)\n            animate = context.animate;\n    }\n    let isInitialAnimationBlocked = presenceContext\n        ? presenceContext.initial === false\n        : false;\n    isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n    const variantToSet = isInitialAnimationBlocked ? animate : initial;\n    if (variantToSet &&\n        typeof variantToSet !== \"boolean\" &&\n        !isAnimationControls(variantToSet)) {\n        const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n        list.forEach((definition) => {\n            const resolved = resolveVariantFromProps(props, definition);\n            if (!resolved)\n                return;\n            const { transitionEnd, transition, ...target } = resolved;\n            for (const key in target) {\n                let valueTarget = target[key];\n                if (Array.isArray(valueTarget)) {\n                    /**\n                     * Take final keyframe if the initial animation is blocked because\n                     * we want to initialise at the end of that blocked animation.\n                     */\n                    const index = isInitialAnimationBlocked\n                        ? valueTarget.length - 1\n                        : 0;\n                    valueTarget = valueTarget[index];\n                }\n                if (valueTarget !== null) {\n                    values[key] = valueTarget;\n                }\n            }\n            for (const key in transitionEnd)\n                values[key] = transitionEnd[key];\n        });\n    }\n    return values;\n}\n\nexport { makeUseVisualState };\n","import { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport { useConstant };\n","const noop = (any) => any;\n\nexport { noop };\n","import { noop } from '../utils/noop.mjs';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps, } = createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, steps };\n","import { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst svgMotionConfig = {\n    useVisualState: makeUseVisualState({\n        scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n        createRenderState: createSvgRenderState,\n        onMount: (props, instance, { renderState, latestValues }) => {\n            frame.read(() => {\n                try {\n                    renderState.dimensions =\n                        typeof instance.getBBox ===\n                            \"function\"\n                            ? instance.getBBox()\n                            : instance.getBoundingClientRect();\n                }\n                catch (e) {\n                    // Most likely trying to measure an unrendered element under Firefox\n                    renderState.dimensions = {\n                        x: 0,\n                        y: 0,\n                        width: 0,\n                        height: 0,\n                    };\n                }\n            });\n            frame.render(() => {\n                buildSVGAttrs(renderState, latestValues, { enableHardwareAcceleration: false }, isSVGTag(instance.tagName), props.transformTemplate);\n                renderSVG(instance, renderState);\n            });\n        },\n    }),\n};\n\nexport { svgMotionConfig };\n","import { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nconst htmlMotionConfig = {\n    useVisualState: makeUseVisualState({\n        scrapeMotionValuesFromProps,\n        createRenderState: createHtmlRenderState,\n    }),\n};\n\nexport { htmlMotionConfig };\n","function addDomEvent(target, eventName, handler, options = { passive: true }) {\n    target.addEventListener(eventName, handler, options);\n    return () => target.removeEventListener(eventName, handler);\n}\n\nexport { addDomEvent };\n","const isPrimaryPointer = (event) => {\n    if (event.pointerType === \"mouse\") {\n        return typeof event.button !== \"number\" || event.button <= 0;\n    }\n    else {\n        /**\n         * isPrimary is true for all mice buttons, whereas every touch point\n         * is regarded as its own input. So subsequent concurrent touch points\n         * will be false.\n         *\n         * Specifically match against false here as incomplete versions of\n         * PointerEvents in very old browser might have it set as undefined.\n         */\n        return event.isPrimary !== false;\n    }\n};\n\nexport { isPrimaryPointer };\n","import { isPrimaryPointer } from './utils/is-primary-pointer.mjs';\n\nfunction extractEventInfo(event, pointType = \"page\") {\n    return {\n        point: {\n            x: event[pointType + \"X\"],\n            y: event[pointType + \"Y\"],\n        },\n    };\n}\nconst addPointerInfo = (handler) => {\n    return (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n};\n\nexport { addPointerInfo, extractEventInfo };\n","import { addDomEvent } from './add-dom-event.mjs';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n    return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param  {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n","function createLock(name) {\n    let lock = null;\n    return () => {\n        const openLock = () => {\n            lock = null;\n        };\n        if (lock === null) {\n            lock = name;\n            return openLock;\n        }\n        return false;\n    };\n}\nconst globalHorizontalLock = createLock(\"dragHorizontal\");\nconst globalVerticalLock = createLock(\"dragVertical\");\nfunction getGlobalLock(drag) {\n    let lock = false;\n    if (drag === \"y\") {\n        lock = globalVerticalLock();\n    }\n    else if (drag === \"x\") {\n        lock = globalHorizontalLock();\n    }\n    else {\n        const openHorizontal = globalHorizontalLock();\n        const openVertical = globalVerticalLock();\n        if (openHorizontal && openVertical) {\n            lock = () => {\n                openHorizontal();\n                openVertical();\n            };\n        }\n        else {\n            // Release the locks because we don't use them\n            if (openHorizontal)\n                openHorizontal();\n            if (openVertical)\n                openVertical();\n        }\n    }\n    return lock;\n}\nfunction isDragActive() {\n    // Check the gesture lock - if we get it, it means no drag gesture is active\n    // and we can safely fire the tap gesture.\n    const openGestureLock = getGlobalLock(true);\n    if (!openGestureLock)\n        return true;\n    openGestureLock();\n    return false;\n}\n\nexport { createLock, getGlobalLock, isDragActive };\n","class Feature {\n    constructor(node) {\n        this.isMounted = false;\n        this.node = node;\n    }\n    update() { }\n}\n\nexport { Feature };\n","import { addPointerEvent } from '../events/add-pointer-event.mjs';\nimport { pipe } from '../utils/pipe.mjs';\nimport { isDragActive } from './drag/utils/lock.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\nfunction addHoverEvent(node, isActive) {\n    const eventName = \"pointer\" + (isActive ? \"enter\" : \"leave\");\n    const callbackName = \"onHover\" + (isActive ? \"Start\" : \"End\");\n    const handleEvent = (event, info) => {\n        if (event.pointerType === \"touch\" || isDragActive())\n            return;\n        const props = node.getProps();\n        if (node.animationState && props.whileHover) {\n            node.animationState.setActive(\"whileHover\", isActive);\n        }\n        if (props[callbackName]) {\n            frame.update(() => props[callbackName](event, info));\n        }\n    };\n    return addPointerEvent(node.current, eventName, handleEvent, {\n        passive: !node.getProps()[callbackName],\n    });\n}\nclass HoverGesture extends Feature {\n    mount() {\n        this.unmount = pipe(addHoverEvent(this.node, true), addHoverEvent(this.node, false));\n    }\n    unmount() { }\n}\n\nexport { HoverGesture };\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n    if (!child) {\n        return false;\n    }\n    else if (parent === child) {\n        return true;\n    }\n    else {\n        return isNodeOrChild(parent, child.parentElement);\n    }\n};\n\nexport { isNodeOrChild };\n","import { extractEventInfo } from '../events/event-info.mjs';\nimport { addDomEvent } from '../events/add-dom-event.mjs';\nimport { addPointerEvent } from '../events/add-pointer-event.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\nimport { pipe } from '../utils/pipe.mjs';\nimport { isDragActive } from './drag/utils/lock.mjs';\nimport { isNodeOrChild } from './utils/is-node-or-child.mjs';\nimport { noop } from '../utils/noop.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\nfunction fireSyntheticPointerEvent(name, handler) {\n    if (!handler)\n        return;\n    const syntheticPointerEvent = new PointerEvent(\"pointer\" + name);\n    handler(syntheticPointerEvent, extractEventInfo(syntheticPointerEvent));\n}\nclass PressGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.removeStartListeners = noop;\n        this.removeEndListeners = noop;\n        this.removeAccessibleListeners = noop;\n        this.startPointerPress = (startEvent, startInfo) => {\n            if (this.isPressing)\n                return;\n            this.removeEndListeners();\n            const props = this.node.getProps();\n            const endPointerPress = (endEvent, endInfo) => {\n                if (!this.checkPressEnd())\n                    return;\n                const { onTap, onTapCancel, globalTapTarget } = this.node.getProps();\n                frame.update(() => {\n                    /**\n                     * We only count this as a tap gesture if the event.target is the same\n                     * as, or a child of, this component's element\n                     */\n                    !globalTapTarget &&\n                        !isNodeOrChild(this.node.current, endEvent.target)\n                        ? onTapCancel && onTapCancel(endEvent, endInfo)\n                        : onTap && onTap(endEvent, endInfo);\n                });\n            };\n            const removePointerUpListener = addPointerEvent(window, \"pointerup\", endPointerPress, { passive: !(props.onTap || props[\"onPointerUp\"]) });\n            const removePointerCancelListener = addPointerEvent(window, \"pointercancel\", (cancelEvent, cancelInfo) => this.cancelPress(cancelEvent, cancelInfo), { passive: !(props.onTapCancel || props[\"onPointerCancel\"]) });\n            this.removeEndListeners = pipe(removePointerUpListener, removePointerCancelListener);\n            this.startPress(startEvent, startInfo);\n        };\n        this.startAccessiblePress = () => {\n            const handleKeydown = (keydownEvent) => {\n                if (keydownEvent.key !== \"Enter\" || this.isPressing)\n                    return;\n                const handleKeyup = (keyupEvent) => {\n                    if (keyupEvent.key !== \"Enter\" || !this.checkPressEnd())\n                        return;\n                    fireSyntheticPointerEvent(\"up\", (event, info) => {\n                        const { onTap } = this.node.getProps();\n                        if (onTap) {\n                            frame.update(() => onTap(event, info));\n                        }\n                    });\n                };\n                this.removeEndListeners();\n                this.removeEndListeners = addDomEvent(this.node.current, \"keyup\", handleKeyup);\n                fireSyntheticPointerEvent(\"down\", (event, info) => {\n                    this.startPress(event, info);\n                });\n            };\n            const removeKeydownListener = addDomEvent(this.node.current, \"keydown\", handleKeydown);\n            const handleBlur = () => {\n                if (!this.isPressing)\n                    return;\n                fireSyntheticPointerEvent(\"cancel\", (cancelEvent, cancelInfo) => this.cancelPress(cancelEvent, cancelInfo));\n            };\n            const removeBlurListener = addDomEvent(this.node.current, \"blur\", handleBlur);\n            this.removeAccessibleListeners = pipe(removeKeydownListener, removeBlurListener);\n        };\n    }\n    startPress(event, info) {\n        this.isPressing = true;\n        const { onTapStart, whileTap } = this.node.getProps();\n        /**\n         * Ensure we trigger animations before firing event callback\n         */\n        if (whileTap && this.node.animationState) {\n            this.node.animationState.setActive(\"whileTap\", true);\n        }\n        if (onTapStart) {\n            frame.update(() => onTapStart(event, info));\n        }\n    }\n    checkPressEnd() {\n        this.removeEndListeners();\n        this.isPressing = false;\n        const props = this.node.getProps();\n        if (props.whileTap && this.node.animationState) {\n            this.node.animationState.setActive(\"whileTap\", false);\n        }\n        return !isDragActive();\n    }\n    cancelPress(event, info) {\n        if (!this.checkPressEnd())\n            return;\n        const { onTapCancel } = this.node.getProps();\n        if (onTapCancel) {\n            frame.update(() => onTapCancel(event, info));\n        }\n    }\n    mount() {\n        const props = this.node.getProps();\n        const removePointerListener = addPointerEvent(props.globalTapTarget ? window : this.node.current, \"pointerdown\", this.startPointerPress, { passive: !(props.onTapStart || props[\"onPointerStart\"]) });\n        const removeFocusListener = addDomEvent(this.node.current, \"focus\", this.startAccessiblePress);\n        this.removeStartListeners = pipe(removePointerListener, removeFocusListener);\n    }\n    unmount() {\n        this.removeStartListeners();\n        this.removeEndListeners();\n        this.removeAccessibleListeners();\n    }\n}\n\nexport { PressGesture };\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n    const callback = observerCallbacks.get(entry.target);\n    callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n    entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n    const lookupRoot = root || document;\n    /**\n     * If we don't have an observer lookup map for this root, create one.\n     */\n    if (!observers.has(lookupRoot)) {\n        observers.set(lookupRoot, {});\n    }\n    const rootObservers = observers.get(lookupRoot);\n    const key = JSON.stringify(options);\n    /**\n     * If we don't have an observer for this combination of root and settings,\n     * create one.\n     */\n    if (!rootObservers[key]) {\n        rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n    }\n    return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n    const rootInteresectionObserver = initIntersectionObserver(options);\n    observerCallbacks.set(element, callback);\n    rootInteresectionObserver.observe(element);\n    return () => {\n        observerCallbacks.delete(element);\n        rootInteresectionObserver.unobserve(element);\n    };\n}\n\nexport { observeIntersection };\n","import { Feature } from '../Feature.mjs';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n    some: 0,\n    all: 1,\n};\nclass InViewFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.hasEnteredView = false;\n        this.isInView = false;\n    }\n    startObserver() {\n        this.unmount();\n        const { viewport = {} } = this.node.getProps();\n        const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n        const options = {\n            root: root ? root.current : undefined,\n            rootMargin,\n            threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n        };\n        const onIntersectionUpdate = (entry) => {\n            const { isIntersecting } = entry;\n            /**\n             * If there's been no change in the viewport state, early return.\n             */\n            if (this.isInView === isIntersecting)\n                return;\n            this.isInView = isIntersecting;\n            /**\n             * Handle hasEnteredView. If this is only meant to run once, and\n             * element isn't visible, early return. Otherwise set hasEnteredView to true.\n             */\n            if (once && !isIntersecting && this.hasEnteredView) {\n                return;\n            }\n            else if (isIntersecting) {\n                this.hasEnteredView = true;\n            }\n            if (this.node.animationState) {\n                this.node.animationState.setActive(\"whileInView\", isIntersecting);\n            }\n            /**\n             * Use the latest committed props rather than the ones in scope\n             * when this observer is created\n             */\n            const { onViewportEnter, onViewportLeave } = this.node.getProps();\n            const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n            callback && callback(entry);\n        };\n        return observeIntersection(this.node.current, options, onIntersectionUpdate);\n    }\n    mount() {\n        this.startObserver();\n    }\n    update() {\n        if (typeof IntersectionObserver === \"undefined\")\n            return;\n        const { props, prevProps } = this.node;\n        const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n        if (hasOptionsChanged) {\n            this.startObserver();\n        }\n    }\n    unmount() { }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n    return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n    inView: {\n        Feature: InViewFeature,\n    },\n    tap: {\n        Feature: PressGesture,\n    },\n    focus: {\n        Feature: FocusGesture,\n    },\n    hover: {\n        Feature: HoverGesture,\n    },\n};\n\nexport { gestureAnimations };\n","import { addDomEvent } from '../events/add-dom-event.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\nimport { pipe } from '../utils/pipe.mjs';\n\nclass FocusGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.isActive = false;\n    }\n    onFocus() {\n        let isFocusVisible = false;\n        /**\n         * If this element doesn't match focus-visible then don't\n         * apply whileHover. But, if matches throws that focus-visible\n         * is not a valid selector then in that browser outline styles will be applied\n         * to the element by default and we want to match that behaviour with whileFocus.\n         */\n        try {\n            isFocusVisible = this.node.current.matches(\":focus-visible\");\n        }\n        catch (e) {\n            isFocusVisible = true;\n        }\n        if (!isFocusVisible || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", true);\n        this.isActive = true;\n    }\n    onBlur() {\n        if (!this.isActive || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", false);\n        this.isActive = false;\n    }\n    mount() {\n        this.unmount = pipe(addDomEvent(this.node.current, \"focus\", () => this.onFocus()), addDomEvent(this.node.current, \"blur\", () => this.onBlur()));\n    }\n    unmount() { }\n}\n\nexport { FocusGesture };\n","function shallowCompare(next, prev) {\n    if (!Array.isArray(prev))\n        return false;\n    const prevLength = prev.length;\n    if (prevLength !== next.length)\n        return false;\n    for (let i = 0; i < prevLength; i++) {\n        if (prev[i] !== next[i])\n            return false;\n    }\n    return true;\n}\n\nexport { shallowCompare };\n","import { resolveVariantFromProps } from './resolve-variants.mjs';\n\n/**\n * Creates an object containing the latest state of every MotionValue on a VisualElement\n */\nfunction getCurrent(visualElement) {\n    const current = {};\n    visualElement.values.forEach((value, key) => (current[key] = value.get()));\n    return current;\n}\n/**\n * Creates an object containing the latest velocity of every MotionValue on a VisualElement\n */\nfunction getVelocity(visualElement) {\n    const velocity = {};\n    visualElement.values.forEach((value, key) => (velocity[key] = value.getVelocity()));\n    return velocity;\n}\nfunction resolveVariant(visualElement, definition, custom) {\n    const props = visualElement.getProps();\n    return resolveVariantFromProps(props, definition, custom !== undefined ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement));\n}\n\nexport { resolveVariant };\n","import { noop } from './noop.mjs';\n\nlet warning = noop;\nlet invariant = noop;\nif (process.env.NODE_ENV !== \"production\") {\n    warning = (check, message) => {\n        if (!check && typeof console !== \"undefined\") {\n            console.warn(message);\n        }\n    };\n    invariant = (check, message) => {\n        if (!check) {\n            throw new Error(message);\n        }\n    };\n}\n\nexport { invariant, warning };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nconst secondsToMilliseconds = (seconds) => seconds * 1000;\nconst millisecondsToSeconds = (milliseconds) => milliseconds / 1000;\n\nexport { millisecondsToSeconds, secondsToMilliseconds };\n","const instantAnimationState = {\n    current: false,\n};\n\nexport { instantAnimationState };\n","const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === \"number\";\n\nexport { isBezierDefinition };\n","import { isBezierDefinition } from '../../../easing/utils/is-bezier-definition.mjs';\n\nfunction isWaapiSupportedEasing(easing) {\n    return Boolean(!easing ||\n        (typeof easing === \"string\" && supportedWaapiEasing[easing]) ||\n        isBezierDefinition(easing) ||\n        (Array.isArray(easing) && easing.every(isWaapiSupportedEasing)));\n}\nconst cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\nconst supportedWaapiEasing = {\n    linear: \"linear\",\n    ease: \"ease\",\n    easeIn: \"ease-in\",\n    easeOut: \"ease-out\",\n    easeInOut: \"ease-in-out\",\n    circIn: cubicBezierAsString([0, 0.65, 0.55, 1]),\n    circOut: cubicBezierAsString([0.55, 0, 1, 0.45]),\n    backIn: cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n    backOut: cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\nfunction mapEasingToNativeEasing(easing) {\n    if (!easing)\n        return undefined;\n    return isBezierDefinition(easing)\n        ? cubicBezierAsString(easing)\n        : Array.isArray(easing)\n            ? easing.map(mapEasingToNativeEasing)\n            : supportedWaapiEasing[easing];\n}\n\nexport { cubicBezierAsString, isWaapiSupportedEasing, mapEasingToNativeEasing, supportedWaapiEasing };\n","import { noop } from '../utils/noop.mjs';\n\n/*\n  Bezier function generator\n  This has been modified from Gaëtan Renaudeau's BezierEasing\n  https://github.com/gre/bezier-easing/blob/master/src/index.js\n  https://github.com/gre/bezier-easing/blob/master/LICENSE\n  \n  I've removed the newtonRaphsonIterate algo because in benchmarking it\n  wasn't noticiably faster than binarySubdivision, indeed removing it\n  usually improved times, depending on the curve.\n  I also removed the lookup table, as for the added bundle size and loop we're\n  only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n  to 12 to compensate and this still tended to be faster for no perceivable\n  loss in accuracy.\n  Usage\n    const easeOut = cubicBezier(.17,.67,.83,.67);\n    const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n    t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n    let currentX;\n    let currentT;\n    let i = 0;\n    do {\n        currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n        currentX = calcBezier(currentT, mX1, mX2) - x;\n        if (currentX > 0.0) {\n            upperBound = currentT;\n        }\n        else {\n            lowerBound = currentT;\n        }\n    } while (Math.abs(currentX) > subdivisionPrecision &&\n        ++i < subdivisionMaxIterations);\n    return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n    // If this is a linear gradient, return linear easing\n    if (mX1 === mY1 && mX2 === mY2)\n        return noop;\n    const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n    // If animation is at start/end, return t without easing\n    return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n","import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = cubicBezier(0.42, 0, 1, 1);\nconst easeOut = cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n","const isEasingArray = (ease) => {\n    return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { isEasingArray };\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circIn);\n\nexport { circIn, circInOut, circOut };\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = reverseEasing(backOut);\nconst backInOut = mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n","import { invariant } from '../../utils/errors.mjs';\nimport { cubicBezier } from '../cubic-bezier.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { easeIn, easeInOut, easeOut } from '../ease.mjs';\nimport { circIn, circInOut, circOut } from '../circ.mjs';\nimport { backIn, backInOut, backOut } from '../back.mjs';\nimport { anticipate } from '../anticipate.mjs';\n\nconst easingLookup = {\n    linear: noop,\n    easeIn,\n    easeInOut,\n    easeOut,\n    circIn,\n    circInOut,\n    circOut,\n    backIn,\n    backInOut,\n    backOut,\n    anticipate,\n};\nconst easingDefinitionToFunction = (definition) => {\n    if (Array.isArray(definition)) {\n        // If cubic bezier definition, create bezier curve\n        invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`);\n        const [x1, y1, x2, y2] = definition;\n        return cubicBezier(x1, y1, x2, y2);\n    }\n    else if (typeof definition === \"string\") {\n        // Else lookup from table\n        invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`);\n        return easingLookup[definition];\n    }\n    return definition;\n};\n\nexport { easingDefinitionToFunction };\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n","import { isString, singleColorRegex, floatRegex } from '../utils.mjs';\n\n/**\n * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000,\n * but false if a number or multiple colors\n */\nconst isColorString = (type, testProp) => (v) => {\n    return Boolean((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) ||\n        (testProp && Object.prototype.hasOwnProperty.call(v, testProp)));\n};\nconst splitColor = (aName, bName, cName) => (v) => {\n    if (!isString(v))\n        return v;\n    const [a, b, c, alpha] = v.match(floatRegex);\n    return {\n        [aName]: parseFloat(a),\n        [bName]: parseFloat(b),\n        [cName]: parseFloat(c),\n        alpha: alpha !== undefined ? parseFloat(alpha) : 1,\n    };\n};\n\nexport { isColorString, splitColor };\n","import { clamp } from '../../../utils/clamp.mjs';\nimport { number, alpha } from '../numbers/index.mjs';\nimport { sanitize } from '../utils.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst clampRgbUnit = (v) => clamp(0, 255, v);\nconst rgbUnit = {\n    ...number,\n    transform: (v) => Math.round(clampRgbUnit(v)),\n};\nconst rgba = {\n    test: isColorString(\"rgb\", \"red\"),\n    parse: splitColor(\"red\", \"green\", \"blue\"),\n    transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => \"rgba(\" +\n        rgbUnit.transform(red) +\n        \", \" +\n        rgbUnit.transform(green) +\n        \", \" +\n        rgbUnit.transform(blue) +\n        \", \" +\n        sanitize(alpha.transform(alpha$1)) +\n        \")\",\n};\n\nexport { rgbUnit, rgba };\n","import { rgba } from './rgba.mjs';\nimport { isColorString } from './utils.mjs';\n\nfunction parseHex(v) {\n    let r = \"\";\n    let g = \"\";\n    let b = \"\";\n    let a = \"\";\n    // If we have 6 characters, ie #FF0000\n    if (v.length > 5) {\n        r = v.substring(1, 3);\n        g = v.substring(3, 5);\n        b = v.substring(5, 7);\n        a = v.substring(7, 9);\n        // Or we have 3 characters, ie #F00\n    }\n    else {\n        r = v.substring(1, 2);\n        g = v.substring(2, 3);\n        b = v.substring(3, 4);\n        a = v.substring(4, 5);\n        r += r;\n        g += g;\n        b += b;\n        a += a;\n    }\n    return {\n        red: parseInt(r, 16),\n        green: parseInt(g, 16),\n        blue: parseInt(b, 16),\n        alpha: a ? parseInt(a, 16) / 255 : 1,\n    };\n}\nconst hex = {\n    test: isColorString(\"#\"),\n    parse: parseHex,\n    transform: rgba.transform,\n};\n\nexport { hex };\n","import { alpha } from '../numbers/index.mjs';\nimport { percent } from '../numbers/units.mjs';\nimport { sanitize } from '../utils.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst hsla = {\n    test: isColorString(\"hsl\", \"hue\"),\n    parse: splitColor(\"hue\", \"saturation\", \"lightness\"),\n    transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {\n        return (\"hsla(\" +\n            Math.round(hue) +\n            \", \" +\n            percent.transform(sanitize(saturation)) +\n            \", \" +\n            percent.transform(sanitize(lightness)) +\n            \", \" +\n            sanitize(alpha.transform(alpha$1)) +\n            \")\");\n    },\n};\n\nexport { hsla };\n","import { isString } from '../utils.mjs';\nimport { hex } from './hex.mjs';\nimport { hsla } from './hsla.mjs';\nimport { rgba } from './rgba.mjs';\n\nconst color = {\n    test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),\n    parse: (v) => {\n        if (rgba.test(v)) {\n            return rgba.parse(v);\n        }\n        else if (hsla.test(v)) {\n            return hsla.parse(v);\n        }\n        else {\n            return hex.parse(v);\n        }\n    },\n    transform: (v) => {\n        return isString(v)\n            ? v\n            : v.hasOwnProperty(\"red\")\n                ? rgba.transform(v)\n                : hsla.transform(v);\n    },\n};\n\nexport { color };\n","/*\n  Value in range from progress\n\n  Given a lower limit and an upper limit, we return the value within\n  that range as expressed by progress (usually a number from 0 to 1)\n\n  So progress = 0.5 would change\n\n  from -------- to\n\n  to\n\n  from ---- to\n\n  E.g. from = 10, to = 20, progress = 0.5 => 15\n\n  @param [number]: Lower limit of range\n  @param [number]: Upper limit of range\n  @param [number]: The progress between lower and upper limits expressed 0-1\n  @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mix = (from, to, progress) => -progress * from + progress * to + from;\n\nexport { mix };\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n    if (t < 0)\n        t += 1;\n    if (t > 1)\n        t -= 1;\n    if (t < 1 / 6)\n        return p + (q - p) * 6 * t;\n    if (t < 1 / 2)\n        return q;\n    if (t < 2 / 3)\n        return p + (q - p) * (2 / 3 - t) * 6;\n    return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n    hue /= 360;\n    saturation /= 100;\n    lightness /= 100;\n    let red = 0;\n    let green = 0;\n    let blue = 0;\n    if (!saturation) {\n        red = green = blue = lightness;\n    }\n    else {\n        const q = lightness < 0.5\n            ? lightness * (1 + saturation)\n            : lightness + saturation - lightness * saturation;\n        const p = 2 * lightness - q;\n        red = hueToRgb(p, q, hue + 1 / 3);\n        green = hueToRgb(p, q, hue);\n        blue = hueToRgb(p, q, hue - 1 / 3);\n    }\n    return {\n        red: Math.round(red * 255),\n        green: Math.round(green * 255),\n        blue: Math.round(blue * 255),\n        alpha,\n    };\n}\n\nexport { hslaToRgba };\n","import { mix } from './mix.mjs';\nimport { invariant } from './errors.mjs';\nimport { hslaToRgba } from './hsla-to-rgba.mjs';\nimport { hex } from '../value/types/color/hex.mjs';\nimport { rgba } from '../value/types/color/rgba.mjs';\nimport { hsla } from '../value/types/color/hsla.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n    const fromExpo = from * from;\n    return Math.sqrt(Math.max(0, v * (to * to - fromExpo) + fromExpo));\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n    const type = getColorType(color);\n    invariant(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`);\n    let model = type.parse(color);\n    if (type === hsla) {\n        // TODO Remove this cast - needed since Framer Motion's stricter typing\n        model = hslaToRgba(model);\n    }\n    return model;\n}\nconst mixColor = (from, to) => {\n    const fromRGBA = asRGBA(from);\n    const toRGBA = asRGBA(to);\n    const blended = { ...fromRGBA };\n    return (v) => {\n        blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n        blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n        blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n        blended.alpha = mix(fromRGBA.alpha, toRGBA.alpha, v);\n        return rgba.transform(blended);\n    };\n};\n\nexport { mixColor, mixLinearColor };\n","import { cssVariableRegex } from '../../../render/dom/utils/is-css-variable.mjs';\nimport { noop } from '../../../utils/noop.mjs';\nimport { color } from '../color/index.mjs';\nimport { number } from '../numbers/index.mjs';\nimport { colorRegex, floatRegex, isString, sanitize } from '../utils.mjs';\n\nfunction test(v) {\n    var _a, _b;\n    return (isNaN(v) &&\n        isString(v) &&\n        (((_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) || 0) +\n            (((_b = v.match(colorRegex)) === null || _b === void 0 ? void 0 : _b.length) || 0) >\n            0);\n}\nconst cssVarTokeniser = {\n    regex: cssVariableRegex,\n    countKey: \"Vars\",\n    token: \"${v}\",\n    parse: noop,\n};\nconst colorTokeniser = {\n    regex: colorRegex,\n    countKey: \"Colors\",\n    token: \"${c}\",\n    parse: color.parse,\n};\nconst numberTokeniser = {\n    regex: floatRegex,\n    countKey: \"Numbers\",\n    token: \"${n}\",\n    parse: number.parse,\n};\nfunction tokenise(info, { regex, countKey, token, parse }) {\n    const matches = info.tokenised.match(regex);\n    if (!matches)\n        return;\n    info[\"num\" + countKey] = matches.length;\n    info.tokenised = info.tokenised.replace(regex, token);\n    info.values.push(...matches.map(parse));\n}\nfunction analyseComplexValue(value) {\n    const originalValue = value.toString();\n    const info = {\n        value: originalValue,\n        tokenised: originalValue,\n        values: [],\n        numVars: 0,\n        numColors: 0,\n        numNumbers: 0,\n    };\n    if (info.value.includes(\"var(--\"))\n        tokenise(info, cssVarTokeniser);\n    tokenise(info, colorTokeniser);\n    tokenise(info, numberTokeniser);\n    return info;\n}\nfunction parseComplexValue(v) {\n    return analyseComplexValue(v).values;\n}\nfunction createTransformer(source) {\n    const { values, numColors, numVars, tokenised } = analyseComplexValue(source);\n    const numValues = values.length;\n    return (v) => {\n        let output = tokenised;\n        for (let i = 0; i < numValues; i++) {\n            if (i < numVars) {\n                output = output.replace(cssVarTokeniser.token, v[i]);\n            }\n            else if (i < numVars + numColors) {\n                output = output.replace(colorTokeniser.token, color.transform(v[i]));\n            }\n            else {\n                output = output.replace(numberTokeniser.token, sanitize(v[i]));\n            }\n        }\n        return output;\n    };\n}\nconst convertNumbersToZero = (v) => typeof v === \"number\" ? 0 : v;\nfunction getAnimatableNone(v) {\n    const parsed = parseComplexValue(v);\n    const transformer = createTransformer(v);\n    return transformer(parsed.map(convertNumbersToZero));\n}\nconst complex = {\n    test,\n    parse: parseComplexValue,\n    createTransformer,\n    getAnimatableNone,\n};\n\nexport { analyseComplexValue, complex };\n","import { mix } from './mix.mjs';\nimport { mixColor } from './mix-color.mjs';\nimport { pipe } from './pipe.mjs';\nimport { warning } from './errors.mjs';\nimport { color } from '../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../value/types/complex/index.mjs';\n\nconst mixImmediate = (origin, target) => (p) => `${p > 0 ? target : origin}`;\nfunction getMixer(origin, target) {\n    if (typeof origin === \"number\") {\n        return (v) => mix(origin, target, v);\n    }\n    else if (color.test(origin)) {\n        return mixColor(origin, target);\n    }\n    else {\n        return origin.startsWith(\"var(\")\n            ? mixImmediate(origin, target)\n            : mixComplex(origin, target);\n    }\n}\nconst mixArray = (from, to) => {\n    const output = [...from];\n    const numValues = output.length;\n    const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i]));\n    return (v) => {\n        for (let i = 0; i < numValues; i++) {\n            output[i] = blendValue[i](v);\n        }\n        return output;\n    };\n};\nconst mixObject = (origin, target) => {\n    const output = { ...origin, ...target };\n    const blendValue = {};\n    for (const key in output) {\n        if (origin[key] !== undefined && target[key] !== undefined) {\n            blendValue[key] = getMixer(origin[key], target[key]);\n        }\n    }\n    return (v) => {\n        for (const key in blendValue) {\n            output[key] = blendValue[key](v);\n        }\n        return output;\n    };\n};\nconst mixComplex = (origin, target) => {\n    const template = complex.createTransformer(target);\n    const originStats = analyseComplexValue(origin);\n    const targetStats = analyseComplexValue(target);\n    const canInterpolate = originStats.numVars === targetStats.numVars &&\n        originStats.numColors === targetStats.numColors &&\n        originStats.numNumbers >= targetStats.numNumbers;\n    if (canInterpolate) {\n        return pipe(mixArray(originStats.values, targetStats.values), template);\n    }\n    else {\n        warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`);\n        return mixImmediate(origin, target);\n    }\n};\n\nexport { mixArray, mixComplex, mixObject };\n","/*\n  Progress within given range\n\n  Given a lower limit and an upper limit, we return the progress\n  (expressed as a number 0-1) represented by the given value, and\n  limit that progress to within 0-1.\n\n  @param [number]: Lower limit\n  @param [number]: Upper limit\n  @param [number]: Value to find progress within given range\n  @return [number]: Progress of value within range as expressed 0-1\n*/\nconst progress = (from, to, value) => {\n    const toFromDifference = to - from;\n    return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","import { invariant } from './errors.mjs';\nimport { color } from '../value/types/color/index.mjs';\nimport { clamp } from './clamp.mjs';\nimport { mix } from './mix.mjs';\nimport { mixColor } from './mix-color.mjs';\nimport { mixComplex, mixArray, mixObject } from './mix-complex.mjs';\nimport { pipe } from './pipe.mjs';\nimport { progress } from './progress.mjs';\nimport { noop } from './noop.mjs';\n\nconst mixNumber = (from, to) => (p) => mix(from, to, p);\nfunction detectMixerFactory(v) {\n    if (typeof v === \"number\") {\n        return mixNumber;\n    }\n    else if (typeof v === \"string\") {\n        return color.test(v) ? mixColor : mixComplex;\n    }\n    else if (Array.isArray(v)) {\n        return mixArray;\n    }\n    else if (typeof v === \"object\") {\n        return mixObject;\n    }\n    return mixNumber;\n}\nfunction createMixers(output, ease, customMixer) {\n    const mixers = [];\n    const mixerFactory = customMixer || detectMixerFactory(output[0]);\n    const numMixers = output.length - 1;\n    for (let i = 0; i < numMixers; i++) {\n        let mixer = mixerFactory(output[i], output[i + 1]);\n        if (ease) {\n            const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n            mixer = pipe(easingFunction, mixer);\n        }\n        mixers.push(mixer);\n    }\n    return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n *   - Numbers\n *   - Colors (hex, hsl, hsla, rgb, rgba)\n *   - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revist this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n    const inputLength = input.length;\n    invariant(inputLength === output.length, \"Both input and output ranges must be the same length\");\n    /**\n     * If we're only provided a single input, we can just make a function\n     * that returns the output.\n     */\n    if (inputLength === 1)\n        return () => output[0];\n    // If input runs highest -> lowest, reverse both arrays\n    if (input[0] > input[inputLength - 1]) {\n        input = [...input].reverse();\n        output = [...output].reverse();\n    }\n    const mixers = createMixers(output, ease, mixer);\n    const numMixers = mixers.length;\n    const interpolator = (v) => {\n        let i = 0;\n        if (numMixers > 1) {\n            for (; i < input.length - 2; i++) {\n                if (v < input[i + 1])\n                    break;\n            }\n        }\n        const progressInRange = progress(input[i], input[i + 1], v);\n        return mixers[i](progressInRange);\n    };\n    return isClamp\n        ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n        : interpolator;\n}\n\nexport { interpolate };\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n    const offset = [0];\n    fillOffset(offset, arr.length - 1);\n    return offset;\n}\n\nexport { defaultOffset };\n","import { mix } from '../mix.mjs';\nimport { progress } from '../progress.mjs';\n\nfunction fillOffset(offset, remaining) {\n    const min = offset[offset.length - 1];\n    for (let i = 1; i <= remaining; i++) {\n        const offsetProgress = progress(0, remaining, i);\n        offset.push(mix(min, 1, offsetProgress));\n    }\n}\n\nexport { fillOffset };\n","import { easeInOut } from '../../easing/ease.mjs';\nimport { isEasingArray } from '../../easing/utils/is-easing-array.mjs';\nimport { easingDefinitionToFunction } from '../../easing/utils/map.mjs';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { defaultOffset } from '../../utils/offsets/default.mjs';\nimport { convertOffsetToTimes } from '../../utils/offsets/time.mjs';\n\nfunction defaultEasing(values, easing) {\n    return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction keyframes({ duration = 300, keyframes: keyframeValues, times, ease = \"easeInOut\", }) {\n    /**\n     * Easing functions can be externally defined as strings. Here we convert them\n     * into actual functions.\n     */\n    const easingFunctions = isEasingArray(ease)\n        ? ease.map(easingDefinitionToFunction)\n        : easingDefinitionToFunction(ease);\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = {\n        done: false,\n        value: keyframeValues[0],\n    };\n    /**\n     * Create a times array based on the provided 0-1 offsets\n     */\n    const absoluteTimes = convertOffsetToTimes(\n    // Only use the provided offsets if they're the correct length\n    // TODO Maybe we should warn here if there's a length mismatch\n    times && times.length === keyframeValues.length\n        ? times\n        : defaultOffset(keyframeValues), duration);\n    const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, {\n        ease: Array.isArray(easingFunctions)\n            ? easingFunctions\n            : defaultEasing(keyframeValues, easingFunctions),\n    });\n    return {\n        calculatedDuration: duration,\n        next: (t) => {\n            state.value = mapTimeToKeyframe(t);\n            state.done = t >= duration;\n            return state;\n        },\n    };\n}\n\nexport { defaultEasing, keyframes };\n","function convertOffsetToTimes(offset, duration) {\n    return offset.map((o) => o * duration);\n}\n\nexport { convertOffsetToTimes };\n","/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n    return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","import { velocityPerSecond } from '../../../utils/velocity-per-second.mjs';\n\nconst velocitySampleDuration = 5; // ms\nfunction calcGeneratorVelocity(resolveValue, t, current) {\n    const prevT = Math.max(t - velocitySampleDuration, 0);\n    return velocityPerSecond(current - resolveValue(prevT), t - prevT);\n}\n\nexport { calcGeneratorVelocity };\n","import { warning } from '../../../utils/errors.mjs';\nimport { clamp } from '../../../utils/clamp.mjs';\nimport { secondsToMilliseconds, millisecondsToSeconds } from '../../../utils/time-conversion.mjs';\n\nconst safeMin = 0.001;\nconst minDuration = 0.01;\nconst maxDuration = 10.0;\nconst minDamping = 0.05;\nconst maxDamping = 1;\nfunction findSpring({ duration = 800, bounce = 0.25, velocity = 0, mass = 1, }) {\n    let envelope;\n    let derivative;\n    warning(duration <= secondsToMilliseconds(maxDuration), \"Spring duration must be 10 seconds or less\");\n    let dampingRatio = 1 - bounce;\n    /**\n     * Restrict dampingRatio and duration to within acceptable ranges.\n     */\n    dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n    duration = clamp(minDuration, maxDuration, millisecondsToSeconds(duration));\n    if (dampingRatio < 1) {\n        /**\n         * Underdamped spring\n         */\n        envelope = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const a = exponentialDecay - velocity;\n            const b = calcAngularFreq(undampedFreq, dampingRatio);\n            const c = Math.exp(-delta);\n            return safeMin - (a / b) * c;\n        };\n        derivative = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const d = delta * velocity + velocity;\n            const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n            const f = Math.exp(-delta);\n            const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n            const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n            return (factor * ((d - e) * f)) / g;\n        };\n    }\n    else {\n        /**\n         * Critically-damped spring\n         */\n        envelope = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (undampedFreq - velocity) * duration + 1;\n            return -safeMin + a * b;\n        };\n        derivative = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (velocity - undampedFreq) * (duration * duration);\n            return a * b;\n        };\n    }\n    const initialGuess = 5 / duration;\n    const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n    duration = secondsToMilliseconds(duration);\n    if (isNaN(undampedFreq)) {\n        return {\n            stiffness: 100,\n            damping: 10,\n            duration,\n        };\n    }\n    else {\n        const stiffness = Math.pow(undampedFreq, 2) * mass;\n        return {\n            stiffness,\n            damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n            duration,\n        };\n    }\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n    let result = initialGuess;\n    for (let i = 1; i < rootIterations; i++) {\n        result = result - envelope(result) / derivative(result);\n    }\n    return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n    return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration };\n","import { millisecondsToSeconds } from '../../../utils/time-conversion.mjs';\nimport { calcGeneratorVelocity } from '../utils/velocity.mjs';\nimport { findSpring, calcAngularFreq } from './find.mjs';\n\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n    return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n    let springOptions = {\n        velocity: 0.0,\n        stiffness: 100,\n        damping: 10,\n        mass: 1.0,\n        isResolvedFromDuration: false,\n        ...options,\n    };\n    // stiffness/damping/mass overrides duration/bounce\n    if (!isSpringType(options, physicsKeys) &&\n        isSpringType(options, durationKeys)) {\n        const derived = findSpring(options);\n        springOptions = {\n            ...springOptions,\n            ...derived,\n            mass: 1.0,\n        };\n        springOptions.isResolvedFromDuration = true;\n    }\n    return springOptions;\n}\nfunction spring({ keyframes, restDelta, restSpeed, ...options }) {\n    const origin = keyframes[0];\n    const target = keyframes[keyframes.length - 1];\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = { done: false, value: origin };\n    const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({\n        ...options,\n        velocity: -millisecondsToSeconds(options.velocity || 0),\n    });\n    const initialVelocity = velocity || 0.0;\n    const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n    const initialDelta = target - origin;\n    const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));\n    /**\n     * If we're working on a granular scale, use smaller defaults for determining\n     * when the spring is finished.\n     *\n     * These defaults have been selected emprically based on what strikes a good\n     * ratio between feeling good and finishing as soon as changes are imperceptible.\n     */\n    const isGranularScale = Math.abs(initialDelta) < 5;\n    restSpeed || (restSpeed = isGranularScale ? 0.01 : 2);\n    restDelta || (restDelta = isGranularScale ? 0.005 : 0.5);\n    let resolveSpring;\n    if (dampingRatio < 1) {\n        const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n        // Underdamped spring\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            return (target -\n                envelope *\n                    (((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) /\n                        angularFreq) *\n                        Math.sin(angularFreq * t) +\n                        initialDelta * Math.cos(angularFreq * t)));\n        };\n    }\n    else if (dampingRatio === 1) {\n        // Critically damped spring\n        resolveSpring = (t) => target -\n            Math.exp(-undampedAngularFreq * t) *\n                (initialDelta +\n                    (initialVelocity + undampedAngularFreq * initialDelta) * t);\n    }\n    else {\n        // Overdamped spring\n        const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            // When performing sinh or cosh values can hit Infinity so we cap them here\n            const freqForT = Math.min(dampedAngularFreq * t, 300);\n            return (target -\n                (envelope *\n                    ((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) *\n                        Math.sinh(freqForT) +\n                        dampedAngularFreq *\n                            initialDelta *\n                            Math.cosh(freqForT))) /\n                    dampedAngularFreq);\n        };\n    }\n    return {\n        calculatedDuration: isResolvedFromDuration ? duration || null : null,\n        next: (t) => {\n            const current = resolveSpring(t);\n            if (!isResolvedFromDuration) {\n                let currentVelocity = initialVelocity;\n                if (t !== 0) {\n                    /**\n                     * We only need to calculate velocity for under-damped springs\n                     * as over- and critically-damped springs can't overshoot, so\n                     * checking only for displacement is enough.\n                     */\n                    if (dampingRatio < 1) {\n                        currentVelocity = calcGeneratorVelocity(resolveSpring, t, current);\n                    }\n                    else {\n                        currentVelocity = 0;\n                    }\n                }\n                const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n                const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;\n                state.done =\n                    isBelowVelocityThreshold && isBelowDisplacementThreshold;\n            }\n            else {\n                state.done = t >= duration;\n            }\n            state.value = state.done ? target : current;\n            return state;\n        },\n    };\n}\n\nexport { spring };\n","import { spring } from './spring/index.mjs';\nimport { calcGeneratorVelocity } from './utils/velocity.mjs';\n\nfunction inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {\n    const origin = keyframes[0];\n    const state = {\n        done: false,\n        value: origin,\n    };\n    const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n    const nearestBoundary = (v) => {\n        if (min === undefined)\n            return max;\n        if (max === undefined)\n            return min;\n        return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n    };\n    let amplitude = power * velocity;\n    const ideal = origin + amplitude;\n    const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n    /**\n     * If the target has changed we need to re-calculate the amplitude, otherwise\n     * the animation will start from the wrong position.\n     */\n    if (target !== ideal)\n        amplitude = target - origin;\n    const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);\n    const calcLatest = (t) => target + calcDelta(t);\n    const applyFriction = (t) => {\n        const delta = calcDelta(t);\n        const latest = calcLatest(t);\n        state.done = Math.abs(delta) <= restDelta;\n        state.value = state.done ? target : latest;\n    };\n    /**\n     * Ideally this would resolve for t in a stateless way, we could\n     * do that by always precalculating the animation but as we know\n     * this will be done anyway we can assume that spring will\n     * be discovered during that.\n     */\n    let timeReachedBoundary;\n    let spring$1;\n    const checkCatchBoundary = (t) => {\n        if (!isOutOfBounds(state.value))\n            return;\n        timeReachedBoundary = t;\n        spring$1 = spring({\n            keyframes: [state.value, nearestBoundary(state.value)],\n            velocity: calcGeneratorVelocity(calcLatest, t, state.value),\n            damping: bounceDamping,\n            stiffness: bounceStiffness,\n            restDelta,\n            restSpeed,\n        });\n    };\n    checkCatchBoundary(0);\n    return {\n        calculatedDuration: null,\n        next: (t) => {\n            /**\n             * We need to resolve the friction to figure out if we need a\n             * spring but we don't want to do this twice per frame. So here\n             * we flag if we updated for this frame and later if we did\n             * we can skip doing it again.\n             */\n            let hasUpdatedFrame = false;\n            if (!spring$1 && timeReachedBoundary === undefined) {\n                hasUpdatedFrame = true;\n                applyFriction(t);\n                checkCatchBoundary(t);\n            }\n            /**\n             * If we have a spring and the provided t is beyond the moment the friction\n             * animation crossed the min/max boundary, use the spring.\n             */\n            if (timeReachedBoundary !== undefined && t > timeReachedBoundary) {\n                return spring$1.next(t - timeReachedBoundary);\n            }\n            else {\n                !hasUpdatedFrame && applyFriction(t);\n                return state;\n            }\n        },\n    };\n}\n\nexport { inertia };\n","import { MotionGlobalConfig } from '../utils/GlobalConfig.mjs';\nimport { frameData } from './frame.mjs';\n\nlet now;\nfunction clearTime() {\n    now = undefined;\n}\n/**\n * An eventloop-synchronous alternative to performance.now().\n *\n * Ensures that time measurements remain consistent within a synchronous context.\n * Usually calling performance.now() twice within the same synchronous context\n * will return different values which isn't useful for animations when we're usually\n * trying to sync animations to the same frame.\n */\nconst time = {\n    now: () => {\n        if (now === undefined) {\n            time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming\n                ? frameData.timestamp\n                : performance.now());\n        }\n        return now;\n    },\n    set: (newTime) => {\n        now = newTime;\n        queueMicrotask(clearTime);\n    },\n};\n\nexport { time };\n","import { time } from '../../../frameloop/sync-time.mjs';\nimport { frame, cancelFrame, frameData } from '../../../frameloop/frame.mjs';\n\nconst frameloopDriver = (update) => {\n    const passTimestamp = ({ timestamp }) => update(timestamp);\n    return {\n        start: () => frame.update(passTimestamp, true),\n        stop: () => cancelFrame(passTimestamp),\n        /**\n         * If we're processing this frame we can use the\n         * framelocked timestamp to keep things in sync.\n         */\n        now: () => (frameData.isProcessing ? frameData.timestamp : time.now()),\n    };\n};\n\nexport { frameloopDriver };\n","/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxGeneratorDuration = 20000;\nfunction calcGeneratorDuration(generator) {\n    let duration = 0;\n    const timeStep = 50;\n    let state = generator.next(duration);\n    while (!state.done && duration < maxGeneratorDuration) {\n        duration += timeStep;\n        state = generator.next(duration);\n    }\n    return duration >= maxGeneratorDuration ? Infinity : duration;\n}\n\nexport { calcGeneratorDuration, maxGeneratorDuration };\n","import { keyframes } from '../../generators/keyframes.mjs';\nimport { spring } from '../../generators/spring/index.mjs';\nimport { inertia } from '../../generators/inertia.mjs';\nimport { frameloopDriver } from './driver-frameloop.mjs';\nimport { interpolate } from '../../../utils/interpolate.mjs';\nimport { clamp } from '../../../utils/clamp.mjs';\nimport { millisecondsToSeconds, secondsToMilliseconds } from '../../../utils/time-conversion.mjs';\nimport { calcGeneratorDuration } from '../../generators/utils/calc-duration.mjs';\nimport { invariant } from '../../../utils/errors.mjs';\n\nconst types = {\n    decay: inertia,\n    inertia,\n    tween: keyframes,\n    keyframes: keyframes,\n    spring,\n};\n/**\n * Animate a single value on the main thread.\n *\n * This function is written, where functionality overlaps,\n * to be largely spec-compliant with WAAPI to allow fungibility\n * between the two.\n */\nfunction animateValue({ autoplay = true, delay = 0, driver = frameloopDriver, keyframes: keyframes$1, type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType = \"loop\", onPlay, onStop, onComplete, onUpdate, ...options }) {\n    let speed = 1;\n    let hasStopped = false;\n    let resolveFinishedPromise;\n    let currentFinishedPromise;\n    /**\n     * Resolve the current Promise every time we enter the\n     * finished state. This is WAAPI-compatible behaviour.\n     */\n    const updateFinishedPromise = () => {\n        currentFinishedPromise = new Promise((resolve) => {\n            resolveFinishedPromise = resolve;\n        });\n    };\n    // Create the first finished promise\n    updateFinishedPromise();\n    let animationDriver;\n    const generatorFactory = types[type] || keyframes;\n    /**\n     * If this isn't the keyframes generator and we've been provided\n     * strings as keyframes, we need to interpolate these.\n     */\n    let mapNumbersToKeyframes;\n    if (generatorFactory !== keyframes &&\n        typeof keyframes$1[0] !== \"number\") {\n        if (process.env.NODE_ENV !== \"production\") {\n            invariant(keyframes$1.length === 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`);\n        }\n        mapNumbersToKeyframes = interpolate([0, 100], keyframes$1, {\n            clamp: false,\n        });\n        keyframes$1 = [0, 100];\n    }\n    const generator = generatorFactory({ ...options, keyframes: keyframes$1 });\n    let mirroredGenerator;\n    if (repeatType === \"mirror\") {\n        mirroredGenerator = generatorFactory({\n            ...options,\n            keyframes: [...keyframes$1].reverse(),\n            velocity: -(options.velocity || 0),\n        });\n    }\n    let playState = \"idle\";\n    let holdTime = null;\n    let startTime = null;\n    let cancelTime = null;\n    /**\n     * If duration is undefined and we have repeat options,\n     * we need to calculate a duration from the generator.\n     *\n     * We set it to the generator itself to cache the duration.\n     * Any timeline resolver will need to have already precalculated\n     * the duration by this step.\n     */\n    if (generator.calculatedDuration === null && repeat) {\n        generator.calculatedDuration = calcGeneratorDuration(generator);\n    }\n    const { calculatedDuration } = generator;\n    let resolvedDuration = Infinity;\n    let totalDuration = Infinity;\n    if (calculatedDuration !== null) {\n        resolvedDuration = calculatedDuration + repeatDelay;\n        totalDuration = resolvedDuration * (repeat + 1) - repeatDelay;\n    }\n    let currentTime = 0;\n    const tick = (timestamp) => {\n        if (startTime === null)\n            return;\n        /**\n         * requestAnimationFrame timestamps can come through as lower than\n         * the startTime as set by performance.now(). Here we prevent this,\n         * though in the future it could be possible to make setting startTime\n         * a pending operation that gets resolved here.\n         */\n        if (speed > 0)\n            startTime = Math.min(startTime, timestamp);\n        if (speed < 0)\n            startTime = Math.min(timestamp - totalDuration / speed, startTime);\n        if (holdTime !== null) {\n            currentTime = holdTime;\n        }\n        else {\n            // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =\n            // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for\n            // example.\n            currentTime = Math.round(timestamp - startTime) * speed;\n        }\n        // Rebase on delay\n        const timeWithoutDelay = currentTime - delay * (speed >= 0 ? 1 : -1);\n        const isInDelayPhase = speed >= 0 ? timeWithoutDelay < 0 : timeWithoutDelay > totalDuration;\n        currentTime = Math.max(timeWithoutDelay, 0);\n        /**\n         * If this animation has finished, set the current time\n         * to the total duration.\n         */\n        if (playState === \"finished\" && holdTime === null) {\n            currentTime = totalDuration;\n        }\n        let elapsed = currentTime;\n        let frameGenerator = generator;\n        if (repeat) {\n            /**\n             * Get the current progress (0-1) of the animation. If t is >\n             * than duration we'll get values like 2.5 (midway through the\n             * third iteration)\n             */\n            const progress = Math.min(currentTime, totalDuration) / resolvedDuration;\n            /**\n             * Get the current iteration (0 indexed). For instance the floor of\n             * 2.5 is 2.\n             */\n            let currentIteration = Math.floor(progress);\n            /**\n             * Get the current progress of the iteration by taking the remainder\n             * so 2.5 is 0.5 through iteration 2\n             */\n            let iterationProgress = progress % 1.0;\n            /**\n             * If iteration progress is 1 we count that as the end\n             * of the previous iteration.\n             */\n            if (!iterationProgress && progress >= 1) {\n                iterationProgress = 1;\n            }\n            iterationProgress === 1 && currentIteration--;\n            currentIteration = Math.min(currentIteration, repeat + 1);\n            /**\n             * Reverse progress if we're not running in \"normal\" direction\n             */\n            const isOddIteration = Boolean(currentIteration % 2);\n            if (isOddIteration) {\n                if (repeatType === \"reverse\") {\n                    iterationProgress = 1 - iterationProgress;\n                    if (repeatDelay) {\n                        iterationProgress -= repeatDelay / resolvedDuration;\n                    }\n                }\n                else if (repeatType === \"mirror\") {\n                    frameGenerator = mirroredGenerator;\n                }\n            }\n            elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;\n        }\n        /**\n         * If we're in negative time, set state as the initial keyframe.\n         * This prevents delay: x, duration: 0 animations from finishing\n         * instantly.\n         */\n        const state = isInDelayPhase\n            ? { done: false, value: keyframes$1[0] }\n            : frameGenerator.next(elapsed);\n        if (mapNumbersToKeyframes) {\n            state.value = mapNumbersToKeyframes(state.value);\n        }\n        let { done } = state;\n        if (!isInDelayPhase && calculatedDuration !== null) {\n            done = speed >= 0 ? currentTime >= totalDuration : currentTime <= 0;\n        }\n        const isAnimationFinished = holdTime === null &&\n            (playState === \"finished\" || (playState === \"running\" && done));\n        if (onUpdate) {\n            onUpdate(state.value);\n        }\n        if (isAnimationFinished) {\n            finish();\n        }\n        return state;\n    };\n    const stopAnimationDriver = () => {\n        animationDriver && animationDriver.stop();\n        animationDriver = undefined;\n    };\n    const cancel = () => {\n        playState = \"idle\";\n        stopAnimationDriver();\n        resolveFinishedPromise();\n        updateFinishedPromise();\n        startTime = cancelTime = null;\n    };\n    const finish = () => {\n        playState = \"finished\";\n        onComplete && onComplete();\n        stopAnimationDriver();\n        resolveFinishedPromise();\n    };\n    const play = () => {\n        if (hasStopped)\n            return;\n        if (!animationDriver)\n            animationDriver = driver(tick);\n        const now = animationDriver.now();\n        onPlay && onPlay();\n        if (holdTime !== null) {\n            startTime = now - holdTime;\n        }\n        else if (!startTime || playState === \"finished\") {\n            startTime = now;\n        }\n        if (playState === \"finished\") {\n            updateFinishedPromise();\n        }\n        cancelTime = startTime;\n        holdTime = null;\n        /**\n         * Set playState to running only after we've used it in\n         * the previous logic.\n         */\n        playState = \"running\";\n        animationDriver.start();\n    };\n    if (autoplay) {\n        play();\n    }\n    const controls = {\n        then(resolve, reject) {\n            return currentFinishedPromise.then(resolve, reject);\n        },\n        get time() {\n            return millisecondsToSeconds(currentTime);\n        },\n        set time(newTime) {\n            newTime = secondsToMilliseconds(newTime);\n            currentTime = newTime;\n            if (holdTime !== null || !animationDriver || speed === 0) {\n                holdTime = newTime;\n            }\n            else {\n                startTime = animationDriver.now() - newTime / speed;\n            }\n        },\n        get duration() {\n            const duration = generator.calculatedDuration === null\n                ? calcGeneratorDuration(generator)\n                : generator.calculatedDuration;\n            return millisecondsToSeconds(duration);\n        },\n        get speed() {\n            return speed;\n        },\n        set speed(newSpeed) {\n            if (newSpeed === speed || !animationDriver)\n                return;\n            speed = newSpeed;\n            controls.time = millisecondsToSeconds(currentTime);\n        },\n        get state() {\n            return playState;\n        },\n        play,\n        pause: () => {\n            playState = \"paused\";\n            holdTime = currentTime;\n        },\n        stop: () => {\n            hasStopped = true;\n            if (playState === \"idle\")\n                return;\n            playState = \"idle\";\n            onStop && onStop();\n            cancel();\n        },\n        cancel: () => {\n            if (cancelTime !== null)\n                tick(cancelTime);\n            cancel();\n        },\n        complete: () => {\n            playState = \"finished\";\n        },\n        sample: (elapsed) => {\n            startTime = 0;\n            return tick(elapsed);\n        },\n    };\n    return controls;\n}\n\nexport { animateValue };\n","import { animateStyle } from './index.mjs';\nimport { isWaapiSupportedEasing } from './easing.mjs';\nimport { getFinalKeyframe } from './utils/get-final-keyframe.mjs';\nimport { animateValue } from '../js/index.mjs';\nimport { millisecondsToSeconds, secondsToMilliseconds } from '../../../utils/time-conversion.mjs';\nimport { memo } from '../../../utils/memo.mjs';\nimport { noop } from '../../../utils/noop.mjs';\nimport { frame, cancelFrame } from '../../../frameloop/frame.mjs';\n\nconst supportsWaapi = memo(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\n/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n    \"opacity\",\n    \"clipPath\",\n    \"filter\",\n    \"transform\",\n    \"backgroundColor\",\n]);\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\n/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxDuration = 20000;\nconst requiresPregeneratedKeyframes = (valueName, options) => options.type === \"spring\" ||\n    valueName === \"backgroundColor\" ||\n    !isWaapiSupportedEasing(options.ease);\nfunction createAcceleratedAnimation(value, valueName, { onUpdate, onComplete, ...options }) {\n    const canAccelerateAnimation = supportsWaapi() &&\n        acceleratedValues.has(valueName) &&\n        !options.repeatDelay &&\n        options.repeatType !== \"mirror\" &&\n        options.damping !== 0 &&\n        options.type !== \"inertia\";\n    if (!canAccelerateAnimation)\n        return false;\n    /**\n     * TODO: Unify with js/index\n     */\n    let hasStopped = false;\n    let resolveFinishedPromise;\n    let currentFinishedPromise;\n    /**\n     * Cancelling an animation will write to the DOM. For safety we want to defer\n     * this until the next `update` frame lifecycle. This flag tracks whether we\n     * have a pending cancel, if so we shouldn't allow animations to finish.\n     */\n    let pendingCancel = false;\n    /**\n     * Resolve the current Promise every time we enter the\n     * finished state. This is WAAPI-compatible behaviour.\n     */\n    const updateFinishedPromise = () => {\n        currentFinishedPromise = new Promise((resolve) => {\n            resolveFinishedPromise = resolve;\n        });\n    };\n    // Create the first finished promise\n    updateFinishedPromise();\n    let { keyframes, duration = 300, ease, times } = options;\n    /**\n     * If this animation needs pre-generated keyframes then generate.\n     */\n    if (requiresPregeneratedKeyframes(valueName, options)) {\n        const sampleAnimation = animateValue({\n            ...options,\n            repeat: 0,\n            delay: 0,\n        });\n        let state = { done: false, value: keyframes[0] };\n        const pregeneratedKeyframes = [];\n        /**\n         * Bail after 20 seconds of pre-generated keyframes as it's likely\n         * we're heading for an infinite loop.\n         */\n        let t = 0;\n        while (!state.done && t < maxDuration) {\n            state = sampleAnimation.sample(t);\n            pregeneratedKeyframes.push(state.value);\n            t += sampleDelta;\n        }\n        times = undefined;\n        keyframes = pregeneratedKeyframes;\n        duration = t - sampleDelta;\n        ease = \"linear\";\n    }\n    const animation = animateStyle(value.owner.current, valueName, keyframes, {\n        ...options,\n        duration,\n        /**\n         * This function is currently not called if ease is provided\n         * as a function so the cast is safe.\n         *\n         * However it would be possible for a future refinement to port\n         * in easing pregeneration from Motion One for browsers that\n         * support the upcoming `linear()` easing function.\n         */\n        ease: ease,\n        times,\n    });\n    const cancelAnimation = () => {\n        pendingCancel = false;\n        animation.cancel();\n    };\n    const safeCancel = () => {\n        pendingCancel = true;\n        frame.update(cancelAnimation);\n        resolveFinishedPromise();\n        updateFinishedPromise();\n    };\n    /**\n     * Prefer the `onfinish` prop as it's more widely supported than\n     * the `finished` promise.\n     *\n     * Here, we synchronously set the provided MotionValue to the end\n     * keyframe. If we didn't, when the WAAPI animation is finished it would\n     * be removed from the element which would then revert to its old styles.\n     */\n    animation.onfinish = () => {\n        if (pendingCancel)\n            return;\n        value.set(getFinalKeyframe(keyframes, options));\n        onComplete && onComplete();\n        safeCancel();\n    };\n    /**\n     * Animation interrupt callback.\n     */\n    const controls = {\n        then(resolve, reject) {\n            return currentFinishedPromise.then(resolve, reject);\n        },\n        attachTimeline(timeline) {\n            animation.timeline = timeline;\n            animation.onfinish = null;\n            return noop;\n        },\n        get time() {\n            return millisecondsToSeconds(animation.currentTime || 0);\n        },\n        set time(newTime) {\n            animation.currentTime = secondsToMilliseconds(newTime);\n        },\n        get speed() {\n            return animation.playbackRate;\n        },\n        set speed(newSpeed) {\n            animation.playbackRate = newSpeed;\n        },\n        get duration() {\n            return millisecondsToSeconds(duration);\n        },\n        play: () => {\n            if (hasStopped)\n                return;\n            animation.play();\n            /**\n             * Cancel any pending cancel tasks\n             */\n            cancelFrame(cancelAnimation);\n        },\n        pause: () => animation.pause(),\n        stop: () => {\n            hasStopped = true;\n            if (animation.playState === \"idle\")\n                return;\n            /**\n             * WAAPI doesn't natively have any interruption capabilities.\n             *\n             * Rather than read commited styles back out of the DOM, we can\n             * create a renderless JS animation and sample it twice to calculate\n             * its current value, \"previous\" value, and therefore allow\n             * Motion to calculate velocity for any subsequent animation.\n             */\n            const { currentTime } = animation;\n            if (currentTime) {\n                const sampleAnimation = animateValue({\n                    ...options,\n                    autoplay: false,\n                });\n                value.setWithVelocity(sampleAnimation.sample(currentTime - sampleDelta).value, sampleAnimation.sample(currentTime).value, sampleDelta);\n            }\n            safeCancel();\n        },\n        complete: () => {\n            if (pendingCancel)\n                return;\n            animation.finish();\n        },\n        cancel: safeCancel,\n    };\n    return controls;\n}\n\nexport { createAcceleratedAnimation };\n","function memo(callback) {\n    let result;\n    return () => {\n        if (result === undefined)\n            result = callback();\n        return result;\n    };\n}\n\nexport { memo };\n","import { mapEasingToNativeEasing } from './easing.mjs';\n\nfunction animateStyle(element, valueName, keyframes, { delay = 0, duration, repeat = 0, repeatType = \"loop\", ease, times, } = {}) {\n    const keyframeOptions = { [valueName]: keyframes };\n    if (times)\n        keyframeOptions.offset = times;\n    const easing = mapEasingToNativeEasing(ease);\n    /**\n     * If this is an easing array, apply to keyframes, not animation as a whole\n     */\n    if (Array.isArray(easing))\n        keyframeOptions.easing = easing;\n    return element.animate(keyframeOptions, {\n        delay,\n        duration,\n        easing: !Array.isArray(easing) ? easing : \"linear\",\n        fill: \"both\",\n        iterations: repeat + 1,\n        direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n    });\n}\n\nexport { animateStyle };\n","function getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }) {\n    const index = repeat && repeatType !== \"loop\" && repeat % 2 === 1\n        ? 0\n        : keyframes.length - 1;\n    return keyframes[index];\n}\n\nexport { getFinalKeyframe };\n","import { transformProps } from '../../render/html/utils/transform.mjs';\n\nconst underDampedSpring = {\n    type: \"spring\",\n    stiffness: 500,\n    damping: 25,\n    restSpeed: 10,\n};\nconst criticallyDampedSpring = (target) => ({\n    type: \"spring\",\n    stiffness: 550,\n    damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n    restSpeed: 10,\n});\nconst keyframesTransition = {\n    type: \"keyframes\",\n    duration: 0.8,\n};\n/**\n * Default easing curve is a slightly shallower version of\n * the default browser easing curve.\n */\nconst ease = {\n    type: \"keyframes\",\n    ease: [0.25, 0.1, 0.35, 1],\n    duration: 0.3,\n};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n    if (keyframes.length > 2) {\n        return keyframesTransition;\n    }\n    else if (transformProps.has(valueKey)) {\n        return valueKey.startsWith(\"scale\")\n            ? criticallyDampedSpring(keyframes[1])\n            : underDampedSpring;\n    }\n    return ease;\n};\n\nexport { getDefaultTransition };\n","import { complex } from '../../value/types/complex/index.mjs';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nconst isAnimatable = (key, value) => {\n    // If the list of keys tat might be non-animatable grows, replace with Set\n    if (key === \"zIndex\")\n        return false;\n    // If it's a number or a keyframes array, we can animate it. We might at some point\n    // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n    // but for now lets leave it like this for performance reasons\n    if (typeof value === \"number\" || Array.isArray(value))\n        return true;\n    if (typeof value === \"string\" && // It's animatable if we have a string\n        (complex.test(value) || value === \"0\") && // And it contains numbers and/or colors\n        !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n    ) {\n        return true;\n    }\n    return false;\n};\n\nexport { isAnimatable };\n","import { complex } from './index.mjs';\nimport { floatRegex } from '../utils.mjs';\n\n/**\n * Properties that should default to 1 or 100%\n */\nconst maxDefaults = new Set([\"brightness\", \"contrast\", \"saturate\", \"opacity\"]);\nfunction applyDefaultFilter(v) {\n    const [name, value] = v.slice(0, -1).split(\"(\");\n    if (name === \"drop-shadow\")\n        return v;\n    const [number] = value.match(floatRegex) || [];\n    if (!number)\n        return v;\n    const unit = value.replace(number, \"\");\n    let defaultValue = maxDefaults.has(name) ? 1 : 0;\n    if (number !== value)\n        defaultValue *= 100;\n    return name + \"(\" + defaultValue + unit + \")\";\n}\nconst functionRegex = /([a-z-]*)\\(.*?\\)/g;\nconst filter = {\n    ...complex,\n    getAnimatableNone: (v) => {\n        const functions = v.match(functionRegex);\n        return functions ? functions.map(applyDefaultFilter).join(\" \") : v;\n    },\n};\n\nexport { filter };\n","import { color } from '../../../value/types/color/index.mjs';\nimport { filter } from '../../../value/types/complex/filter.mjs';\nimport { numberValueTypes } from './number.mjs';\n\n/**\n * A map of default value types for common values\n */\nconst defaultValueTypes = {\n    ...numberValueTypes,\n    // Color props\n    color,\n    backgroundColor: color,\n    outlineColor: color,\n    fill: color,\n    stroke: color,\n    // Border props\n    borderColor: color,\n    borderTopColor: color,\n    borderRightColor: color,\n    borderBottomColor: color,\n    borderLeftColor: color,\n    filter,\n    WebkitFilter: filter,\n};\n/**\n * Gets the default ValueType for the provided value key\n */\nconst getDefaultValueType = (key) => defaultValueTypes[key];\n\nexport { defaultValueTypes, getDefaultValueType };\n","import { complex } from '../../../value/types/complex/index.mjs';\nimport { filter } from '../../../value/types/complex/filter.mjs';\nimport { getDefaultValueType } from './defaults.mjs';\n\nfunction getAnimatableNone(key, value) {\n    let defaultValueType = getDefaultValueType(key);\n    if (defaultValueType !== filter)\n        defaultValueType = complex;\n    // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n    return defaultValueType.getAnimatableNone\n        ? defaultValueType.getAnimatableNone(value)\n        : undefined;\n}\n\nexport { getAnimatableNone };\n","/**\n * Check if the value is a zero value string like \"0px\" or \"0%\"\n */\nconst isZeroValueString = (v) => /^0[^.\\s]+$/.test(v);\n\nexport { isZeroValueString };\n","import { isZeroValueString } from '../../utils/is-zero-value-string.mjs';\n\nfunction isNone(value) {\n    if (typeof value === \"number\") {\n        return value === 0;\n    }\n    else if (value !== null) {\n        return value === \"none\" || value === \"0\" || isZeroValueString(value);\n    }\n}\n\nexport { isNone };\n","/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined({ when, delay: _delay, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, elapsed, ...transition }) {\n    return !!Object.keys(transition).length;\n}\nfunction getValueTransition(transition, key) {\n    return transition[key] || transition[\"default\"] || transition;\n}\n\nexport { getValueTransition, isTransitionDefined };\n","import { warning } from '../../utils/errors.mjs';\nimport { secondsToMilliseconds } from '../../utils/time-conversion.mjs';\nimport { instantAnimationState } from '../../utils/use-instant-transition-state.mjs';\nimport { createAcceleratedAnimation } from '../animators/waapi/create-accelerated-animation.mjs';\nimport { createInstantAnimation } from '../animators/instant.mjs';\nimport { getDefaultTransition } from '../utils/default-transitions.mjs';\nimport { isAnimatable } from '../utils/is-animatable.mjs';\nimport { getKeyframes } from '../utils/keyframes.mjs';\nimport { getValueTransition, isTransitionDefined } from '../utils/transitions.mjs';\nimport { animateValue } from '../animators/js/index.mjs';\nimport { MotionGlobalConfig } from '../../utils/GlobalConfig.mjs';\n\nconst animateMotionValue = (valueName, value, target, transition = {}) => {\n    return (onComplete) => {\n        const valueTransition = getValueTransition(transition, valueName) || {};\n        /**\n         * Most transition values are currently completely overwritten by value-specific\n         * transitions. In the future it'd be nicer to blend these transitions. But for now\n         * delay actually does inherit from the root transition if not value-specific.\n         */\n        const delay = valueTransition.delay || transition.delay || 0;\n        /**\n         * Elapsed isn't a public transition option but can be passed through from\n         * optimized appear effects in milliseconds.\n         */\n        let { elapsed = 0 } = transition;\n        elapsed = elapsed - secondsToMilliseconds(delay);\n        const keyframes = getKeyframes(value, valueName, target, valueTransition);\n        /**\n         * Check if we're able to animate between the start and end keyframes,\n         * and throw a warning if we're attempting to animate between one that's\n         * animatable and another that isn't.\n         */\n        const originKeyframe = keyframes[0];\n        const targetKeyframe = keyframes[keyframes.length - 1];\n        const isOriginAnimatable = isAnimatable(valueName, originKeyframe);\n        const isTargetAnimatable = isAnimatable(valueName, targetKeyframe);\n        warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${valueName} from \"${originKeyframe}\" to \"${targetKeyframe}\". ${originKeyframe} is not an animatable value - to enable this animation set ${originKeyframe} to a value animatable to ${targetKeyframe} via the \\`style\\` property.`);\n        let options = {\n            keyframes,\n            velocity: value.getVelocity(),\n            ease: \"easeOut\",\n            ...valueTransition,\n            delay: -elapsed,\n            onUpdate: (v) => {\n                value.set(v);\n                valueTransition.onUpdate && valueTransition.onUpdate(v);\n            },\n            onComplete: () => {\n                onComplete();\n                valueTransition.onComplete && valueTransition.onComplete();\n            },\n        };\n        /**\n         * If there's no transition defined for this value, we can generate\n         * unqiue transition settings for this value.\n         */\n        if (!isTransitionDefined(valueTransition)) {\n            options = {\n                ...options,\n                ...getDefaultTransition(valueName, options),\n            };\n        }\n        /**\n         * Both WAAPI and our internal animation functions use durations\n         * as defined by milliseconds, while our external API defines them\n         * as seconds.\n         */\n        if (options.duration) {\n            options.duration = secondsToMilliseconds(options.duration);\n        }\n        if (options.repeatDelay) {\n            options.repeatDelay = secondsToMilliseconds(options.repeatDelay);\n        }\n        if (!isOriginAnimatable ||\n            !isTargetAnimatable ||\n            instantAnimationState.current ||\n            valueTransition.type === false ||\n            MotionGlobalConfig.skipAnimations) {\n            /**\n             * If we can't animate this value, or the global instant animation flag is set,\n             * or this is simply defined as an instant transition, return an instant transition.\n             */\n            return createInstantAnimation(instantAnimationState.current\n                ? { ...options, delay: 0 }\n                : options);\n        }\n        /**\n         * Animate via WAAPI if possible.\n         */\n        if (\n        /**\n         * If this is a handoff animation, the optimised animation will be running via\n         * WAAPI. Therefore, this animation must be JS to ensure it runs \"under\" the\n         * optimised animation.\n         */\n        !transition.isHandoff &&\n            value.owner &&\n            value.owner.current instanceof HTMLElement &&\n            /**\n             * If we're outputting values to onUpdate then we can't use WAAPI as there's\n             * no way to read the value from WAAPI every frame.\n             */\n            !value.owner.getProps().onUpdate) {\n            const acceleratedAnimation = createAcceleratedAnimation(value, valueName, options);\n            if (acceleratedAnimation)\n                return acceleratedAnimation;\n        }\n        /**\n         * If we didn't create an accelerated animation, create a JS animation\n         */\n        return animateValue(options);\n    };\n};\n\nexport { animateMotionValue };\n","import { getAnimatableNone } from '../../render/dom/value-types/animatable-none.mjs';\nimport { isAnimatable } from './is-animatable.mjs';\nimport { isNone } from './is-none.mjs';\n\nfunction getKeyframes(value, valueName, target, transition) {\n    const isTargetAnimatable = isAnimatable(valueName, target);\n    let keyframes;\n    if (Array.isArray(target)) {\n        keyframes = [...target];\n    }\n    else {\n        keyframes = [null, target];\n    }\n    const defaultOrigin = transition.from !== undefined ? transition.from : value.get();\n    let animatableTemplateValue = undefined;\n    const noneKeyframeIndexes = [];\n    for (let i = 0; i < keyframes.length; i++) {\n        /**\n         * Fill null/wildcard keyframes\n         */\n        if (keyframes[i] === null) {\n            keyframes[i] = i === 0 ? defaultOrigin : keyframes[i - 1];\n        }\n        if (isNone(keyframes[i])) {\n            noneKeyframeIndexes.push(i);\n        }\n        // TODO: Clean this conditional, it works for now\n        if (typeof keyframes[i] === \"string\" &&\n            keyframes[i] !== \"none\" &&\n            keyframes[i] !== \"0\") {\n            animatableTemplateValue = keyframes[i];\n        }\n    }\n    if (isTargetAnimatable &&\n        noneKeyframeIndexes.length &&\n        animatableTemplateValue) {\n        for (let i = 0; i < noneKeyframeIndexes.length; i++) {\n            const index = noneKeyframeIndexes[i];\n            keyframes[index] = getAnimatableNone(valueName, animatableTemplateValue);\n        }\n    }\n    return keyframes;\n}\n\nexport { getKeyframes };\n","import { animateValue } from './js/index.mjs';\nimport { noop } from '../../utils/noop.mjs';\n\nfunction createInstantAnimation({ keyframes, delay, onUpdate, onComplete, }) {\n    const setValue = () => {\n        onUpdate && onUpdate(keyframes[keyframes.length - 1]);\n        onComplete && onComplete();\n        /**\n         * TODO: As this API grows it could make sense to always return\n         * animateValue. This will be a bigger project as animateValue\n         * is frame-locked whereas this function resolves instantly.\n         * This is a behavioural change and also has ramifications regarding\n         * assumptions within tests.\n         */\n        return {\n            time: 0,\n            speed: 1,\n            duration: 0,\n            play: (noop),\n            pause: (noop),\n            stop: (noop),\n            then: (resolve) => {\n                resolve();\n                return Promise.resolve();\n            },\n            cancel: (noop),\n            complete: (noop),\n        };\n    };\n    return delay\n        ? animateValue({\n            keyframes: [0, 1],\n            duration: 0,\n            delay,\n            onComplete: setValue,\n        })\n        : setValue();\n}\n\nexport { createInstantAnimation };\n","import { isMotionValue } from '../utils/is-motion-value.mjs';\n\nfunction isWillChangeMotionValue(value) {\n    return Boolean(isMotionValue(value) && value.add);\n}\n\nexport { isWillChangeMotionValue };\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nconst isNumericalString = (v) => /^\\-?\\d*\\.?\\d+$/.test(v);\n\nexport { isNumericalString };\n","function addUniqueItem(arr, item) {\n    if (arr.indexOf(item) === -1)\n        arr.push(item);\n}\nfunction removeItem(arr, item) {\n    const index = arr.indexOf(item);\n    if (index > -1)\n        arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n    const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n    if (startIndex >= 0 && startIndex < arr.length) {\n        const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n        const [item] = arr.splice(fromIndex, 1);\n        arr.splice(endIndex, 0, item);\n    }\n    return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n    constructor() {\n        this.subscriptions = [];\n    }\n    add(handler) {\n        addUniqueItem(this.subscriptions, handler);\n        return () => removeItem(this.subscriptions, handler);\n    }\n    notify(a, b, c) {\n        const numSubscriptions = this.subscriptions.length;\n        if (!numSubscriptions)\n            return;\n        if (numSubscriptions === 1) {\n            /**\n             * If there's only a single handler we can just call it without invoking a loop.\n             */\n            this.subscriptions[0](a, b, c);\n        }\n        else {\n            for (let i = 0; i < numSubscriptions; i++) {\n                /**\n                 * Check whether the handler exists before firing as it's possible\n                 * the subscriptions were modified during this loop running.\n                 */\n                const handler = this.subscriptions[i];\n                handler && handler(a, b, c);\n            }\n        }\n    }\n    getSize() {\n        return this.subscriptions.length;\n    }\n    clear() {\n        this.subscriptions.length = 0;\n    }\n}\n\nexport { SubscriptionManager };\n","import { SubscriptionManager } from '../utils/subscription-manager.mjs';\nimport { velocityPerSecond } from '../utils/velocity-per-second.mjs';\nimport { warnOnce } from '../utils/warn-once.mjs';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\n/**\n * Maximum time between the value of two frames, beyond which we\n * assume the velocity has since been 0.\n */\nconst MAX_VELOCITY_DELTA = 30;\nconst isFloat = (value) => {\n    return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n    current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n    /**\n     * @param init - The initiating value\n     * @param config - Optional configuration options\n     *\n     * -  `transformer`: A function to transform incoming values with.\n     *\n     * @internal\n     */\n    constructor(init, options = {}) {\n        /**\n         * This will be replaced by the build step with the latest version number.\n         * When MotionValues are provided to motion components, warn if versions are mixed.\n         */\n        this.version = \"11.0.3\";\n        /**\n         * Tracks whether this value can output a velocity. Currently this is only true\n         * if the value is numerical, but we might be able to widen the scope here and support\n         * other value types.\n         *\n         * @internal\n         */\n        this.canTrackVelocity = false;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        this.updateAndNotify = (v, render = true) => {\n            const currentTime = time.now();\n            /**\n             * If we're updating the value during another frame or eventloop\n             * than the previous frame, then the we set the previous frame value\n             * to current.\n             */\n            if (this.updatedAt !== currentTime) {\n                this.setPrevFrameValue();\n            }\n            this.prev = this.current;\n            this.setCurrent(v);\n            // Update update subscribers\n            if (this.current !== this.prev && this.events.change) {\n                this.events.change.notify(this.current);\n            }\n            // Update render subscribers\n            if (render && this.events.renderRequest) {\n                this.events.renderRequest.notify(this.current);\n            }\n        };\n        this.hasAnimated = false;\n        this.setCurrent(init);\n        this.canTrackVelocity = isFloat(this.current);\n        this.owner = options.owner;\n    }\n    setCurrent(current) {\n        this.current = current;\n        this.updatedAt = time.now();\n    }\n    setPrevFrameValue(prevFrameValue = this.current) {\n        this.prevFrameValue = prevFrameValue;\n        this.prevUpdatedAt = this.updatedAt;\n    }\n    /**\n     * Adds a function that will be notified when the `MotionValue` is updated.\n     *\n     * It returns a function that, when called, will cancel the subscription.\n     *\n     * When calling `onChange` inside a React component, it should be wrapped with the\n     * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n     * from the `useEffect` function to ensure you don't add duplicate subscribers..\n     *\n     * ```jsx\n     * export const MyComponent = () => {\n     *   const x = useMotionValue(0)\n     *   const y = useMotionValue(0)\n     *   const opacity = useMotionValue(1)\n     *\n     *   useEffect(() => {\n     *     function updateOpacity() {\n     *       const maxXY = Math.max(x.get(), y.get())\n     *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n     *       opacity.set(newOpacity)\n     *     }\n     *\n     *     const unsubscribeX = x.on(\"change\", updateOpacity)\n     *     const unsubscribeY = y.on(\"change\", updateOpacity)\n     *\n     *     return () => {\n     *       unsubscribeX()\n     *       unsubscribeY()\n     *     }\n     *   }, [])\n     *\n     *   return <motion.div style={{ x }} />\n     * }\n     * ```\n     *\n     * @param subscriber - A function that receives the latest value.\n     * @returns A function that, when called, will cancel this subscription.\n     *\n     * @deprecated\n     */\n    onChange(subscription) {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on(\"change\", callback).`);\n        }\n        return this.on(\"change\", subscription);\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        const unsubscribe = this.events[eventName].add(callback);\n        if (eventName === \"change\") {\n            return () => {\n                unsubscribe();\n                /**\n                 * If we have no more change listeners by the start\n                 * of the next frame, stop active animations.\n                 */\n                frame.read(() => {\n                    if (!this.events.change.getSize()) {\n                        this.stop();\n                    }\n                });\n            };\n        }\n        return unsubscribe;\n    }\n    clearListeners() {\n        for (const eventManagers in this.events) {\n            this.events[eventManagers].clear();\n        }\n    }\n    /**\n     * Attaches a passive effect to the `MotionValue`.\n     *\n     * @internal\n     */\n    attach(passiveEffect, stopPassiveEffect) {\n        this.passiveEffect = passiveEffect;\n        this.stopPassiveEffect = stopPassiveEffect;\n    }\n    /**\n     * Sets the state of the `MotionValue`.\n     *\n     * @remarks\n     *\n     * ```jsx\n     * const x = useMotionValue(0)\n     * x.set(10)\n     * ```\n     *\n     * @param latest - Latest value to set.\n     * @param render - Whether to notify render subscribers. Defaults to `true`\n     *\n     * @public\n     */\n    set(v, render = true) {\n        if (!render || !this.passiveEffect) {\n            this.updateAndNotify(v, render);\n        }\n        else {\n            this.passiveEffect(v, this.updateAndNotify);\n        }\n    }\n    setWithVelocity(prev, current, delta) {\n        this.set(current);\n        this.prev = undefined;\n        this.prevFrameValue = prev;\n        this.prevUpdatedAt = this.updatedAt - delta;\n    }\n    /**\n     * Set the state of the `MotionValue`, stopping any active animations,\n     * effects, and resets velocity to `0`.\n     */\n    jump(v) {\n        this.updateAndNotify(v);\n        this.prev = v;\n        this.prevUpdatedAt = this.prevFrameValue = undefined;\n        this.stop();\n        if (this.stopPassiveEffect)\n            this.stopPassiveEffect();\n    }\n    /**\n     * Returns the latest state of `MotionValue`\n     *\n     * @returns - The latest state of `MotionValue`\n     *\n     * @public\n     */\n    get() {\n        if (collectMotionValues.current) {\n            collectMotionValues.current.push(this);\n        }\n        return this.current;\n    }\n    /**\n     * @public\n     */\n    getPrevious() {\n        return this.prev;\n    }\n    /**\n     * Returns the latest velocity of `MotionValue`\n     *\n     * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n     *\n     * @public\n     */\n    getVelocity() {\n        const currentTime = time.now();\n        if (!this.canTrackVelocity ||\n            this.prevFrameValue === undefined ||\n            currentTime - this.updatedAt > MAX_VELOCITY_DELTA) {\n            return 0;\n        }\n        const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);\n        // Casts because of parseFloat's poor typing\n        return velocityPerSecond(parseFloat(this.current) -\n            parseFloat(this.prevFrameValue), delta);\n    }\n    /**\n     * Registers a new animation to control this `MotionValue`. Only one\n     * animation can drive a `MotionValue` at one time.\n     *\n     * ```jsx\n     * value.start()\n     * ```\n     *\n     * @param animation - A function that starts the provided animation\n     *\n     * @internal\n     */\n    start(startAnimation) {\n        this.stop();\n        return new Promise((resolve) => {\n            this.hasAnimated = true;\n            this.animation = startAnimation(resolve);\n            if (this.events.animationStart) {\n                this.events.animationStart.notify();\n            }\n        }).then(() => {\n            if (this.events.animationComplete) {\n                this.events.animationComplete.notify();\n            }\n            this.clearAnimation();\n        });\n    }\n    /**\n     * Stop the currently active animation.\n     *\n     * @public\n     */\n    stop() {\n        if (this.animation) {\n            this.animation.stop();\n            if (this.events.animationCancel) {\n                this.events.animationCancel.notify();\n            }\n        }\n        this.clearAnimation();\n    }\n    /**\n     * Returns `true` if this value is currently animating.\n     *\n     * @public\n     */\n    isAnimating() {\n        return !!this.animation;\n    }\n    clearAnimation() {\n        delete this.animation;\n    }\n    /**\n     * Destroy and clean up subscribers to this `MotionValue`.\n     *\n     * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n     * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n     * created a `MotionValue` via the `motionValue` function.\n     *\n     * @public\n     */\n    destroy() {\n        this.clearListeners();\n        this.stop();\n        if (this.stopPassiveEffect) {\n            this.stopPassiveEffect();\n        }\n    }\n}\nfunction motionValue(init, options) {\n    return new MotionValue(init, options);\n}\n\nexport { MotionValue, collectMotionValues, motionValue };\n","/**\n * Tests a provided value against a ValueType\n */\nconst testValueType = (v) => (type) => type.test(v);\n\nexport { testValueType };\n","import { number } from '../../../value/types/numbers/index.mjs';\nimport { px, percent, degrees, vw, vh } from '../../../value/types/numbers/units.mjs';\nimport { testValueType } from './test.mjs';\nimport { auto } from './type-auto.mjs';\n\n/**\n * A list of value types commonly used for dimensions\n */\nconst dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nconst findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));\n\nexport { dimensionValueTypes, findDimensionValueType };\n","/**\n * ValueType for \"auto\"\n */\nconst auto = {\n    test: (v) => v === \"auto\",\n    parse: (v) => v,\n};\n\nexport { auto };\n","import { color } from '../../../value/types/color/index.mjs';\nimport { complex } from '../../../value/types/complex/index.mjs';\nimport { dimensionValueTypes } from './dimensions.mjs';\nimport { testValueType } from './test.mjs';\n\n/**\n * A list of all ValueTypes\n */\nconst valueTypes = [...dimensionValueTypes, color, complex];\n/**\n * Tests a value against the list of ValueTypes\n */\nconst findValueType = (v) => valueTypes.find(testValueType(v));\n\nexport { findValueType };\n","import { isNumericalString } from '../../utils/is-numerical-string.mjs';\nimport { isZeroValueString } from '../../utils/is-zero-value-string.mjs';\nimport { resolveFinalValueInKeyframes } from '../../utils/resolve-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { complex } from '../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../dom/value-types/animatable-none.mjs';\nimport { findValueType } from '../dom/value-types/find.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n    if (visualElement.hasValue(key)) {\n        visualElement.getValue(key).set(value);\n    }\n    else {\n        visualElement.addValue(key, motionValue(value));\n    }\n}\nfunction setTarget(visualElement, definition) {\n    const resolved = resolveVariant(visualElement, definition);\n    let { transitionEnd = {}, transition = {}, ...target } = resolved ? visualElement.makeTargetAnimatable(resolved, false) : {};\n    target = { ...target, ...transitionEnd };\n    for (const key in target) {\n        const value = resolveFinalValueInKeyframes(target[key]);\n        setMotionValue(visualElement, key, value);\n    }\n}\nfunction setVariants(visualElement, variantLabels) {\n    const reversedLabels = [...variantLabels].reverse();\n    reversedLabels.forEach((key) => {\n        const variant = visualElement.getVariant(key);\n        variant && setTarget(visualElement, variant);\n        if (visualElement.variantChildren) {\n            visualElement.variantChildren.forEach((child) => {\n                setVariants(child, variantLabels);\n            });\n        }\n    });\n}\nfunction setValues(visualElement, definition) {\n    if (Array.isArray(definition)) {\n        return setVariants(visualElement, definition);\n    }\n    else if (typeof definition === \"string\") {\n        return setVariants(visualElement, [definition]);\n    }\n    else {\n        setTarget(visualElement, definition);\n    }\n}\nfunction checkTargetForNewValues(visualElement, target, origin) {\n    var _a, _b;\n    const newValueKeys = Object.keys(target).filter((key) => !visualElement.hasValue(key));\n    const numNewValues = newValueKeys.length;\n    if (!numNewValues)\n        return;\n    for (let i = 0; i < numNewValues; i++) {\n        const key = newValueKeys[i];\n        const targetValue = target[key];\n        let value = null;\n        /**\n         * If the target is a series of keyframes, we can use the first value\n         * in the array. If this first value is null, we'll still need to read from the DOM.\n         */\n        if (Array.isArray(targetValue)) {\n            value = targetValue[0];\n        }\n        /**\n         * If the target isn't keyframes, or the first keyframe was null, we need to\n         * first check if an origin value was explicitly defined in the transition as \"from\",\n         * if not read the value from the DOM. As an absolute fallback, take the defined target value.\n         */\n        if (value === null) {\n            value = (_b = (_a = origin[key]) !== null && _a !== void 0 ? _a : visualElement.readValue(key)) !== null && _b !== void 0 ? _b : target[key];\n        }\n        /**\n         * If value is still undefined or null, ignore it. Preferably this would throw,\n         * but this was causing issues in Framer.\n         */\n        if (value === undefined || value === null)\n            continue;\n        if (typeof value === \"string\" &&\n            (isNumericalString(value) || isZeroValueString(value))) {\n            // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n            value = parseFloat(value);\n        }\n        else if (!findValueType(value) && complex.test(targetValue)) {\n            value = getAnimatableNone(key, targetValue);\n        }\n        visualElement.addValue(key, motionValue(value, { owner: visualElement }));\n        if (origin[key] === undefined) {\n            origin[key] = value;\n        }\n        if (value !== null)\n            visualElement.setBaseTarget(key, value);\n    }\n}\nfunction getOriginFromTransition(key, transition) {\n    if (!transition)\n        return;\n    const valueTransition = transition[key] || transition[\"default\"] || transition;\n    return valueTransition.from;\n}\nfunction getOrigin(target, transition, visualElement) {\n    const origin = {};\n    for (const key in target) {\n        const transitionOrigin = getOriginFromTransition(key, transition);\n        if (transitionOrigin !== undefined) {\n            origin[key] = transitionOrigin;\n        }\n        else {\n            const value = visualElement.getValue(key);\n            if (value) {\n                origin[key] = value.get();\n            }\n        }\n    }\n    return origin;\n}\n\nexport { checkTargetForNewValues, getOrigin, getOriginFromTransition, setTarget, setValues };\n","import { transformProps } from '../../render/html/utils/transform.mjs';\nimport { optimizedAppearDataAttribute } from '../optimized-appear/data-id.mjs';\nimport { animateMotionValue } from './motion-value.mjs';\nimport { isWillChangeMotionValue } from '../../value/use-will-change/is.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { getValueTransition } from '../utils/transitions.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {\n    const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n    needsAnimating[key] = false;\n    return shouldBlock;\n}\nfunction hasKeyframesChanged(value, target) {\n    const current = value.get();\n    if (Array.isArray(target)) {\n        for (let i = 0; i < target.length; i++) {\n            if (target[i] !== current)\n                return true;\n        }\n    }\n    else {\n        return current !== target;\n    }\n}\nfunction animateTarget(visualElement, definition, { delay = 0, transitionOverride, type } = {}) {\n    let { transition = visualElement.getDefaultTransition(), transitionEnd, ...target } = visualElement.makeTargetAnimatable(definition);\n    const willChange = visualElement.getValue(\"willChange\");\n    if (transitionOverride)\n        transition = transitionOverride;\n    const animations = [];\n    const animationTypeState = type &&\n        visualElement.animationState &&\n        visualElement.animationState.getState()[type];\n    for (const key in target) {\n        const value = visualElement.getValue(key);\n        const valueTarget = target[key];\n        if (!value ||\n            valueTarget === undefined ||\n            (animationTypeState &&\n                shouldBlockAnimation(animationTypeState, key))) {\n            continue;\n        }\n        const valueTransition = {\n            delay,\n            elapsed: 0,\n            ...getValueTransition(transition || {}, key),\n        };\n        /**\n         * If this is the first time a value is being animated, check\n         * to see if we're handling off from an existing animation.\n         */\n        if (window.HandoffAppearAnimations) {\n            const appearId = visualElement.getProps()[optimizedAppearDataAttribute];\n            if (appearId) {\n                const elapsed = window.HandoffAppearAnimations(appearId, key, value, frame);\n                if (elapsed !== null) {\n                    valueTransition.elapsed = elapsed;\n                    valueTransition.isHandoff = true;\n                }\n            }\n        }\n        let canSkip = !valueTransition.isHandoff &&\n            !hasKeyframesChanged(value, valueTarget);\n        if (valueTransition.type === \"spring\" &&\n            (value.getVelocity() || valueTransition.velocity)) {\n            canSkip = false;\n        }\n        /**\n         * Temporarily disable skipping animations if there's an animation in\n         * progress. Better would be to track the current target of a value\n         * and compare that against valueTarget.\n         */\n        if (value.animation) {\n            canSkip = false;\n        }\n        if (canSkip)\n            continue;\n        value.start(animateMotionValue(key, value, valueTarget, visualElement.shouldReduceMotion && transformProps.has(key)\n            ? { type: false }\n            : valueTransition));\n        const animation = value.animation;\n        if (isWillChangeMotionValue(willChange)) {\n            willChange.add(key);\n            animation.then(() => willChange.remove(key));\n        }\n        animations.push(animation);\n    }\n    if (transitionEnd) {\n        Promise.all(animations).then(() => {\n            transitionEnd && setTarget(visualElement, transitionEnd);\n        });\n    }\n    return animations;\n}\n\nexport { animateTarget };\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\n\nfunction animateVariant(visualElement, variant, options = {}) {\n    const resolved = resolveVariant(visualElement, variant, options.custom);\n    let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};\n    if (options.transitionOverride) {\n        transition = options.transitionOverride;\n    }\n    /**\n     * If we have a variant, create a callback that runs it as an animation.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getAnimation = resolved\n        ? () => Promise.all(animateTarget(visualElement, resolved, options))\n        : () => Promise.resolve();\n    /**\n     * If we have children, create a callback that runs all their animations.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size\n        ? (forwardDelay = 0) => {\n            const { delayChildren = 0, staggerChildren, staggerDirection, } = transition;\n            return animateChildren(visualElement, variant, delayChildren + forwardDelay, staggerChildren, staggerDirection, options);\n        }\n        : () => Promise.resolve();\n    /**\n     * If the transition explicitly defines a \"when\" option, we need to resolve either\n     * this animation or all children animations before playing the other.\n     */\n    const { when } = transition;\n    if (when) {\n        const [first, last] = when === \"beforeChildren\"\n            ? [getAnimation, getChildAnimations]\n            : [getChildAnimations, getAnimation];\n        return first().then(() => last());\n    }\n    else {\n        return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n    }\n}\nfunction animateChildren(visualElement, variant, delayChildren = 0, staggerChildren = 0, staggerDirection = 1, options) {\n    const animations = [];\n    const maxStaggerDuration = (visualElement.variantChildren.size - 1) * staggerChildren;\n    const generateStaggerDuration = staggerDirection === 1\n        ? (i = 0) => i * staggerChildren\n        : (i = 0) => maxStaggerDuration - i * staggerChildren;\n    Array.from(visualElement.variantChildren)\n        .sort(sortByTreeOrder)\n        .forEach((child, i) => {\n        child.notify(\"AnimationStart\", variant);\n        animations.push(animateVariant(child, variant, {\n            ...options,\n            delay: delayChildren + generateStaggerDuration(i),\n        }).then(() => child.notify(\"AnimationComplete\", variant)));\n    });\n    return Promise.all(animations);\n}\nfunction sortByTreeOrder(a, b) {\n    return a.sortNodePosition(b);\n}\n\nexport { animateVariant, sortByTreeOrder };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.mjs';\nimport { shallowCompare } from '../../utils/shallow-compare.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { variantPriorityOrder } from './variant-props.mjs';\nimport { animateVisualElement } from '../../animation/interfaces/visual-element.mjs';\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction animateList(visualElement) {\n    return (animations) => Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n}\nfunction createAnimationState(visualElement) {\n    let animate = animateList(visualElement);\n    const state = createState();\n    let isInitialRender = true;\n    /**\n     * This function will be used to reduce the animation definitions for\n     * each active animation type into an object of resolved values for it.\n     */\n    const buildResolvedTypeValues = (acc, definition) => {\n        const resolved = resolveVariant(visualElement, definition);\n        if (resolved) {\n            const { transition, transitionEnd, ...target } = resolved;\n            acc = { ...acc, ...target, ...transitionEnd };\n        }\n        return acc;\n    };\n    /**\n     * This just allows us to inject mocked animation functions\n     * @internal\n     */\n    function setAnimateFunction(makeAnimator) {\n        animate = makeAnimator(visualElement);\n    }\n    /**\n     * When we receive new props, we need to:\n     * 1. Create a list of protected keys for each type. This is a directory of\n     *    value keys that are currently being \"handled\" by types of a higher priority\n     *    so that whenever an animation is played of a given type, these values are\n     *    protected from being animated.\n     * 2. Determine if an animation type needs animating.\n     * 3. Determine if any values have been removed from a type and figure out\n     *    what to animate those to.\n     */\n    function animateChanges(options, changedActiveType) {\n        const props = visualElement.getProps();\n        const context = visualElement.getVariantContext(true) || {};\n        /**\n         * A list of animations that we'll build into as we iterate through the animation\n         * types. This will get executed at the end of the function.\n         */\n        const animations = [];\n        /**\n         * Keep track of which values have been removed. Then, as we hit lower priority\n         * animation types, we can check if they contain removed values and animate to that.\n         */\n        const removedKeys = new Set();\n        /**\n         * A dictionary of all encountered keys. This is an object to let us build into and\n         * copy it without iteration. Each time we hit an animation type we set its protected\n         * keys - the keys its not allowed to animate - to the latest version of this object.\n         */\n        let encounteredKeys = {};\n        /**\n         * If a variant has been removed at a given index, and this component is controlling\n         * variant animations, we want to ensure lower-priority variants are forced to animate.\n         */\n        let removedVariantIndex = Infinity;\n        /**\n         * Iterate through all animation types in reverse priority order. For each, we want to\n         * detect which values it's handling and whether or not they've changed (and therefore\n         * need to be animated). If any values have been removed, we want to detect those in\n         * lower priority props and flag for animation.\n         */\n        for (let i = 0; i < numAnimationTypes; i++) {\n            const type = reversePriorityOrder[i];\n            const typeState = state[type];\n            const prop = props[type] !== undefined ? props[type] : context[type];\n            const propIsVariant = isVariantLabel(prop);\n            /**\n             * If this type has *just* changed isActive status, set activeDelta\n             * to that status. Otherwise set to null.\n             */\n            const activeDelta = type === changedActiveType ? typeState.isActive : null;\n            if (activeDelta === false)\n                removedVariantIndex = i;\n            /**\n             * If this prop is an inherited variant, rather than been set directly on the\n             * component itself, we want to make sure we allow the parent to trigger animations.\n             *\n             * TODO: Can probably change this to a !isControllingVariants check\n             */\n            let isInherited = prop === context[type] && prop !== props[type] && propIsVariant;\n            /**\n             *\n             */\n            if (isInherited &&\n                isInitialRender &&\n                visualElement.manuallyAnimateOnMount) {\n                isInherited = false;\n            }\n            /**\n             * Set all encountered keys so far as the protected keys for this type. This will\n             * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n             */\n            typeState.protectedKeys = { ...encounteredKeys };\n            // Check if we can skip analysing this prop early\n            if (\n            // If it isn't active and hasn't *just* been set as inactive\n            (!typeState.isActive && activeDelta === null) ||\n                // If we didn't and don't have any defined prop for this animation type\n                (!prop && !typeState.prevProp) ||\n                // Or if the prop doesn't define an animation\n                isAnimationControls(prop) ||\n                typeof prop === \"boolean\") {\n                continue;\n            }\n            /**\n             * As we go look through the values defined on this type, if we detect\n             * a changed value or a value that was removed in a higher priority, we set\n             * this to true and add this prop to the animation list.\n             */\n            const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n            let shouldAnimateType = variantDidChange ||\n                // If we're making this variant active, we want to always make it active\n                (type === changedActiveType &&\n                    typeState.isActive &&\n                    !isInherited &&\n                    propIsVariant) ||\n                // If we removed a higher-priority variant (i is in reverse order)\n                (i > removedVariantIndex && propIsVariant);\n            let handledRemovedValues = false;\n            /**\n             * As animations can be set as variant lists, variants or target objects, we\n             * coerce everything to an array if it isn't one already\n             */\n            const definitionList = Array.isArray(prop) ? prop : [prop];\n            /**\n             * Build an object of all the resolved values. We'll use this in the subsequent\n             * animateChanges calls to determine whether a value has changed.\n             */\n            let resolvedValues = definitionList.reduce(buildResolvedTypeValues, {});\n            if (activeDelta === false)\n                resolvedValues = {};\n            /**\n             * Now we need to loop through all the keys in the prev prop and this prop,\n             * and decide:\n             * 1. If the value has changed, and needs animating\n             * 2. If it has been removed, and needs adding to the removedKeys set\n             * 3. If it has been removed in a higher priority type and needs animating\n             * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n             *    needs adding to the type's protectedKeys list.\n             */\n            const { prevResolvedValues = {} } = typeState;\n            const allKeys = {\n                ...prevResolvedValues,\n                ...resolvedValues,\n            };\n            const markToAnimate = (key) => {\n                shouldAnimateType = true;\n                if (removedKeys.has(key)) {\n                    handledRemovedValues = true;\n                    removedKeys.delete(key);\n                }\n                typeState.needsAnimating[key] = true;\n            };\n            for (const key in allKeys) {\n                const next = resolvedValues[key];\n                const prev = prevResolvedValues[key];\n                // If we've already handled this we can just skip ahead\n                if (encounteredKeys.hasOwnProperty(key))\n                    continue;\n                /**\n                 * If the value has changed, we probably want to animate it.\n                 */\n                let valueHasChanged = false;\n                if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n                    valueHasChanged = !shallowCompare(next, prev);\n                }\n                else {\n                    valueHasChanged = next !== prev;\n                }\n                if (valueHasChanged) {\n                    if (next !== undefined) {\n                        // If next is defined and doesn't equal prev, it needs animating\n                        markToAnimate(key);\n                    }\n                    else {\n                        // If it's undefined, it's been removed.\n                        removedKeys.add(key);\n                    }\n                }\n                else if (next !== undefined && removedKeys.has(key)) {\n                    /**\n                     * If next hasn't changed and it isn't undefined, we want to check if it's\n                     * been removed by a higher priority\n                     */\n                    markToAnimate(key);\n                }\n                else {\n                    /**\n                     * If it hasn't changed, we add it to the list of protected values\n                     * to ensure it doesn't get animated.\n                     */\n                    typeState.protectedKeys[key] = true;\n                }\n            }\n            /**\n             * Update the typeState so next time animateChanges is called we can compare the\n             * latest prop and resolvedValues to these.\n             */\n            typeState.prevProp = prop;\n            typeState.prevResolvedValues = resolvedValues;\n            /**\n             *\n             */\n            if (typeState.isActive) {\n                encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n            }\n            if (isInitialRender && visualElement.blockInitialAnimation) {\n                shouldAnimateType = false;\n            }\n            /**\n             * If this is an inherited prop we want to hard-block animations\n             */\n            if (shouldAnimateType && (!isInherited || handledRemovedValues)) {\n                animations.push(...definitionList.map((animation) => ({\n                    animation: animation,\n                    options: { type, ...options },\n                })));\n            }\n        }\n        /**\n         * If there are some removed value that haven't been dealt with,\n         * we need to create a new animation that falls back either to the value\n         * defined in the style prop, or the last read value.\n         */\n        if (removedKeys.size) {\n            const fallbackAnimation = {};\n            removedKeys.forEach((key) => {\n                const fallbackTarget = visualElement.getBaseTarget(key);\n                if (fallbackTarget !== undefined) {\n                    fallbackAnimation[key] = fallbackTarget;\n                }\n            });\n            animations.push({ animation: fallbackAnimation });\n        }\n        let shouldAnimate = Boolean(animations.length);\n        if (isInitialRender &&\n            (props.initial === false || props.initial === props.animate) &&\n            !visualElement.manuallyAnimateOnMount) {\n            shouldAnimate = false;\n        }\n        isInitialRender = false;\n        return shouldAnimate ? animate(animations) : Promise.resolve();\n    }\n    /**\n     * Change whether a certain animation type is active.\n     */\n    function setActive(type, isActive, options) {\n        var _a;\n        // If the active state hasn't changed, we can safely do nothing here\n        if (state[type].isActive === isActive)\n            return Promise.resolve();\n        // Propagate active change to children\n        (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach((child) => { var _a; return (_a = child.animationState) === null || _a === void 0 ? void 0 : _a.setActive(type, isActive); });\n        state[type].isActive = isActive;\n        const animations = animateChanges(options, type);\n        for (const key in state) {\n            state[key].protectedKeys = {};\n        }\n        return animations;\n    }\n    return {\n        animateChanges,\n        setActive,\n        setAnimateFunction,\n        getState: () => state,\n    };\n}\nfunction checkVariantsDidChange(prev, next) {\n    if (typeof next === \"string\") {\n        return next !== prev;\n    }\n    else if (Array.isArray(next)) {\n        return !shallowCompare(next, prev);\n    }\n    return false;\n}\nfunction createTypeState(isActive = false) {\n    return {\n        isActive,\n        protectedKeys: {},\n        needsAnimating: {},\n        prevResolvedValues: {},\n    };\n}\nfunction createState() {\n    return {\n        animate: createTypeState(true),\n        whileInView: createTypeState(),\n        whileHover: createTypeState(),\n        whileTap: createTypeState(),\n        whileDrag: createTypeState(),\n        whileFocus: createTypeState(),\n        exit: createTypeState(),\n    };\n}\n\nexport { checkVariantsDidChange, createAnimationState };\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\nimport { animateVariant } from './visual-element-variant.mjs';\n\nfunction animateVisualElement(visualElement, definition, options = {}) {\n    visualElement.notify(\"AnimationStart\", definition);\n    let animation;\n    if (Array.isArray(definition)) {\n        const animations = definition.map((variant) => animateVariant(visualElement, variant, options));\n        animation = Promise.all(animations);\n    }\n    else if (typeof definition === \"string\") {\n        animation = animateVariant(visualElement, definition, options);\n    }\n    else {\n        const resolvedDefinition = typeof definition === \"function\"\n            ? resolveVariant(visualElement, definition, options.custom)\n            : definition;\n        animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));\n    }\n    return animation.then(() => visualElement.notify(\"AnimationComplete\", definition));\n}\n\nexport { animateVisualElement };\n","import { Feature } from '../Feature.mjs';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.id = id++;\n    }\n    update() {\n        if (!this.node.presenceContext)\n            return;\n        const { isPresent, onExitComplete, custom } = this.node.presenceContext;\n        const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n        if (!this.node.animationState || isPresent === prevIsPresent) {\n            return;\n        }\n        const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent, { custom: custom !== null && custom !== void 0 ? custom : this.node.getProps().custom });\n        if (onExitComplete && !isPresent) {\n            exitAnimation.then(() => onExitComplete(this.id));\n        }\n    }\n    mount() {\n        const { register } = this.node.presenceContext || {};\n        if (register) {\n            this.unmount = register(this.id);\n        }\n    }\n    unmount() { }\n}\n\nexport { ExitAnimationFeature };\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n    animation: {\n        Feature: AnimationFeature,\n    },\n    exit: {\n        Feature: ExitAnimationFeature,\n    },\n};\n\nexport { animations };\n","import { isAnimationControls } from '../../../animation/utils/is-animation-controls.mjs';\nimport { createAnimationState } from '../../../render/utils/animation-state.mjs';\nimport { Feature } from '../Feature.mjs';\n\nclass AnimationFeature extends Feature {\n    /**\n     * We dynamically generate the AnimationState manager as it contains a reference\n     * to the underlying animation library. We only want to load that if we load this,\n     * so people can optionally code split it out using the `m` component.\n     */\n    constructor(node) {\n        super(node);\n        node.animationState || (node.animationState = createAnimationState(node));\n    }\n    updateAnimationControlsSubscription() {\n        const { animate } = this.node.getProps();\n        this.unmount();\n        if (isAnimationControls(animate)) {\n            this.unmount = animate.subscribe(this.node);\n        }\n    }\n    /**\n     * Subscribe any provided AnimationControls to the component's VisualElement\n     */\n    mount() {\n        this.updateAnimationControlsSubscription();\n    }\n    update() {\n        const { animate } = this.node.getProps();\n        const { animate: prevAnimate } = this.node.prevProps || {};\n        if (animate !== prevAnimate) {\n            this.updateAnimationControlsSubscription();\n        }\n    }\n    unmount() { }\n}\n\nexport { AnimationFeature };\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n    // Multi-dimensional\n    const xDelta = distance(a.x, b.x);\n    const yDelta = distance(a.y, b.y);\n    return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n","import { extractEventInfo } from '../../events/event-info.mjs';\nimport { secondsToMilliseconds, millisecondsToSeconds } from '../../utils/time-conversion.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { pipe } from '../../utils/pipe.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\nimport { isPrimaryPointer } from '../../events/utils/is-primary-pointer.mjs';\nimport { frame, cancelFrame, frameData } from '../../frameloop/frame.mjs';\n\n/**\n * @internal\n */\nclass PanSession {\n    constructor(event, handlers, { transformPagePoint, contextWindow, dragSnapToOrigin = false } = {}) {\n        /**\n         * @internal\n         */\n        this.startEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEventInfo = null;\n        /**\n         * @internal\n         */\n        this.handlers = {};\n        /**\n         * @internal\n         */\n        this.contextWindow = window;\n        this.updatePoint = () => {\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const info = getPanInfo(this.lastMoveEventInfo, this.history);\n            const isPanStarted = this.startEvent !== null;\n            // Only start panning if the offset is larger than 3 pixels. If we make it\n            // any larger than this we'll want to reset the pointer history\n            // on the first update to avoid visual snapping to the cursoe.\n            const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= 3;\n            if (!isPanStarted && !isDistancePastThreshold)\n                return;\n            const { point } = info;\n            const { timestamp } = frameData;\n            this.history.push({ ...point, timestamp });\n            const { onStart, onMove } = this.handlers;\n            if (!isPanStarted) {\n                onStart && onStart(this.lastMoveEvent, info);\n                this.startEvent = this.lastMoveEvent;\n            }\n            onMove && onMove(this.lastMoveEvent, info);\n        };\n        this.handlePointerMove = (event, info) => {\n            this.lastMoveEvent = event;\n            this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n            // Throttle mouse move event to once per frame\n            frame.update(this.updatePoint, true);\n        };\n        this.handlePointerUp = (event, info) => {\n            this.end();\n            const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n            if (this.dragSnapToOrigin)\n                resumeAnimation && resumeAnimation();\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const panInfo = getPanInfo(event.type === \"pointercancel\"\n                ? this.lastMoveEventInfo\n                : transformPoint(info, this.transformPagePoint), this.history);\n            if (this.startEvent && onEnd) {\n                onEnd(event, panInfo);\n            }\n            onSessionEnd && onSessionEnd(event, panInfo);\n        };\n        // If we have more than one touch, don't start detecting this gesture\n        if (!isPrimaryPointer(event))\n            return;\n        this.dragSnapToOrigin = dragSnapToOrigin;\n        this.handlers = handlers;\n        this.transformPagePoint = transformPagePoint;\n        this.contextWindow = contextWindow || window;\n        const info = extractEventInfo(event);\n        const initialInfo = transformPoint(info, this.transformPagePoint);\n        const { point } = initialInfo;\n        const { timestamp } = frameData;\n        this.history = [{ ...point, timestamp }];\n        const { onSessionStart } = handlers;\n        onSessionStart &&\n            onSessionStart(event, getPanInfo(initialInfo, this.history));\n        this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n    }\n    updateHandlers(handlers) {\n        this.handlers = handlers;\n    }\n    end() {\n        this.removeListeners && this.removeListeners();\n        cancelFrame(this.updatePoint);\n    }\n}\nfunction transformPoint(info, transformPagePoint) {\n    return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n    return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n    return {\n        point,\n        delta: subtractPoint(point, lastDevicePoint(history)),\n        offset: subtractPoint(point, startDevicePoint(history)),\n        velocity: getVelocity(history, 0.1),\n    };\n}\nfunction startDevicePoint(history) {\n    return history[0];\n}\nfunction lastDevicePoint(history) {\n    return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n    if (history.length < 2) {\n        return { x: 0, y: 0 };\n    }\n    let i = history.length - 1;\n    let timestampedPoint = null;\n    const lastPoint = lastDevicePoint(history);\n    while (i >= 0) {\n        timestampedPoint = history[i];\n        if (lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta)) {\n            break;\n        }\n        i--;\n    }\n    if (!timestampedPoint) {\n        return { x: 0, y: 0 };\n    }\n    const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n    if (time === 0) {\n        return { x: 0, y: 0 };\n    }\n    const currentVelocity = {\n        x: (lastPoint.x - timestampedPoint.x) / time,\n        y: (lastPoint.y - timestampedPoint.y) / time,\n    };\n    if (currentVelocity.x === Infinity) {\n        currentVelocity.x = 0;\n    }\n    if (currentVelocity.y === Infinity) {\n        currentVelocity.y = 0;\n    }\n    return currentVelocity;\n}\n\nexport { PanSession };\n","import { mix } from '../../utils/mix.mjs';\n\nfunction calcLength(axis) {\n    return axis.max - axis.min;\n}\nfunction isNear(value, target = 0, maxDistance = 0.01) {\n    return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n    delta.origin = origin;\n    delta.originPoint = mix(source.min, source.max, delta.origin);\n    delta.scale = calcLength(target) / calcLength(source);\n    if (isNear(delta.scale, 1, 0.0001) || isNaN(delta.scale))\n        delta.scale = 1;\n    delta.translate =\n        mix(target.min, target.max, delta.origin) - delta.originPoint;\n    if (isNear(delta.translate) || isNaN(delta.translate))\n        delta.translate = 0;\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n    calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n    calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent) {\n    target.min = parent.min + relative.min;\n    target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent) {\n    calcRelativeAxis(target.x, relative.x, parent.x);\n    calcRelativeAxis(target.y, relative.y, parent.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent) {\n    target.min = layout.min - parent.min;\n    target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent) {\n    calcRelativeAxisPosition(target.x, layout.x, parent.x);\n    calcRelativeAxisPosition(target.y, layout.y, parent.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n","import { progress } from '../../../utils/progress.mjs';\nimport { calcLength } from '../../../projection/geometry/delta-calc.mjs';\nimport { clamp } from '../../../utils/clamp.mjs';\nimport { mix } from '../../../utils/mix.mjs';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n    if (min !== undefined && point < min) {\n        // If we have a min point defined, and this is outside of that, constrain\n        point = elastic ? mix(min, point, elastic.min) : Math.max(point, min);\n    }\n    else if (max !== undefined && point > max) {\n        // If we have a max point defined, and this is outside of that, constrain\n        point = elastic ? mix(max, point, elastic.max) : Math.min(point, max);\n    }\n    return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n    return {\n        min: min !== undefined ? axis.min + min : undefined,\n        max: max !== undefined\n            ? axis.max + max - (axis.max - axis.min)\n            : undefined,\n    };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n    return {\n        x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n        y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n    };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n    let min = constraintsAxis.min - layoutAxis.min;\n    let max = constraintsAxis.max - layoutAxis.max;\n    // If the constraints axis is actually smaller than the layout axis then we can\n    // flip the constraints\n    if (constraintsAxis.max - constraintsAxis.min <\n        layoutAxis.max - layoutAxis.min) {\n        [min, max] = [max, min];\n    }\n    return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n    return {\n        x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n        y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n    };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n    let origin = 0.5;\n    const sourceLength = calcLength(source);\n    const targetLength = calcLength(target);\n    if (targetLength > sourceLength) {\n        origin = progress(target.min, target.max - sourceLength, source.min);\n    }\n    else if (sourceLength > targetLength) {\n        origin = progress(source.min, source.max - targetLength, target.min);\n    }\n    return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n    const relativeConstraints = {};\n    if (constraints.min !== undefined) {\n        relativeConstraints.min = constraints.min - layout.min;\n    }\n    if (constraints.max !== undefined) {\n        relativeConstraints.max = constraints.max - layout.min;\n    }\n    return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n    if (dragElastic === false) {\n        dragElastic = 0;\n    }\n    else if (dragElastic === true) {\n        dragElastic = defaultElastic;\n    }\n    return {\n        x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n        y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n    };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n    return {\n        min: resolvePointElastic(dragElastic, minLabel),\n        max: resolvePointElastic(dragElastic, maxLabel),\n    };\n}\nfunction resolvePointElastic(dragElastic, label) {\n    return typeof dragElastic === \"number\"\n        ? dragElastic\n        : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n","const createAxisDelta = () => ({\n    translate: 0,\n    scale: 1,\n    origin: 0,\n    originPoint: 0,\n});\nconst createDelta = () => ({\n    x: createAxisDelta(),\n    y: createAxisDelta(),\n});\nconst createAxis = () => ({ min: 0, max: 0 });\nconst createBox = () => ({\n    x: createAxis(),\n    y: createAxis(),\n});\n\nexport { createAxis, createAxisDelta, createBox, createDelta };\n","function eachAxis(callback) {\n    return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n","/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToBox({ top, left, right, bottom, }) {\n    return {\n        x: { min: left, max: right },\n        y: { min: top, max: bottom },\n    };\n}\nfunction convertBoxToBoundingBox({ x, y }) {\n    return { top: y.min, right: x.max, bottom: y.max, left: x.min };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoxPoints(point, transformPoint) {\n    if (!transformPoint)\n        return point;\n    const topLeft = transformPoint({ x: point.left, y: point.top });\n    const bottomRight = transformPoint({ x: point.right, y: point.bottom });\n    return {\n        top: topLeft.y,\n        left: topLeft.x,\n        bottom: bottomRight.y,\n        right: bottomRight.x,\n    };\n}\n\nexport { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints };\n","function isIdentityScale(scale) {\n    return scale === undefined || scale === 1;\n}\nfunction hasScale({ scale, scaleX, scaleY }) {\n    return (!isIdentityScale(scale) ||\n        !isIdentityScale(scaleX) ||\n        !isIdentityScale(scaleY));\n}\nfunction hasTransform(values) {\n    return (hasScale(values) ||\n        has2DTranslate(values) ||\n        values.z ||\n        values.rotate ||\n        values.rotateX ||\n        values.rotateY);\n}\nfunction has2DTranslate(values) {\n    return is2DTranslate(values.x) || is2DTranslate(values.y);\n}\nfunction is2DTranslate(value) {\n    return value && value !== \"0%\";\n}\n\nexport { has2DTranslate, hasScale, hasTransform };\n","import { mix } from '../../utils/mix.mjs';\nimport { hasTransform } from '../utils/has-transform.mjs';\n\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n    const distanceFromOrigin = point - originPoint;\n    const scaled = scale * distanceFromOrigin;\n    return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n    if (boxScale !== undefined) {\n        point = scalePoint(point, boxScale, originPoint);\n    }\n    return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) {\n    axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, { x, y }) {\n    applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n    applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {\n    const treeLength = treePath.length;\n    if (!treeLength)\n        return;\n    // Reset the treeScale\n    treeScale.x = treeScale.y = 1;\n    let node;\n    let delta;\n    for (let i = 0; i < treeLength; i++) {\n        node = treePath[i];\n        delta = node.projectionDelta;\n        /**\n         * TODO: Prefer to remove this, but currently we have motion components with\n         * display: contents in Framer.\n         */\n        const instance = node.instance;\n        if (instance &&\n            instance.style &&\n            instance.style.display === \"contents\") {\n            continue;\n        }\n        if (isSharedTransition &&\n            node.options.layoutScroll &&\n            node.scroll &&\n            node !== node.root) {\n            transformBox(box, {\n                x: -node.scroll.offset.x,\n                y: -node.scroll.offset.y,\n            });\n        }\n        if (delta) {\n            // Incoporate each ancestor's scale into a culmulative treeScale for this component\n            treeScale.x *= delta.x.scale;\n            treeScale.y *= delta.y.scale;\n            // Apply each ancestor's calculated delta into this component's recorded layout box\n            applyBoxDelta(box, delta);\n        }\n        if (isSharedTransition && hasTransform(node.latestValues)) {\n            transformBox(box, node.latestValues);\n        }\n    }\n    /**\n     * Snap tree scale back to 1 if it's within a non-perceivable threshold.\n     * This will help reduce useless scales getting rendered.\n     */\n    treeScale.x = snapToDefault(treeScale.x);\n    treeScale.y = snapToDefault(treeScale.y);\n}\nfunction snapToDefault(scale) {\n    if (Number.isInteger(scale))\n        return scale;\n    return scale > 1.0000000000001 || scale < 0.999999999999 ? scale : 1;\n}\nfunction translateAxis(axis, distance) {\n    axis.min = axis.min + distance;\n    axis.max = axis.max + distance;\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction transformAxis(axis, transforms, [key, scaleKey, originKey]) {\n    const axisOrigin = transforms[originKey] !== undefined ? transforms[originKey] : 0.5;\n    const originPoint = mix(axis.min, axis.max, axisOrigin);\n    // Apply the axis delta to the final axis\n    applyAxisDelta(axis, transforms[key], transforms[scaleKey], originPoint, transforms.scale);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction transformBox(box, transform) {\n    transformAxis(box.x, transform, xKeys);\n    transformAxis(box.y, transform, yKeys);\n}\n\nexport { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis };\n","import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs';\nimport { translateAxis } from '../geometry/delta-apply.mjs';\n\nfunction measureViewportBox(instance, transformPoint) {\n    return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint));\n}\nfunction measurePageBox(element, rootProjectionNode, transformPagePoint) {\n    const viewportBox = measureViewportBox(element, transformPagePoint);\n    const { scroll } = rootProjectionNode;\n    if (scroll) {\n        translateAxis(viewportBox.x, scroll.offset.x);\n        translateAxis(viewportBox.y, scroll.offset.y);\n    }\n    return viewportBox;\n}\n\nexport { measurePageBox, measureViewportBox };\n","// Fixes https://github.com/framer/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n    return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n","import { invariant } from '../../utils/errors.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { getGlobalLock } from './utils/lock.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, calcOrigin } from './utils/constraints.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { eachAxis } from '../../projection/utils/each-axis.mjs';\nimport { measurePageBox } from '../../projection/utils/measure.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { convertBoxToBoundingBox, convertBoundingBoxToBox } from '../../projection/geometry/conversion.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { calcLength } from '../../projection/geometry/delta-calc.mjs';\nimport { mix } from '../../utils/mix.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { animateMotionValue } from '../../animation/interfaces/motion-value.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst elementDragControls = new WeakMap();\n/**\n *\n */\n// let latestPointerEvent: PointerEvent\nclass VisualElementDragControls {\n    constructor(visualElement) {\n        // This is a reference to the global drag gesture lock, ensuring only one component\n        // can \"capture\" the drag of one or both axes.\n        // TODO: Look into moving this into pansession?\n        this.openGlobalLock = null;\n        this.isDragging = false;\n        this.currentDirection = null;\n        this.originPoint = { x: 0, y: 0 };\n        /**\n         * The permitted boundaries of travel, in pixels.\n         */\n        this.constraints = false;\n        this.hasMutatedConstraints = false;\n        /**\n         * The per-axis resolved elastic values.\n         */\n        this.elastic = createBox();\n        this.visualElement = visualElement;\n    }\n    start(originEvent, { snapToCursor = false } = {}) {\n        /**\n         * Don't start dragging if this component is exiting\n         */\n        const { presenceContext } = this.visualElement;\n        if (presenceContext && presenceContext.isPresent === false)\n            return;\n        const onSessionStart = (event) => {\n            const { dragSnapToOrigin } = this.getProps();\n            // Stop or pause any animations on both axis values immediately. This allows the user to throw and catch\n            // the component.\n            dragSnapToOrigin ? this.pauseAnimation() : this.stopAnimation();\n            if (snapToCursor) {\n                this.snapToCursor(extractEventInfo(event, \"page\").point);\n            }\n        };\n        const onStart = (event, info) => {\n            // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n            const { drag, dragPropagation, onDragStart } = this.getProps();\n            if (drag && !dragPropagation) {\n                if (this.openGlobalLock)\n                    this.openGlobalLock();\n                this.openGlobalLock = getGlobalLock(drag);\n                // If we don 't have the lock, don't start dragging\n                if (!this.openGlobalLock)\n                    return;\n            }\n            this.isDragging = true;\n            this.currentDirection = null;\n            this.resolveConstraints();\n            if (this.visualElement.projection) {\n                this.visualElement.projection.isAnimationBlocked = true;\n                this.visualElement.projection.target = undefined;\n            }\n            /**\n             * Record gesture origin\n             */\n            eachAxis((axis) => {\n                let current = this.getAxisMotionValue(axis).get() || 0;\n                /**\n                 * If the MotionValue is a percentage value convert to px\n                 */\n                if (percent.test(current)) {\n                    const { projection } = this.visualElement;\n                    if (projection && projection.layout) {\n                        const measuredAxis = projection.layout.layoutBox[axis];\n                        if (measuredAxis) {\n                            const length = calcLength(measuredAxis);\n                            current = length * (parseFloat(current) / 100);\n                        }\n                    }\n                }\n                this.originPoint[axis] = current;\n            });\n            // Fire onDragStart event\n            if (onDragStart) {\n                frame.update(() => onDragStart(event, info), false, true);\n            }\n            const { animationState } = this.visualElement;\n            animationState && animationState.setActive(\"whileDrag\", true);\n        };\n        const onMove = (event, info) => {\n            // latestPointerEvent = event\n            const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n            // If we didn't successfully receive the gesture lock, early return.\n            if (!dragPropagation && !this.openGlobalLock)\n                return;\n            const { offset } = info;\n            // Attempt to detect drag direction if directionLock is true\n            if (dragDirectionLock && this.currentDirection === null) {\n                this.currentDirection = getCurrentDirection(offset);\n                // If we've successfully set a direction, notify listener\n                if (this.currentDirection !== null) {\n                    onDirectionLock && onDirectionLock(this.currentDirection);\n                }\n                return;\n            }\n            // Update each point with the latest position\n            this.updateAxis(\"x\", info.point, offset);\n            this.updateAxis(\"y\", info.point, offset);\n            /**\n             * Ideally we would leave the renderer to fire naturally at the end of\n             * this frame but if the element is about to change layout as the result\n             * of a re-render we want to ensure the browser can read the latest\n             * bounding box to ensure the pointer and element don't fall out of sync.\n             */\n            this.visualElement.render();\n            /**\n             * This must fire after the render call as it might trigger a state\n             * change which itself might trigger a layout update.\n             */\n            onDrag && onDrag(event, info);\n        };\n        const onSessionEnd = (event, info) => this.stop(event, info);\n        const resumeAnimation = () => eachAxis((axis) => {\n            var _a;\n            return this.getAnimationState(axis) === \"paused\" &&\n                ((_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.play());\n        });\n        const { dragSnapToOrigin } = this.getProps();\n        this.panSession = new PanSession(originEvent, {\n            onSessionStart,\n            onStart,\n            onMove,\n            onSessionEnd,\n            resumeAnimation,\n        }, {\n            transformPagePoint: this.visualElement.getTransformPagePoint(),\n            dragSnapToOrigin,\n            contextWindow: getContextWindow(this.visualElement),\n        });\n    }\n    stop(event, info) {\n        const isDragging = this.isDragging;\n        this.cancel();\n        if (!isDragging)\n            return;\n        const { velocity } = info;\n        this.startAnimation(velocity);\n        const { onDragEnd } = this.getProps();\n        if (onDragEnd) {\n            frame.update(() => onDragEnd(event, info));\n        }\n    }\n    cancel() {\n        this.isDragging = false;\n        const { projection, animationState } = this.visualElement;\n        if (projection) {\n            projection.isAnimationBlocked = false;\n        }\n        this.panSession && this.panSession.end();\n        this.panSession = undefined;\n        const { dragPropagation } = this.getProps();\n        if (!dragPropagation && this.openGlobalLock) {\n            this.openGlobalLock();\n            this.openGlobalLock = null;\n        }\n        animationState && animationState.setActive(\"whileDrag\", false);\n    }\n    updateAxis(axis, _point, offset) {\n        const { drag } = this.getProps();\n        // If we're not dragging this axis, do an early return.\n        if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n            return;\n        const axisValue = this.getAxisMotionValue(axis);\n        let next = this.originPoint[axis] + offset[axis];\n        // Apply constraints\n        if (this.constraints && this.constraints[axis]) {\n            next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n        }\n        axisValue.set(next);\n    }\n    resolveConstraints() {\n        var _a;\n        const { dragConstraints, dragElastic } = this.getProps();\n        const layout = this.visualElement.projection &&\n            !this.visualElement.projection.layout\n            ? this.visualElement.projection.measure(false)\n            : (_a = this.visualElement.projection) === null || _a === void 0 ? void 0 : _a.layout;\n        const prevConstraints = this.constraints;\n        if (dragConstraints && isRefObject(dragConstraints)) {\n            if (!this.constraints) {\n                this.constraints = this.resolveRefConstraints();\n            }\n        }\n        else {\n            if (dragConstraints && layout) {\n                this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n            }\n            else {\n                this.constraints = false;\n            }\n        }\n        this.elastic = resolveDragElastic(dragElastic);\n        /**\n         * If we're outputting to external MotionValues, we want to rebase the measured constraints\n         * from viewport-relative to component-relative.\n         */\n        if (prevConstraints !== this.constraints &&\n            layout &&\n            this.constraints &&\n            !this.hasMutatedConstraints) {\n            eachAxis((axis) => {\n                if (this.getAxisMotionValue(axis)) {\n                    this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n                }\n            });\n        }\n    }\n    resolveRefConstraints() {\n        const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n        if (!constraints || !isRefObject(constraints))\n            return false;\n        const constraintsElement = constraints.current;\n        invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");\n        const { projection } = this.visualElement;\n        // TODO\n        if (!projection || !projection.layout)\n            return false;\n        const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n        let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n        /**\n         * If there's an onMeasureDragConstraints listener we call it and\n         * if different constraints are returned, set constraints to that\n         */\n        if (onMeasureDragConstraints) {\n            const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n            this.hasMutatedConstraints = !!userConstraints;\n            if (userConstraints) {\n                measuredConstraints = convertBoundingBoxToBox(userConstraints);\n            }\n        }\n        return measuredConstraints;\n    }\n    startAnimation(velocity) {\n        const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n        const constraints = this.constraints || {};\n        const momentumAnimations = eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, this.currentDirection)) {\n                return;\n            }\n            let transition = (constraints && constraints[axis]) || {};\n            if (dragSnapToOrigin)\n                transition = { min: 0, max: 0 };\n            /**\n             * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n             * of spring animations so we should look into adding a disable spring option to `inertia`.\n             * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n             * using the value of `dragElastic`.\n             */\n            const bounceStiffness = dragElastic ? 200 : 1000000;\n            const bounceDamping = dragElastic ? 40 : 10000000;\n            const inertia = {\n                type: \"inertia\",\n                velocity: dragMomentum ? velocity[axis] : 0,\n                bounceStiffness,\n                bounceDamping,\n                timeConstant: 750,\n                restDelta: 1,\n                restSpeed: 10,\n                ...dragTransition,\n                ...transition,\n            };\n            // If we're not animating on an externally-provided `MotionValue` we can use the\n            // component's animation controls which will handle interactions with whileHover (etc),\n            // otherwise we just have to animate the `MotionValue` itself.\n            return this.startAxisValueAnimation(axis, inertia);\n        });\n        // Run all animations and then resolve the new drag constraints.\n        return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n    }\n    startAxisValueAnimation(axis, transition) {\n        const axisValue = this.getAxisMotionValue(axis);\n        return axisValue.start(animateMotionValue(axis, axisValue, 0, transition));\n    }\n    stopAnimation() {\n        eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n    }\n    pauseAnimation() {\n        eachAxis((axis) => { var _a; return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.pause(); });\n    }\n    getAnimationState(axis) {\n        var _a;\n        return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.state;\n    }\n    /**\n     * Drag works differently depending on which props are provided.\n     *\n     * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n     * - Otherwise, we apply the delta to the x/y motion values.\n     */\n    getAxisMotionValue(axis) {\n        const dragKey = \"_drag\" + axis.toUpperCase();\n        const props = this.visualElement.getProps();\n        const externalMotionValue = props[dragKey];\n        return externalMotionValue\n            ? externalMotionValue\n            : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : undefined) || 0);\n    }\n    snapToCursor(point) {\n        eachAxis((axis) => {\n            const { drag } = this.getProps();\n            // If we're not dragging this axis, do an early return.\n            if (!shouldDrag(axis, drag, this.currentDirection))\n                return;\n            const { projection } = this.visualElement;\n            const axisValue = this.getAxisMotionValue(axis);\n            if (projection && projection.layout) {\n                const { min, max } = projection.layout.layoutBox[axis];\n                axisValue.set(point[axis] - mix(min, max, 0.5));\n            }\n        });\n    }\n    /**\n     * When the viewport resizes we want to check if the measured constraints\n     * have changed and, if so, reposition the element within those new constraints\n     * relative to where it was before the resize.\n     */\n    scalePositionWithinConstraints() {\n        if (!this.visualElement.current)\n            return;\n        const { drag, dragConstraints } = this.getProps();\n        const { projection } = this.visualElement;\n        if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n            return;\n        /**\n         * Stop current animations as there can be visual glitching if we try to do\n         * this mid-animation\n         */\n        this.stopAnimation();\n        /**\n         * Record the relative position of the dragged element relative to the\n         * constraints box and save as a progress value.\n         */\n        const boxProgress = { x: 0, y: 0 };\n        eachAxis((axis) => {\n            const axisValue = this.getAxisMotionValue(axis);\n            if (axisValue) {\n                const latest = axisValue.get();\n                boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n            }\n        });\n        /**\n         * Update the layout of this element and resolve the latest drag constraints\n         */\n        const { transformTemplate } = this.visualElement.getProps();\n        this.visualElement.current.style.transform = transformTemplate\n            ? transformTemplate({}, \"\")\n            : \"none\";\n        projection.root && projection.root.updateScroll();\n        projection.updateLayout();\n        this.resolveConstraints();\n        /**\n         * For each axis, calculate the current progress of the layout axis\n         * within the new constraints.\n         */\n        eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, null))\n                return;\n            /**\n             * Calculate a new transform based on the previous box progress\n             */\n            const axisValue = this.getAxisMotionValue(axis);\n            const { min, max } = this.constraints[axis];\n            axisValue.set(mix(min, max, boxProgress[axis]));\n        });\n    }\n    addListeners() {\n        if (!this.visualElement.current)\n            return;\n        elementDragControls.set(this.visualElement, this);\n        const element = this.visualElement.current;\n        /**\n         * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n         */\n        const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n            const { drag, dragListener = true } = this.getProps();\n            drag && dragListener && this.start(event);\n        });\n        const measureDragConstraints = () => {\n            const { dragConstraints } = this.getProps();\n            if (isRefObject(dragConstraints)) {\n                this.constraints = this.resolveRefConstraints();\n            }\n        };\n        const { projection } = this.visualElement;\n        const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n        if (projection && !projection.layout) {\n            projection.root && projection.root.updateScroll();\n            projection.updateLayout();\n        }\n        measureDragConstraints();\n        /**\n         * Attach a window resize listener to scale the draggable target within its defined\n         * constraints as the window resizes.\n         */\n        const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n        /**\n         * If the element's layout changes, calculate the delta and apply that to\n         * the drag gesture's origin point.\n         */\n        const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n            if (this.isDragging && hasLayoutChanged) {\n                eachAxis((axis) => {\n                    const motionValue = this.getAxisMotionValue(axis);\n                    if (!motionValue)\n                        return;\n                    this.originPoint[axis] += delta[axis].translate;\n                    motionValue.set(motionValue.get() + delta[axis].translate);\n                });\n                this.visualElement.render();\n            }\n        }));\n        return () => {\n            stopResizeListener();\n            stopPointerListener();\n            stopMeasureLayoutListener();\n            stopLayoutUpdateListener && stopLayoutUpdateListener();\n        };\n    }\n    getProps() {\n        const props = this.visualElement.getProps();\n        const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n        return {\n            ...props,\n            drag,\n            dragDirectionLock,\n            dragPropagation,\n            dragConstraints,\n            dragElastic,\n            dragMomentum,\n        };\n    }\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n    return ((drag === true || drag === direction) &&\n        (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n    let direction = null;\n    if (Math.abs(offset.y) > lockThreshold) {\n        direction = \"y\";\n    }\n    else if (Math.abs(offset.x) > lockThreshold) {\n        direction = \"x\";\n    }\n    return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n","import { PanSession } from './PanSession.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n    if (handler) {\n        frame.update(() => handler(event, info));\n    }\n};\nclass PanGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.removePointerDownListener = noop;\n    }\n    onPointerDown(pointerDownEvent) {\n        this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n            transformPagePoint: this.node.getTransformPagePoint(),\n            contextWindow: getContextWindow(this.node),\n        });\n    }\n    createPanHandlers() {\n        const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n        return {\n            onSessionStart: asyncHandler(onPanSessionStart),\n            onStart: asyncHandler(onPanStart),\n            onMove: onPan,\n            onEnd: (event, info) => {\n                delete this.session;\n                if (onPanEnd) {\n                    frame.update(() => onPanEnd(event, info));\n                }\n            },\n        };\n    }\n    mount() {\n        this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n    }\n    update() {\n        this.session && this.session.updateHandlers(this.createPanHandlers());\n    }\n    unmount() {\n        this.removePointerDownListener();\n        this.session && this.session.end();\n    }\n}\n\nexport { PanGesture };\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n    /**\n     * Global flag as to whether the tree has animated since the last time\n     * we resized the window\n     */\n    hasAnimatedSinceResize: true,\n    /**\n     * We set this to true once, on the first update. Any nodes added to the tree beyond that\n     * update will be given a `data-projection-id` attribute.\n     */\n    hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n","import { px } from '../../value/types/numbers/units.mjs';\n\nfunction pixelsToPercent(pixels, axis) {\n    if (axis.max === axis.min)\n        return 0;\n    return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nconst correctBorderRadius = {\n    correct: (latest, node) => {\n        if (!node.target)\n            return latest;\n        /**\n         * If latest is a string, if it's a percentage we can return immediately as it's\n         * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n         */\n        if (typeof latest === \"string\") {\n            if (px.test(latest)) {\n                latest = parseFloat(latest);\n            }\n            else {\n                return latest;\n            }\n        }\n        /**\n         * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n         * pixel value as a percentage of each axis\n         */\n        const x = pixelsToPercent(latest, node.target.x);\n        const y = pixelsToPercent(latest, node.target.y);\n        return `${x}% ${y}%`;\n    },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n","import { mix } from '../../utils/mix.mjs';\nimport { complex } from '../../value/types/complex/index.mjs';\n\nconst correctBoxShadow = {\n    correct: (latest, { treeScale, projectionDelta }) => {\n        const original = latest;\n        const shadow = complex.parse(latest);\n        // TODO: Doesn't support multiple shadows\n        if (shadow.length > 5)\n            return original;\n        const template = complex.createTransformer(latest);\n        const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n        // Calculate the overall context scale\n        const xScale = projectionDelta.x.scale * treeScale.x;\n        const yScale = projectionDelta.y.scale * treeScale.y;\n        shadow[0 + offset] /= xScale;\n        shadow[1 + offset] /= yScale;\n        /**\n         * Ideally we'd correct x and y scales individually, but because blur and\n         * spread apply to both we have to take a scale average and apply that instead.\n         * We could potentially improve the outcome of this by incorporating the ratio between\n         * the two scales.\n         */\n        const averageScale = mix(xScale, yScale, 0.5);\n        // Blur\n        if (typeof shadow[2 + offset] === \"number\")\n            shadow[2 + offset] /= averageScale;\n        // Spread\n        if (typeof shadow[3 + offset] === \"number\")\n            shadow[3 + offset] /= averageScale;\n        return template(shadow);\n    },\n};\n\nexport { correctBoxShadow };\n","import React__default, { useContext } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\nimport { globalProjectionState } from '../../../projection/node/state.mjs';\nimport { correctBorderRadius } from '../../../projection/styles/scale-border-radius.mjs';\nimport { correctBoxShadow } from '../../../projection/styles/scale-box-shadow.mjs';\nimport { addScaleCorrector } from '../../../projection/styles/scale-correction.mjs';\nimport { microtask } from '../../../frameloop/microtask.mjs';\nimport { frame } from '../../../frameloop/frame.mjs';\n\nclass MeasureLayoutWithContext extends React__default.Component {\n    /**\n     * This only mounts projection nodes for components that\n     * need measuring, we might want to do it for all components\n     * in order to incorporate transforms\n     */\n    componentDidMount() {\n        const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n        const { projection } = visualElement;\n        addScaleCorrector(defaultScaleCorrectors);\n        if (projection) {\n            if (layoutGroup.group)\n                layoutGroup.group.add(projection);\n            if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n                switchLayoutGroup.register(projection);\n            }\n            projection.root.didUpdate();\n            projection.addEventListener(\"animationComplete\", () => {\n                this.safeToRemove();\n            });\n            projection.setOptions({\n                ...projection.options,\n                onExitComplete: () => this.safeToRemove(),\n            });\n        }\n        globalProjectionState.hasEverUpdated = true;\n    }\n    getSnapshotBeforeUpdate(prevProps) {\n        const { layoutDependency, visualElement, drag, isPresent } = this.props;\n        const projection = visualElement.projection;\n        if (!projection)\n            return null;\n        /**\n         * TODO: We use this data in relegate to determine whether to\n         * promote a previous element. There's no guarantee its presence data\n         * will have updated by this point - if a bug like this arises it will\n         * have to be that we markForRelegation and then find a new lead some other way,\n         * perhaps in didUpdate\n         */\n        projection.isPresent = isPresent;\n        if (drag ||\n            prevProps.layoutDependency !== layoutDependency ||\n            layoutDependency === undefined) {\n            projection.willUpdate();\n        }\n        else {\n            this.safeToRemove();\n        }\n        if (prevProps.isPresent !== isPresent) {\n            if (isPresent) {\n                projection.promote();\n            }\n            else if (!projection.relegate()) {\n                /**\n                 * If there's another stack member taking over from this one,\n                 * it's in charge of the exit animation and therefore should\n                 * be in charge of the safe to remove. Otherwise we call it here.\n                 */\n                frame.postRender(() => {\n                    const stack = projection.getStack();\n                    if (!stack || !stack.members.length) {\n                        this.safeToRemove();\n                    }\n                });\n            }\n        }\n        return null;\n    }\n    componentDidUpdate() {\n        const { projection } = this.props.visualElement;\n        if (projection) {\n            projection.root.didUpdate();\n            microtask.postRender(() => {\n                if (!projection.currentAnimation && projection.isLead()) {\n                    this.safeToRemove();\n                }\n            });\n        }\n    }\n    componentWillUnmount() {\n        const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n        const { projection } = visualElement;\n        if (projection) {\n            projection.scheduleCheckAfterUnmount();\n            if (layoutGroup && layoutGroup.group)\n                layoutGroup.group.remove(projection);\n            if (promoteContext && promoteContext.deregister)\n                promoteContext.deregister(projection);\n        }\n    }\n    safeToRemove() {\n        const { safeToRemove } = this.props;\n        safeToRemove && safeToRemove();\n    }\n    render() {\n        return null;\n    }\n}\nfunction MeasureLayout(props) {\n    const [isPresent, safeToRemove] = usePresence();\n    const layoutGroup = useContext(LayoutGroupContext);\n    return (React__default.createElement(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\nconst defaultScaleCorrectors = {\n    borderRadius: {\n        ...correctBorderRadius,\n        applyTo: [\n            \"borderTopLeftRadius\",\n            \"borderTopRightRadius\",\n            \"borderBottomLeftRadius\",\n            \"borderBottomRightRadius\",\n        ],\n    },\n    borderTopLeftRadius: correctBorderRadius,\n    borderTopRightRadius: correctBorderRadius,\n    borderBottomLeftRadius: correctBorderRadius,\n    borderBottomRightRadius: correctBorderRadius,\n    boxShadow: correctBoxShadow,\n};\n\nexport { MeasureLayout };\n","import { useContext, useId, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const [isPresent, safeToRemove] = usePresence()\n *\n *   useEffect(() => {\n *     !isPresent && setTimeout(safeToRemove, 1000)\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence() {\n    const context = useContext(PresenceContext);\n    if (context === null)\n        return [true, null];\n    const { isPresent, onExitComplete, register } = context;\n    // It's safe to call the following hooks conditionally (after an early return) because the context will always\n    // either be null or non-null for the lifespan of the component.\n    const id = useId();\n    useEffect(() => register(id), []);\n    const safeToRemove = () => onExitComplete && onExitComplete(id);\n    return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const isPresent = useIsPresent()\n *\n *   useEffect(() => {\n *     !isPresent && console.log(\"I've been removed!\")\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n    return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n    return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n","import { circOut } from '../../easing/circ.mjs';\nimport { progress } from '../../utils/progress.mjs';\nimport { mix } from '../../utils/mix.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { percent, px } from '../../value/types/numbers/units.mjs';\n\nconst borders = [\"TopLeft\", \"TopRight\", \"BottomLeft\", \"BottomRight\"];\nconst numBorders = borders.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n    if (shouldCrossfadeOpacity) {\n        target.opacity = mix(0, \n        // TODO Reinstate this if only child\n        lead.opacity !== undefined ? lead.opacity : 1, easeCrossfadeIn(progress));\n        target.opacityExit = mix(follow.opacity !== undefined ? follow.opacity : 1, 0, easeCrossfadeOut(progress));\n    }\n    else if (isOnlyMember) {\n        target.opacity = mix(follow.opacity !== undefined ? follow.opacity : 1, lead.opacity !== undefined ? lead.opacity : 1, progress);\n    }\n    /**\n     * Mix border radius\n     */\n    for (let i = 0; i < numBorders; i++) {\n        const borderLabel = `border${borders[i]}Radius`;\n        let followRadius = getRadius(follow, borderLabel);\n        let leadRadius = getRadius(lead, borderLabel);\n        if (followRadius === undefined && leadRadius === undefined)\n            continue;\n        followRadius || (followRadius = 0);\n        leadRadius || (leadRadius = 0);\n        const canMix = followRadius === 0 ||\n            leadRadius === 0 ||\n            isPx(followRadius) === isPx(leadRadius);\n        if (canMix) {\n            target[borderLabel] = Math.max(mix(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n            if (percent.test(leadRadius) || percent.test(followRadius)) {\n                target[borderLabel] += \"%\";\n            }\n        }\n        else {\n            target[borderLabel] = leadRadius;\n        }\n    }\n    /**\n     * Mix rotation\n     */\n    if (follow.rotate || lead.rotate) {\n        target.rotate = mix(follow.rotate || 0, lead.rotate || 0, progress);\n    }\n}\nfunction getRadius(values, radiusName) {\n    return values[radiusName] !== undefined\n        ? values[radiusName]\n        : values.borderRadius;\n}\n// /**\n//  * We only want to mix the background color if there's a follow element\n//  * that we're not crossfading opacity between. For instance with switch\n//  * AnimateSharedLayout animations, this helps the illusion of a continuous\n//  * element being animated but also cuts down on the number of paints triggered\n//  * for elements where opacity is doing that work for us.\n//  */\n// if (\n//     !hasFollowElement &&\n//     latestLeadValues.backgroundColor &&\n//     latestFollowValues.backgroundColor\n// ) {\n//     /**\n//      * This isn't ideal performance-wise as mixColor is creating a new function every frame.\n//      * We could probably create a mixer that runs at the start of the animation but\n//      * the idea behind the crossfader is that it runs dynamically between two potentially\n//      * changing targets (ie opacity or borderRadius may be animating independently via variants)\n//      */\n//     leadState.backgroundColor = followState.backgroundColor = mixColor(\n//         latestFollowValues.backgroundColor as string,\n//         latestLeadValues.backgroundColor as string\n//     )(p)\n// }\nconst easeCrossfadeIn = compress(0, 0.5, circOut);\nconst easeCrossfadeOut = compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n    return (p) => {\n        // Could replace ifs with clamp\n        if (p < min)\n            return 0;\n        if (p > max)\n            return 1;\n        return easing(progress(min, max, p));\n    };\n}\n\nexport { mixValues };\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n    axis.min = originAxis.min;\n    axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n    copyAxisInto(box.x, originBox.x);\n    copyAxisInto(box.y, originBox.y);\n}\n\nexport { copyAxisInto, copyBoxInto };\n","import { mix } from '../../utils/mix.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n    point -= translate;\n    point = scalePoint(point, 1 / scale, originPoint);\n    if (boxScale !== undefined) {\n        point = scalePoint(point, 1 / boxScale, originPoint);\n    }\n    return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n    if (percent.test(translate)) {\n        translate = parseFloat(translate);\n        const relativeProgress = mix(sourceAxis.min, sourceAxis.max, translate / 100);\n        translate = relativeProgress - sourceAxis.min;\n    }\n    if (typeof translate !== \"number\")\n        return;\n    let originPoint = mix(originAxis.min, originAxis.max, origin);\n    if (axis === originAxis)\n        originPoint -= translate;\n    axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n    removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n    removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n    removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n    return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n    return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction boxEquals(a, b) {\n    return (a.x.min === b.x.min &&\n        a.x.max === b.x.max &&\n        a.y.min === b.y.min &&\n        a.y.max === b.y.max);\n}\nfunction boxEqualsRounded(a, b) {\n    return (Math.round(a.x.min) === Math.round(b.x.min) &&\n        Math.round(a.x.max) === Math.round(b.x.max) &&\n        Math.round(a.y.min) === Math.round(b.y.min) &&\n        Math.round(a.y.max) === Math.round(b.y.max));\n}\nfunction aspectRatio(box) {\n    return calcLength(box.x) / calcLength(box.y);\n}\n\nexport { aspectRatio, boxEquals, boxEqualsRounded, isDeltaZero };\n","import { addUniqueItem, removeItem } from '../../utils/array.mjs';\n\nclass NodeStack {\n    constructor() {\n        this.members = [];\n    }\n    add(node) {\n        addUniqueItem(this.members, node);\n        node.scheduleRender();\n    }\n    remove(node) {\n        removeItem(this.members, node);\n        if (node === this.prevLead) {\n            this.prevLead = undefined;\n        }\n        if (node === this.lead) {\n            const prevLead = this.members[this.members.length - 1];\n            if (prevLead) {\n                this.promote(prevLead);\n            }\n        }\n    }\n    relegate(node) {\n        const indexOfNode = this.members.findIndex((member) => node === member);\n        if (indexOfNode === 0)\n            return false;\n        /**\n         * Find the next projection node that is present\n         */\n        let prevLead;\n        for (let i = indexOfNode; i >= 0; i--) {\n            const member = this.members[i];\n            if (member.isPresent !== false) {\n                prevLead = member;\n                break;\n            }\n        }\n        if (prevLead) {\n            this.promote(prevLead);\n            return true;\n        }\n        else {\n            return false;\n        }\n    }\n    promote(node, preserveFollowOpacity) {\n        const prevLead = this.lead;\n        if (node === prevLead)\n            return;\n        this.prevLead = prevLead;\n        this.lead = node;\n        node.show();\n        if (prevLead) {\n            prevLead.instance && prevLead.scheduleRender();\n            node.scheduleRender();\n            node.resumeFrom = prevLead;\n            if (preserveFollowOpacity) {\n                node.resumeFrom.preserveOpacity = true;\n            }\n            if (prevLead.snapshot) {\n                node.snapshot = prevLead.snapshot;\n                node.snapshot.latestValues =\n                    prevLead.animationValues || prevLead.latestValues;\n            }\n            if (node.root && node.root.isUpdating) {\n                node.isLayoutDirty = true;\n            }\n            const { crossfade } = node.options;\n            if (crossfade === false) {\n                prevLead.hide();\n            }\n            /**\n             * TODO:\n             *   - Test border radius when previous node was deleted\n             *   - boxShadow mixing\n             *   - Shared between element A in scrolled container and element B (scroll stays the same or changes)\n             *   - Shared between element A in transformed container and element B (transform stays the same or changes)\n             *   - Shared between element A in scrolled page and element B (scroll stays the same or changes)\n             * ---\n             *   - Crossfade opacity of root nodes\n             *   - layoutId changes after animation\n             *   - layoutId changes mid animation\n             */\n        }\n    }\n    exitAnimationComplete() {\n        this.members.forEach((node) => {\n            const { options, resumingFrom } = node;\n            options.onExitComplete && options.onExitComplete();\n            if (resumingFrom) {\n                resumingFrom.options.onExitComplete &&\n                    resumingFrom.options.onExitComplete();\n            }\n        });\n    }\n    scheduleRender() {\n        this.members.forEach((node) => {\n            node.instance && node.scheduleRender(false);\n        });\n    }\n    /**\n     * Clear any leads that have been removed this render to prevent them from being\n     * used in future animations and to prevent memory leaks\n     */\n    removeLeadSnapshot() {\n        if (this.lead && this.lead.snapshot) {\n            this.lead.snapshot = undefined;\n        }\n    }\n}\n\nexport { NodeStack };\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n    let transform = \"\";\n    /**\n     * The translations we use to calculate are always relative to the viewport coordinate space.\n     * But when we apply scales, we also scale the coordinate space of an element and its children.\n     * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n     * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n     */\n    const xTranslate = delta.x.translate / treeScale.x;\n    const yTranslate = delta.y.translate / treeScale.y;\n    if (xTranslate || yTranslate) {\n        transform = `translate3d(${xTranslate}px, ${yTranslate}px, 0) `;\n    }\n    /**\n     * Apply scale correction for the tree transform.\n     * This will apply scale to the screen-orientated axes.\n     */\n    if (treeScale.x !== 1 || treeScale.y !== 1) {\n        transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n    }\n    if (latestTransform) {\n        const { rotate, rotateX, rotateY } = latestTransform;\n        if (rotate)\n            transform += `rotate(${rotate}deg) `;\n        if (rotateX)\n            transform += `rotateX(${rotateX}deg) `;\n        if (rotateY)\n            transform += `rotateY(${rotateY}deg) `;\n    }\n    /**\n     * Apply scale to match the size of the element to the size we want it.\n     * This will apply scale to the element-orientated axes.\n     */\n    const elementScaleX = delta.x.scale * treeScale.x;\n    const elementScaleY = delta.y.scale * treeScale.y;\n    if (elementScaleX !== 1 || elementScaleY !== 1) {\n        transform += `scale(${elementScaleX}, ${elementScaleY})`;\n    }\n    return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n","import { addUniqueItem, removeItem } from '../../utils/array.mjs';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n    constructor() {\n        this.children = [];\n        this.isDirty = false;\n    }\n    add(child) {\n        addUniqueItem(this.children, child);\n        this.isDirty = true;\n    }\n    remove(child) {\n        removeItem(this.children, child);\n        this.isDirty = true;\n    }\n    forEach(callback) {\n        this.isDirty && this.children.sort(compareByDepth);\n        this.isDirty = false;\n        this.children.forEach(callback);\n    }\n}\n\nexport { FlatTree };\n","import { SubscriptionManager } from '../../utils/subscription-manager.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcRelativePosition, calcRelativeBox, calcBoxDelta, calcLength, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { getValueTransition } from '../../animation/utils/transitions.mjs';\nimport { boxEqualsRounded, isDeltaZero, aspectRatio, boxEquals } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { FlatTree } from '../../render/utils/flat-tree.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { globalProjectionState } from './state.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { mix } from '../../utils/mix.mjs';\nimport { record } from '../../debug/record.mjs';\nimport { isSVGElement } from '../../render/dom/utils/is-svg-element.mjs';\nimport { animateSingleValue } from '../../animation/interfaces/single-value.mjs';\nimport { clamp } from '../../utils/clamp.mjs';\nimport { cancelFrame, frameData, steps, frame } from '../../frameloop/frame.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\n\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\nconst hiddenVisibility = { visibility: \"hidden\" };\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\n/**\n * Use a mutable data object for debug data so as to not create a new\n * object every frame.\n */\nconst projectionFrameData = {\n    type: \"projectionFrame\",\n    totalNodes: 0,\n    resolvedTargetDeltas: 0,\n    recalculatedProjection: 0,\n};\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n    return class ProjectionNode {\n        constructor(latestValues = {}, parent = defaultParent === null || defaultParent === void 0 ? void 0 : defaultParent()) {\n            /**\n             * A unique ID generated for every projection node.\n             */\n            this.id = id++;\n            /**\n             * An id that represents a unique session instigated by startUpdate.\n             */\n            this.animationId = 0;\n            /**\n             * A Set containing all this component's children. This is used to iterate\n             * through the children.\n             *\n             * TODO: This could be faster to iterate as a flat array stored on the root node.\n             */\n            this.children = new Set();\n            /**\n             * Options for the node. We use this to configure what kind of layout animations\n             * we should perform (if any).\n             */\n            this.options = {};\n            /**\n             * We use this to detect when its safe to shut down part of a projection tree.\n             * We have to keep projecting children for scale correction and relative projection\n             * until all their parents stop performing layout animations.\n             */\n            this.isTreeAnimating = false;\n            this.isAnimationBlocked = false;\n            /**\n             * Flag to true if we think this layout has been changed. We can't always know this,\n             * currently we set it to true every time a component renders, or if it has a layoutDependency\n             * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n             * and if one node is dirtied, they all are.\n             */\n            this.isLayoutDirty = false;\n            /**\n             * Flag to true if we think the projection calculations for this node needs\n             * recalculating as a result of an updated transform or layout animation.\n             */\n            this.isProjectionDirty = false;\n            /**\n             * Flag to true if the layout *or* transform has changed. This then gets propagated\n             * throughout the projection tree, forcing any element below to recalculate on the next frame.\n             */\n            this.isSharedProjectionDirty = false;\n            /**\n             * Flag transform dirty. This gets propagated throughout the whole tree but is only\n             * respected by shared nodes.\n             */\n            this.isTransformDirty = false;\n            /**\n             * Block layout updates for instant layout transitions throughout the tree.\n             */\n            this.updateManuallyBlocked = false;\n            this.updateBlockedByResize = false;\n            /**\n             * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n             * call.\n             */\n            this.isUpdating = false;\n            /**\n             * If this is an SVG element we currently disable projection transforms\n             */\n            this.isSVG = false;\n            /**\n             * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n             * its projection styles.\n             */\n            this.needsReset = false;\n            /**\n             * Flags whether this node should have its transform reset prior to measuring.\n             */\n            this.shouldResetTransform = false;\n            /**\n             * An object representing the calculated contextual/accumulated/tree scale.\n             * This will be used to scale calculcated projection transforms, as these are\n             * calculated in screen-space but need to be scaled for elements to layoutly\n             * make it to their calculated destinations.\n             *\n             * TODO: Lazy-init\n             */\n            this.treeScale = { x: 1, y: 1 };\n            /**\n             *\n             */\n            this.eventHandlers = new Map();\n            this.hasTreeAnimated = false;\n            // Note: Currently only running on root node\n            this.updateScheduled = false;\n            this.projectionUpdateScheduled = false;\n            this.checkUpdateFailed = () => {\n                if (this.isUpdating) {\n                    this.isUpdating = false;\n                    this.clearAllSnapshots();\n                }\n            };\n            /**\n             * This is a multi-step process as shared nodes might be of different depths. Nodes\n             * are sorted by depth order, so we need to resolve the entire tree before moving to\n             * the next step.\n             */\n            this.updateProjection = () => {\n                this.projectionUpdateScheduled = false;\n                /**\n                 * Reset debug counts. Manually resetting rather than creating a new\n                 * object each frame.\n                 */\n                projectionFrameData.totalNodes =\n                    projectionFrameData.resolvedTargetDeltas =\n                        projectionFrameData.recalculatedProjection =\n                            0;\n                this.nodes.forEach(propagateDirtyNodes);\n                this.nodes.forEach(resolveTargetDelta);\n                this.nodes.forEach(calcProjection);\n                this.nodes.forEach(cleanDirtyNodes);\n                record(projectionFrameData);\n            };\n            this.hasProjected = false;\n            this.isVisible = true;\n            this.animationProgress = 0;\n            /**\n             * Shared layout\n             */\n            // TODO Only running on root node\n            this.sharedNodes = new Map();\n            this.latestValues = latestValues;\n            this.root = parent ? parent.root || parent : this;\n            this.path = parent ? [...parent.path, parent] : [];\n            this.parent = parent;\n            this.depth = parent ? parent.depth + 1 : 0;\n            for (let i = 0; i < this.path.length; i++) {\n                this.path[i].shouldResetTransform = true;\n            }\n            if (this.root === this)\n                this.nodes = new FlatTree();\n        }\n        addEventListener(name, handler) {\n            if (!this.eventHandlers.has(name)) {\n                this.eventHandlers.set(name, new SubscriptionManager());\n            }\n            return this.eventHandlers.get(name).add(handler);\n        }\n        notifyListeners(name, ...args) {\n            const subscriptionManager = this.eventHandlers.get(name);\n            subscriptionManager && subscriptionManager.notify(...args);\n        }\n        hasListeners(name) {\n            return this.eventHandlers.has(name);\n        }\n        /**\n         * Lifecycles\n         */\n        mount(instance, isLayoutDirty = this.root.hasTreeAnimated) {\n            if (this.instance)\n                return;\n            this.isSVG = isSVGElement(instance);\n            this.instance = instance;\n            const { layoutId, layout, visualElement } = this.options;\n            if (visualElement && !visualElement.current) {\n                visualElement.mount(instance);\n            }\n            this.root.nodes.add(this);\n            this.parent && this.parent.children.add(this);\n            if (isLayoutDirty && (layout || layoutId)) {\n                this.isLayoutDirty = true;\n            }\n            if (attachResizeListener) {\n                let cancelDelay;\n                const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n                attachResizeListener(instance, () => {\n                    this.root.updateBlockedByResize = true;\n                    cancelDelay && cancelDelay();\n                    cancelDelay = delay(resizeUnblockUpdate, 250);\n                    if (globalProjectionState.hasAnimatedSinceResize) {\n                        globalProjectionState.hasAnimatedSinceResize = false;\n                        this.nodes.forEach(finishAnimation);\n                    }\n                });\n            }\n            if (layoutId) {\n                this.root.registerSharedNode(layoutId, this);\n            }\n            // Only register the handler if it requires layout animation\n            if (this.options.animate !== false &&\n                visualElement &&\n                (layoutId || layout)) {\n                this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeTargetChanged, layout: newLayout, }) => {\n                    if (this.isTreeAnimationBlocked()) {\n                        this.target = undefined;\n                        this.relativeTarget = undefined;\n                        return;\n                    }\n                    // TODO: Check here if an animation exists\n                    const layoutTransition = this.options.transition ||\n                        visualElement.getDefaultTransition() ||\n                        defaultLayoutTransition;\n                    const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n                    /**\n                     * The target layout of the element might stay the same,\n                     * but its position relative to its parent has changed.\n                     */\n                    const targetChanged = !this.targetLayout ||\n                        !boxEqualsRounded(this.targetLayout, newLayout) ||\n                        hasRelativeTargetChanged;\n                    /**\n                     * If the layout hasn't seemed to have changed, it might be that the\n                     * element is visually in the same place in the document but its position\n                     * relative to its parent has indeed changed. So here we check for that.\n                     */\n                    const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeTargetChanged;\n                    if (this.options.layoutRoot ||\n                        (this.resumeFrom && this.resumeFrom.instance) ||\n                        hasOnlyRelativeTargetChanged ||\n                        (hasLayoutChanged &&\n                            (targetChanged || !this.currentAnimation))) {\n                        if (this.resumeFrom) {\n                            this.resumingFrom = this.resumeFrom;\n                            this.resumingFrom.resumingFrom = undefined;\n                        }\n                        this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n                        const animationOptions = {\n                            ...getValueTransition(layoutTransition, \"layout\"),\n                            onPlay: onLayoutAnimationStart,\n                            onComplete: onLayoutAnimationComplete,\n                        };\n                        if (visualElement.shouldReduceMotion ||\n                            this.options.layoutRoot) {\n                            animationOptions.delay = 0;\n                            animationOptions.type = false;\n                        }\n                        this.startAnimation(animationOptions);\n                    }\n                    else {\n                        /**\n                         * If the layout hasn't changed and we have an animation that hasn't started yet,\n                         * finish it immediately. Otherwise it will be animating from a location\n                         * that was probably never commited to screen and look like a jumpy box.\n                         */\n                        if (!hasLayoutChanged) {\n                            finishAnimation(this);\n                        }\n                        if (this.isLead() && this.options.onExitComplete) {\n                            this.options.onExitComplete();\n                        }\n                    }\n                    this.targetLayout = newLayout;\n                });\n            }\n        }\n        unmount() {\n            this.options.layoutId && this.willUpdate();\n            this.root.nodes.remove(this);\n            const stack = this.getStack();\n            stack && stack.remove(this);\n            this.parent && this.parent.children.delete(this);\n            this.instance = undefined;\n            cancelFrame(this.updateProjection);\n        }\n        // only on the root\n        blockUpdate() {\n            this.updateManuallyBlocked = true;\n        }\n        unblockUpdate() {\n            this.updateManuallyBlocked = false;\n        }\n        isUpdateBlocked() {\n            return this.updateManuallyBlocked || this.updateBlockedByResize;\n        }\n        isTreeAnimationBlocked() {\n            return (this.isAnimationBlocked ||\n                (this.parent && this.parent.isTreeAnimationBlocked()) ||\n                false);\n        }\n        // Note: currently only running on root node\n        startUpdate() {\n            if (this.isUpdateBlocked())\n                return;\n            this.isUpdating = true;\n            this.nodes && this.nodes.forEach(resetRotation);\n            this.animationId++;\n        }\n        getTransformTemplate() {\n            const { visualElement } = this.options;\n            return visualElement && visualElement.getProps().transformTemplate;\n        }\n        willUpdate(shouldNotifyListeners = true) {\n            this.root.hasTreeAnimated = true;\n            if (this.root.isUpdateBlocked()) {\n                this.options.onExitComplete && this.options.onExitComplete();\n                return;\n            }\n            !this.root.isUpdating && this.root.startUpdate();\n            if (this.isLayoutDirty)\n                return;\n            this.isLayoutDirty = true;\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                node.shouldResetTransform = true;\n                node.updateScroll(\"snapshot\");\n                if (node.options.layoutRoot) {\n                    node.willUpdate(false);\n                }\n            }\n            const { layoutId, layout } = this.options;\n            if (layoutId === undefined && !layout)\n                return;\n            const transformTemplate = this.getTransformTemplate();\n            this.prevTransformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            this.updateSnapshot();\n            shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n        }\n        update() {\n            this.updateScheduled = false;\n            const updateWasBlocked = this.isUpdateBlocked();\n            // When doing an instant transition, we skip the layout update,\n            // but should still clean up the measurements so that the next\n            // snapshot could be taken correctly.\n            if (updateWasBlocked) {\n                this.unblockUpdate();\n                this.clearAllSnapshots();\n                this.nodes.forEach(clearMeasurements);\n                return;\n            }\n            if (!this.isUpdating) {\n                this.nodes.forEach(clearIsLayoutDirty);\n            }\n            this.isUpdating = false;\n            /**\n             * Write\n             */\n            this.nodes.forEach(resetTransformStyle);\n            /**\n             * Read ==================\n             */\n            // Update layout measurements of updated children\n            this.nodes.forEach(updateLayout);\n            /**\n             * Write\n             */\n            // Notify listeners that the layout is updated\n            this.nodes.forEach(notifyLayoutUpdate);\n            this.clearAllSnapshots();\n            /**\n             * Manually flush any pending updates. Ideally\n             * we could leave this to the following requestAnimationFrame but this seems\n             * to leave a flash of incorrectly styled content.\n             */\n            const now = time.now();\n            frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n            frameData.timestamp = now;\n            frameData.isProcessing = true;\n            steps.update.process(frameData);\n            steps.preRender.process(frameData);\n            steps.render.process(frameData);\n            frameData.isProcessing = false;\n        }\n        didUpdate() {\n            if (!this.updateScheduled) {\n                this.updateScheduled = true;\n                microtask.read(() => this.update());\n            }\n        }\n        clearAllSnapshots() {\n            this.nodes.forEach(clearSnapshot);\n            this.sharedNodes.forEach(removeLeadSnapshots);\n        }\n        scheduleUpdateProjection() {\n            if (!this.projectionUpdateScheduled) {\n                this.projectionUpdateScheduled = true;\n                frame.preRender(this.updateProjection, false, true);\n            }\n        }\n        scheduleCheckAfterUnmount() {\n            /**\n             * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n             * we manually call didUpdate to give a chance to the siblings to animate.\n             * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n             */\n            frame.postRender(() => {\n                if (this.isLayoutDirty) {\n                    this.root.didUpdate();\n                }\n                else {\n                    this.root.checkUpdateFailed();\n                }\n            });\n        }\n        /**\n         * Update measurements\n         */\n        updateSnapshot() {\n            if (this.snapshot || !this.instance)\n                return;\n            this.snapshot = this.measure();\n        }\n        updateLayout() {\n            if (!this.instance)\n                return;\n            // TODO: Incorporate into a forwarded scroll offset\n            this.updateScroll();\n            if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n                !this.isLayoutDirty) {\n                return;\n            }\n            /**\n             * When a node is mounted, it simply resumes from the prevLead's\n             * snapshot instead of taking a new one, but the ancestors scroll\n             * might have updated while the prevLead is unmounted. We need to\n             * update the scroll again to make sure the layout we measure is\n             * up to date.\n             */\n            if (this.resumeFrom && !this.resumeFrom.instance) {\n                for (let i = 0; i < this.path.length; i++) {\n                    const node = this.path[i];\n                    node.updateScroll();\n                }\n            }\n            const prevLayout = this.layout;\n            this.layout = this.measure(false);\n            this.layoutCorrected = createBox();\n            this.isLayoutDirty = false;\n            this.projectionDelta = undefined;\n            this.notifyListeners(\"measure\", this.layout.layoutBox);\n            const { visualElement } = this.options;\n            visualElement &&\n                visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n        }\n        updateScroll(phase = \"measure\") {\n            let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n            if (this.scroll &&\n                this.scroll.animationId === this.root.animationId &&\n                this.scroll.phase === phase) {\n                needsMeasurement = false;\n            }\n            if (needsMeasurement) {\n                this.scroll = {\n                    animationId: this.root.animationId,\n                    phase,\n                    isRoot: checkIsScrollRoot(this.instance),\n                    offset: measureScroll(this.instance),\n                };\n            }\n        }\n        resetTransform() {\n            if (!resetTransform)\n                return;\n            const isResetRequested = this.isLayoutDirty || this.shouldResetTransform;\n            const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n            const transformTemplate = this.getTransformTemplate();\n            const transformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n            if (isResetRequested &&\n                (hasProjection ||\n                    hasTransform(this.latestValues) ||\n                    transformTemplateHasChanged)) {\n                resetTransform(this.instance, transformTemplateValue);\n                this.shouldResetTransform = false;\n                this.scheduleRender();\n            }\n        }\n        measure(removeTransform = true) {\n            const pageBox = this.measurePageBox();\n            let layoutBox = this.removeElementScroll(pageBox);\n            /**\n             * Measurements taken during the pre-render stage\n             * still have transforms applied so we remove them\n             * via calculation.\n             */\n            if (removeTransform) {\n                layoutBox = this.removeTransform(layoutBox);\n            }\n            roundBox(layoutBox);\n            return {\n                animationId: this.root.animationId,\n                measuredBox: pageBox,\n                layoutBox,\n                latestValues: {},\n                source: this.id,\n            };\n        }\n        measurePageBox() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return createBox();\n            const box = visualElement.measureViewportBox();\n            // Remove viewport scroll to give page-relative coordinates\n            const { scroll } = this.root;\n            if (scroll) {\n                translateAxis(box.x, scroll.offset.x);\n                translateAxis(box.y, scroll.offset.y);\n            }\n            return box;\n        }\n        removeElementScroll(box) {\n            const boxWithoutScroll = createBox();\n            copyBoxInto(boxWithoutScroll, box);\n            /**\n             * Performance TODO: Keep a cumulative scroll offset down the tree\n             * rather than loop back up the path.\n             */\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                const { scroll, options } = node;\n                if (node !== this.root && scroll && options.layoutScroll) {\n                    /**\n                     * If this is a new scroll root, we want to remove all previous scrolls\n                     * from the viewport box.\n                     */\n                    if (scroll.isRoot) {\n                        copyBoxInto(boxWithoutScroll, box);\n                        const { scroll: rootScroll } = this.root;\n                        /**\n                         * Undo the application of page scroll that was originally added\n                         * to the measured bounding box.\n                         */\n                        if (rootScroll) {\n                            translateAxis(boxWithoutScroll.x, -rootScroll.offset.x);\n                            translateAxis(boxWithoutScroll.y, -rootScroll.offset.y);\n                        }\n                    }\n                    translateAxis(boxWithoutScroll.x, scroll.offset.x);\n                    translateAxis(boxWithoutScroll.y, scroll.offset.y);\n                }\n            }\n            return boxWithoutScroll;\n        }\n        applyTransform(box, transformOnly = false) {\n            const withTransforms = createBox();\n            copyBoxInto(withTransforms, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!transformOnly &&\n                    node.options.layoutScroll &&\n                    node.scroll &&\n                    node !== node.root) {\n                    transformBox(withTransforms, {\n                        x: -node.scroll.offset.x,\n                        y: -node.scroll.offset.y,\n                    });\n                }\n                if (!hasTransform(node.latestValues))\n                    continue;\n                transformBox(withTransforms, node.latestValues);\n            }\n            if (hasTransform(this.latestValues)) {\n                transformBox(withTransforms, this.latestValues);\n            }\n            return withTransforms;\n        }\n        removeTransform(box) {\n            const boxWithoutTransform = createBox();\n            copyBoxInto(boxWithoutTransform, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!node.instance)\n                    continue;\n                if (!hasTransform(node.latestValues))\n                    continue;\n                hasScale(node.latestValues) && node.updateSnapshot();\n                const sourceBox = createBox();\n                const nodeBox = node.measurePageBox();\n                copyBoxInto(sourceBox, nodeBox);\n                removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot ? node.snapshot.layoutBox : undefined, sourceBox);\n            }\n            if (hasTransform(this.latestValues)) {\n                removeBoxTransforms(boxWithoutTransform, this.latestValues);\n            }\n            return boxWithoutTransform;\n        }\n        setTargetDelta(delta) {\n            this.targetDelta = delta;\n            this.root.scheduleUpdateProjection();\n            this.isProjectionDirty = true;\n        }\n        setOptions(options) {\n            this.options = {\n                ...this.options,\n                ...options,\n                crossfade: options.crossfade !== undefined ? options.crossfade : true,\n            };\n        }\n        clearMeasurements() {\n            this.scroll = undefined;\n            this.layout = undefined;\n            this.snapshot = undefined;\n            this.prevTransformTemplateValue = undefined;\n            this.targetDelta = undefined;\n            this.target = undefined;\n            this.isLayoutDirty = false;\n        }\n        forceRelativeParentToResolveTarget() {\n            if (!this.relativeParent)\n                return;\n            /**\n             * If the parent target isn't up-to-date, force it to update.\n             * This is an unfortunate de-optimisation as it means any updating relative\n             * projection will cause all the relative parents to recalculate back\n             * up the tree.\n             */\n            if (this.relativeParent.resolvedRelativeTargetAt !==\n                frameData.timestamp) {\n                this.relativeParent.resolveTargetDelta(true);\n            }\n        }\n        resolveTargetDelta(forceRecalculation = false) {\n            var _a;\n            /**\n             * Once the dirty status of nodes has been spread through the tree, we also\n             * need to check if we have a shared node of a different depth that has itself\n             * been dirtied.\n             */\n            const lead = this.getLead();\n            this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n            this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n            this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            /**\n             * We don't use transform for this step of processing so we don't\n             * need to check whether any nodes have changed transform.\n             */\n            const canSkip = !(forceRecalculation ||\n                (isShared && this.isSharedProjectionDirty) ||\n                this.isProjectionDirty ||\n                ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.isProjectionDirty) ||\n                this.attemptToResolveRelativeTarget);\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If we have no layout, we can't perform projection, so early return\n             */\n            if (!this.layout || !(layout || layoutId))\n                return;\n            this.resolvedRelativeTargetAt = frameData.timestamp;\n            /**\n             * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n             * a relativeParent. This will allow a component to perform scale correction\n             * even if no animation has started.\n             */\n            if (!this.targetDelta && !this.relativeTarget) {\n                const relativeParent = this.getClosestProjectingParent();\n                if (relativeParent &&\n                    relativeParent.layout &&\n                    this.animationProgress !== 1) {\n                    this.relativeParent = relativeParent;\n                    this.forceRelativeParentToResolveTarget();\n                    this.relativeTarget = createBox();\n                    this.relativeTargetOrigin = createBox();\n                    calcRelativePosition(this.relativeTargetOrigin, this.layout.layoutBox, relativeParent.layout.layoutBox);\n                    copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n                }\n                else {\n                    this.relativeParent = this.relativeTarget = undefined;\n                }\n            }\n            /**\n             * If we have no relative target or no target delta our target isn't valid\n             * for this frame.\n             */\n            if (!this.relativeTarget && !this.targetDelta)\n                return;\n            /**\n             * Lazy-init target data structure\n             */\n            if (!this.target) {\n                this.target = createBox();\n                this.targetWithTransforms = createBox();\n            }\n            /**\n             * If we've got a relative box for this component, resolve it into a target relative to the parent.\n             */\n            if (this.relativeTarget &&\n                this.relativeTargetOrigin &&\n                this.relativeParent &&\n                this.relativeParent.target) {\n                this.forceRelativeParentToResolveTarget();\n                calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target);\n                /**\n                 * If we've only got a targetDelta, resolve it into a target\n                 */\n            }\n            else if (this.targetDelta) {\n                if (Boolean(this.resumingFrom)) {\n                    // TODO: This is creating a new object every frame\n                    this.target = this.applyTransform(this.layout.layoutBox);\n                }\n                else {\n                    copyBoxInto(this.target, this.layout.layoutBox);\n                }\n                applyBoxDelta(this.target, this.targetDelta);\n            }\n            else {\n                /**\n                 * If no target, use own layout as target\n                 */\n                copyBoxInto(this.target, this.layout.layoutBox);\n            }\n            /**\n             * If we've been told to attempt to resolve a relative target, do so.\n             */\n            if (this.attemptToResolveRelativeTarget) {\n                this.attemptToResolveRelativeTarget = false;\n                const relativeParent = this.getClosestProjectingParent();\n                if (relativeParent &&\n                    Boolean(relativeParent.resumingFrom) ===\n                        Boolean(this.resumingFrom) &&\n                    !relativeParent.options.layoutScroll &&\n                    relativeParent.target &&\n                    this.animationProgress !== 1) {\n                    this.relativeParent = relativeParent;\n                    this.forceRelativeParentToResolveTarget();\n                    this.relativeTarget = createBox();\n                    this.relativeTargetOrigin = createBox();\n                    calcRelativePosition(this.relativeTargetOrigin, this.target, relativeParent.target);\n                    copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n                }\n                else {\n                    this.relativeParent = this.relativeTarget = undefined;\n                }\n            }\n            /**\n             * Increase debug counter for resolved target deltas\n             */\n            projectionFrameData.resolvedTargetDeltas++;\n        }\n        getClosestProjectingParent() {\n            if (!this.parent ||\n                hasScale(this.parent.latestValues) ||\n                has2DTranslate(this.parent.latestValues)) {\n                return undefined;\n            }\n            if (this.parent.isProjecting()) {\n                return this.parent;\n            }\n            else {\n                return this.parent.getClosestProjectingParent();\n            }\n        }\n        isProjecting() {\n            return Boolean((this.relativeTarget ||\n                this.targetDelta ||\n                this.options.layoutRoot) &&\n                this.layout);\n        }\n        calcProjection() {\n            var _a;\n            const lead = this.getLead();\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            let canSkip = true;\n            /**\n             * If this is a normal layout animation and neither this node nor its nearest projecting\n             * is dirty then we can't skip.\n             */\n            if (this.isProjectionDirty || ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.isProjectionDirty)) {\n                canSkip = false;\n            }\n            /**\n             * If this is a shared layout animation and this node's shared projection is dirty then\n             * we can't skip.\n             */\n            if (isShared &&\n                (this.isSharedProjectionDirty || this.isTransformDirty)) {\n                canSkip = false;\n            }\n            /**\n             * If we have resolved the target this frame we must recalculate the\n             * projection to ensure it visually represents the internal calculations.\n             */\n            if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n                canSkip = false;\n            }\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If this section of the tree isn't animating we can\n             * delete our target sources for the following frame.\n             */\n            this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n                this.currentAnimation ||\n                this.pendingAnimation);\n            if (!this.isTreeAnimating) {\n                this.targetDelta = this.relativeTarget = undefined;\n            }\n            if (!this.layout || !(layout || layoutId))\n                return;\n            /**\n             * Reset the corrected box with the latest values from box, as we're then going\n             * to perform mutative operations on it.\n             */\n            copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n            /**\n             * Record previous tree scales before updating.\n             */\n            const prevTreeScaleX = this.treeScale.x;\n            const prevTreeScaleY = this.treeScale.y;\n            /**\n             * Apply all the parent deltas to this box to produce the corrected box. This\n             * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n             */\n            applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n            /**\n             * If this layer needs to perform scale correction but doesn't have a target,\n             * use the layout as the target.\n             */\n            if (lead.layout &&\n                !lead.target &&\n                (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n                lead.target = lead.layout.layoutBox;\n                lead.targetWithTransforms = createBox();\n            }\n            const { target } = lead;\n            if (!target) {\n                /**\n                 * If we don't have a target to project into, but we were previously\n                 * projecting, we want to remove the stored transform and schedule\n                 * a render to ensure the elements reflect the removed transform.\n                 */\n                if (this.projectionTransform) {\n                    this.projectionDelta = createDelta();\n                    this.projectionTransform = \"none\";\n                    this.scheduleRender();\n                }\n                return;\n            }\n            if (!this.projectionDelta) {\n                this.projectionDelta = createDelta();\n                this.projectionDeltaWithTransform = createDelta();\n            }\n            const prevProjectionTransform = this.projectionTransform;\n            /**\n             * Update the delta between the corrected box and the target box before user-set transforms were applied.\n             * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n             * for our layout reprojection, but still allow them to be scaled correctly by the user.\n             * It might be that to simplify this we may want to accept that user-set scale is also corrected\n             * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n             * to allow people to choose whether these styles are corrected based on just the\n             * layout reprojection or the final bounding box.\n             */\n            calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n            this.projectionTransform = buildProjectionTransform(this.projectionDelta, this.treeScale);\n            if (this.projectionTransform !== prevProjectionTransform ||\n                this.treeScale.x !== prevTreeScaleX ||\n                this.treeScale.y !== prevTreeScaleY) {\n                this.hasProjected = true;\n                this.scheduleRender();\n                this.notifyListeners(\"projectionUpdate\", target);\n            }\n            /**\n             * Increase debug counter for recalculated projections\n             */\n            projectionFrameData.recalculatedProjection++;\n        }\n        hide() {\n            this.isVisible = false;\n            // TODO: Schedule render\n        }\n        show() {\n            this.isVisible = true;\n            // TODO: Schedule render\n        }\n        scheduleRender(notifyAll = true) {\n            this.options.scheduleRender && this.options.scheduleRender();\n            if (notifyAll) {\n                const stack = this.getStack();\n                stack && stack.scheduleRender();\n            }\n            if (this.resumingFrom && !this.resumingFrom.instance) {\n                this.resumingFrom = undefined;\n            }\n        }\n        setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n            const snapshot = this.snapshot;\n            const snapshotLatestValues = snapshot\n                ? snapshot.latestValues\n                : {};\n            const mixedValues = { ...this.latestValues };\n            const targetDelta = createDelta();\n            if (!this.relativeParent ||\n                !this.relativeParent.options.layoutRoot) {\n                this.relativeTarget = this.relativeTargetOrigin = undefined;\n            }\n            this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n            const relativeLayout = createBox();\n            const snapshotSource = snapshot ? snapshot.source : undefined;\n            const layoutSource = this.layout ? this.layout.source : undefined;\n            const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n            const stack = this.getStack();\n            const isOnlyMember = !stack || stack.members.length <= 1;\n            const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n                !isOnlyMember &&\n                this.options.crossfade === true &&\n                !this.path.some(hasOpacityCrossfade));\n            this.animationProgress = 0;\n            let prevRelativeTarget;\n            this.mixTargetDelta = (latest) => {\n                const progress = latest / 1000;\n                mixAxisDelta(targetDelta.x, delta.x, progress);\n                mixAxisDelta(targetDelta.y, delta.y, progress);\n                this.setTargetDelta(targetDelta);\n                if (this.relativeTarget &&\n                    this.relativeTargetOrigin &&\n                    this.layout &&\n                    this.relativeParent &&\n                    this.relativeParent.layout) {\n                    calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox);\n                    mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n                    /**\n                     * If this is an unchanged relative target we can consider the\n                     * projection not dirty.\n                     */\n                    if (prevRelativeTarget &&\n                        boxEquals(this.relativeTarget, prevRelativeTarget)) {\n                        this.isProjectionDirty = false;\n                    }\n                    if (!prevRelativeTarget)\n                        prevRelativeTarget = createBox();\n                    copyBoxInto(prevRelativeTarget, this.relativeTarget);\n                }\n                if (isSharedLayoutAnimation) {\n                    this.animationValues = mixedValues;\n                    mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n                }\n                this.root.scheduleUpdateProjection();\n                this.scheduleRender();\n                this.animationProgress = progress;\n            };\n            this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n        }\n        startAnimation(options) {\n            this.notifyListeners(\"animationStart\");\n            this.currentAnimation && this.currentAnimation.stop();\n            if (this.resumingFrom && this.resumingFrom.currentAnimation) {\n                this.resumingFrom.currentAnimation.stop();\n            }\n            if (this.pendingAnimation) {\n                cancelFrame(this.pendingAnimation);\n                this.pendingAnimation = undefined;\n            }\n            /**\n             * Start the animation in the next frame to have a frame with progress 0,\n             * where the target is the same as when the animation started, so we can\n             * calculate the relative positions correctly for instant transitions.\n             */\n            this.pendingAnimation = frame.update(() => {\n                globalProjectionState.hasAnimatedSinceResize = true;\n                this.currentAnimation = animateSingleValue(0, animationTarget, {\n                    ...options,\n                    onUpdate: (latest) => {\n                        this.mixTargetDelta(latest);\n                        options.onUpdate && options.onUpdate(latest);\n                    },\n                    onComplete: () => {\n                        options.onComplete && options.onComplete();\n                        this.completeAnimation();\n                    },\n                });\n                if (this.resumingFrom) {\n                    this.resumingFrom.currentAnimation = this.currentAnimation;\n                }\n                this.pendingAnimation = undefined;\n            });\n        }\n        completeAnimation() {\n            if (this.resumingFrom) {\n                this.resumingFrom.currentAnimation = undefined;\n                this.resumingFrom.preserveOpacity = undefined;\n            }\n            const stack = this.getStack();\n            stack && stack.exitAnimationComplete();\n            this.resumingFrom =\n                this.currentAnimation =\n                    this.animationValues =\n                        undefined;\n            this.notifyListeners(\"animationComplete\");\n        }\n        finishAnimation() {\n            if (this.currentAnimation) {\n                this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n                this.currentAnimation.stop();\n            }\n            this.completeAnimation();\n        }\n        applyTransformsToTarget() {\n            const lead = this.getLead();\n            let { targetWithTransforms, target, layout, latestValues } = lead;\n            if (!targetWithTransforms || !target || !layout)\n                return;\n            /**\n             * If we're only animating position, and this element isn't the lead element,\n             * then instead of projecting into the lead box we instead want to calculate\n             * a new target that aligns the two boxes but maintains the layout shape.\n             */\n            if (this !== lead &&\n                this.layout &&\n                layout &&\n                shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n                target = this.target || createBox();\n                const xLength = calcLength(this.layout.layoutBox.x);\n                target.x.min = lead.target.x.min;\n                target.x.max = target.x.min + xLength;\n                const yLength = calcLength(this.layout.layoutBox.y);\n                target.y.min = lead.target.y.min;\n                target.y.max = target.y.min + yLength;\n            }\n            copyBoxInto(targetWithTransforms, target);\n            /**\n             * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n             * This is the final box that we will then project into by calculating a transform delta and\n             * applying it to the corrected box.\n             */\n            transformBox(targetWithTransforms, latestValues);\n            /**\n             * Update the delta between the corrected box and the final target box, after\n             * user-set transforms are applied to it. This will be used by the renderer to\n             * create a transform style that will reproject the element from its layout layout\n             * into the desired bounding box.\n             */\n            calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n        }\n        registerSharedNode(layoutId, node) {\n            if (!this.sharedNodes.has(layoutId)) {\n                this.sharedNodes.set(layoutId, new NodeStack());\n            }\n            const stack = this.sharedNodes.get(layoutId);\n            stack.add(node);\n            const config = node.options.initialPromotionConfig;\n            node.promote({\n                transition: config ? config.transition : undefined,\n                preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n                    ? config.shouldPreserveFollowOpacity(node)\n                    : undefined,\n            });\n        }\n        isLead() {\n            const stack = this.getStack();\n            return stack ? stack.lead === this : true;\n        }\n        getLead() {\n            var _a;\n            const { layoutId } = this.options;\n            return layoutId ? ((_a = this.getStack()) === null || _a === void 0 ? void 0 : _a.lead) || this : this;\n        }\n        getPrevLead() {\n            var _a;\n            const { layoutId } = this.options;\n            return layoutId ? (_a = this.getStack()) === null || _a === void 0 ? void 0 : _a.prevLead : undefined;\n        }\n        getStack() {\n            const { layoutId } = this.options;\n            if (layoutId)\n                return this.root.sharedNodes.get(layoutId);\n        }\n        promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n            const stack = this.getStack();\n            if (stack)\n                stack.promote(this, preserveFollowOpacity);\n            if (needsReset) {\n                this.projectionDelta = undefined;\n                this.needsReset = true;\n            }\n            if (transition)\n                this.setOptions({ transition });\n        }\n        relegate() {\n            const stack = this.getStack();\n            if (stack) {\n                return stack.relegate(this);\n            }\n            else {\n                return false;\n            }\n        }\n        resetRotation() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return;\n            // If there's no detected rotation values, we can early return without a forced render.\n            let hasRotate = false;\n            /**\n             * An unrolled check for rotation values. Most elements don't have any rotation and\n             * skipping the nested loop and new object creation is 50% faster.\n             */\n            const { latestValues } = visualElement;\n            if (latestValues.rotate ||\n                latestValues.rotateX ||\n                latestValues.rotateY ||\n                latestValues.rotateZ) {\n                hasRotate = true;\n            }\n            // If there's no rotation values, we don't need to do any more.\n            if (!hasRotate)\n                return;\n            const resetValues = {};\n            // Check the rotate value of all axes and reset to 0\n            for (let i = 0; i < transformAxes.length; i++) {\n                const key = \"rotate\" + transformAxes[i];\n                // Record the rotation and then temporarily set it to 0\n                if (latestValues[key]) {\n                    resetValues[key] = latestValues[key];\n                    visualElement.setStaticValue(key, 0);\n                }\n            }\n            // Force a render of this element to apply the transform with all rotations\n            // set to 0.\n            visualElement.render();\n            // Put back all the values we reset\n            for (const key in resetValues) {\n                visualElement.setStaticValue(key, resetValues[key]);\n            }\n            // Schedule a render for the next frame. This ensures we won't visually\n            // see the element with the reset rotate value applied.\n            visualElement.scheduleRender();\n        }\n        getProjectionStyles(styleProp) {\n            var _a, _b;\n            if (!this.instance || this.isSVG)\n                return undefined;\n            if (!this.isVisible) {\n                return hiddenVisibility;\n            }\n            const styles = {\n                visibility: \"\",\n            };\n            const transformTemplate = this.getTransformTemplate();\n            if (this.needsReset) {\n                this.needsReset = false;\n                styles.opacity = \"\";\n                styles.pointerEvents =\n                    resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\";\n                styles.transform = transformTemplate\n                    ? transformTemplate(this.latestValues, \"\")\n                    : \"none\";\n                return styles;\n            }\n            const lead = this.getLead();\n            if (!this.projectionDelta || !this.layout || !lead.target) {\n                const emptyStyles = {};\n                if (this.options.layoutId) {\n                    emptyStyles.opacity =\n                        this.latestValues.opacity !== undefined\n                            ? this.latestValues.opacity\n                            : 1;\n                    emptyStyles.pointerEvents =\n                        resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\";\n                }\n                if (this.hasProjected && !hasTransform(this.latestValues)) {\n                    emptyStyles.transform = transformTemplate\n                        ? transformTemplate({}, \"\")\n                        : \"none\";\n                    this.hasProjected = false;\n                }\n                return emptyStyles;\n            }\n            const valuesToRender = lead.animationValues || lead.latestValues;\n            this.applyTransformsToTarget();\n            styles.transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n            if (transformTemplate) {\n                styles.transform = transformTemplate(valuesToRender, styles.transform);\n            }\n            const { x, y } = this.projectionDelta;\n            styles.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n            if (lead.animationValues) {\n                /**\n                 * If the lead component is animating, assign this either the entering/leaving\n                 * opacity\n                 */\n                styles.opacity =\n                    lead === this\n                        ? (_b = (_a = valuesToRender.opacity) !== null && _a !== void 0 ? _a : this.latestValues.opacity) !== null && _b !== void 0 ? _b : 1\n                        : this.preserveOpacity\n                            ? this.latestValues.opacity\n                            : valuesToRender.opacityExit;\n            }\n            else {\n                /**\n                 * Or we're not animating at all, set the lead component to its layout\n                 * opacity and other components to hidden.\n                 */\n                styles.opacity =\n                    lead === this\n                        ? valuesToRender.opacity !== undefined\n                            ? valuesToRender.opacity\n                            : \"\"\n                        : valuesToRender.opacityExit !== undefined\n                            ? valuesToRender.opacityExit\n                            : 0;\n            }\n            /**\n             * Apply scale correction\n             */\n            for (const key in scaleCorrectors) {\n                if (valuesToRender[key] === undefined)\n                    continue;\n                const { correct, applyTo } = scaleCorrectors[key];\n                /**\n                 * Only apply scale correction to the value if we have an\n                 * active projection transform. Otherwise these values become\n                 * vulnerable to distortion if the element changes size without\n                 * a corresponding layout animation.\n                 */\n                const corrected = styles.transform === \"none\"\n                    ? valuesToRender[key]\n                    : correct(valuesToRender[key], lead);\n                if (applyTo) {\n                    const num = applyTo.length;\n                    for (let i = 0; i < num; i++) {\n                        styles[applyTo[i]] = corrected;\n                    }\n                }\n                else {\n                    styles[key] = corrected;\n                }\n            }\n            /**\n             * Disable pointer events on follow components. This is to ensure\n             * that if a follow component covers a lead component it doesn't block\n             * pointer events on the lead.\n             */\n            if (this.options.layoutId) {\n                styles.pointerEvents =\n                    lead === this\n                        ? resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\"\n                        : \"none\";\n            }\n            return styles;\n        }\n        clearSnapshot() {\n            this.resumeFrom = this.snapshot = undefined;\n        }\n        // Only run on root\n        resetTree() {\n            this.root.nodes.forEach((node) => { var _a; return (_a = node.currentAnimation) === null || _a === void 0 ? void 0 : _a.stop(); });\n            this.root.nodes.forEach(clearMeasurements);\n            this.root.sharedNodes.clear();\n        }\n    };\n}\nfunction updateLayout(node) {\n    node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n    var _a;\n    const snapshot = ((_a = node.resumeFrom) === null || _a === void 0 ? void 0 : _a.snapshot) || node.snapshot;\n    if (node.isLead() &&\n        node.layout &&\n        snapshot &&\n        node.hasListeners(\"didUpdate\")) {\n        const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n        const { animationType } = node.options;\n        const isShared = snapshot.source !== node.layout.source;\n        // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n        // animations for instance if layout=\"size\" and an element has only changed position\n        if (animationType === \"size\") {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(axisSnapshot);\n                axisSnapshot.min = layout[axis].min;\n                axisSnapshot.max = axisSnapshot.min + length;\n            });\n        }\n        else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(layout[axis]);\n                axisSnapshot.max = axisSnapshot.min + length;\n                /**\n                 * Ensure relative target gets resized and rerendererd\n                 */\n                if (node.relativeTarget && !node.currentAnimation) {\n                    node.isProjectionDirty = true;\n                    node.relativeTarget[axis].max =\n                        node.relativeTarget[axis].min + length;\n                }\n            });\n        }\n        const layoutDelta = createDelta();\n        calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n        const visualDelta = createDelta();\n        if (isShared) {\n            calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n        }\n        else {\n            calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n        }\n        const hasLayoutChanged = !isDeltaZero(layoutDelta);\n        let hasRelativeTargetChanged = false;\n        if (!node.resumeFrom) {\n            const relativeParent = node.getClosestProjectingParent();\n            /**\n             * If the relativeParent is itself resuming from a different element then\n             * the relative snapshot is not relavent\n             */\n            if (relativeParent && !relativeParent.resumeFrom) {\n                const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n                if (parentSnapshot && parentLayout) {\n                    const relativeSnapshot = createBox();\n                    calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox);\n                    const relativeLayout = createBox();\n                    calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox);\n                    if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n                        hasRelativeTargetChanged = true;\n                    }\n                    if (relativeParent.options.layoutRoot) {\n                        node.relativeTarget = relativeLayout;\n                        node.relativeTargetOrigin = relativeSnapshot;\n                        node.relativeParent = relativeParent;\n                    }\n                }\n            }\n        }\n        node.notifyListeners(\"didUpdate\", {\n            layout,\n            snapshot,\n            delta: visualDelta,\n            layoutDelta,\n            hasLayoutChanged,\n            hasRelativeTargetChanged,\n        });\n    }\n    else if (node.isLead()) {\n        const { onExitComplete } = node.options;\n        onExitComplete && onExitComplete();\n    }\n    /**\n     * Clearing transition\n     * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n     * and why we need it at all\n     */\n    node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n    /**\n     * Increase debug counter for nodes encountered this frame\n     */\n    projectionFrameData.totalNodes++;\n    if (!node.parent)\n        return;\n    /**\n     * If this node isn't projecting, propagate isProjectionDirty. It will have\n     * no performance impact but it will allow the next child that *is* projecting\n     * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n     * correcting.\n     */\n    if (!node.isProjecting()) {\n        node.isProjectionDirty = node.parent.isProjectionDirty;\n    }\n    /**\n     * Propagate isSharedProjectionDirty and isTransformDirty\n     * throughout the whole tree. A future revision can take another look at\n     * this but for safety we still recalcualte shared nodes.\n     */\n    node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n        node.parent.isProjectionDirty ||\n        node.parent.isSharedProjectionDirty));\n    node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n    node.isProjectionDirty =\n        node.isSharedProjectionDirty =\n            node.isTransformDirty =\n                false;\n}\nfunction clearSnapshot(node) {\n    node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n    node.clearMeasurements();\n}\nfunction clearIsLayoutDirty(node) {\n    node.isLayoutDirty = false;\n}\nfunction resetTransformStyle(node) {\n    const { visualElement } = node.options;\n    if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n        visualElement.notify(\"BeforeLayoutMeasure\");\n    }\n    node.resetTransform();\n}\nfunction finishAnimation(node) {\n    node.finishAnimation();\n    node.targetDelta = node.relativeTarget = node.target = undefined;\n    node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n    node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n    node.calcProjection();\n}\nfunction resetRotation(node) {\n    node.resetRotation();\n}\nfunction removeLeadSnapshots(stack) {\n    stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n    output.translate = mix(delta.translate, 0, p);\n    output.scale = mix(delta.scale, 1, p);\n    output.origin = delta.origin;\n    output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n    output.min = mix(from.min, to.min, p);\n    output.max = mix(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n    mixAxis(output.x, from.x, to.x, p);\n    mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n    return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n    duration: 0.45,\n    ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n    navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n    ? Math.round\n    : noop;\nfunction roundAxis(axis) {\n    // Round to the nearest .5 pixels to support subpixel layouts\n    axis.min = roundPoint(axis.min);\n    axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n    roundAxis(box.x);\n    roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n    return (animationType === \"position\" ||\n        (animationType === \"preserve-aspect\" &&\n            !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n","function record(data) {\n    if (window.MotionDebug) {\n        window.MotionDebug.record(data);\n    }\n}\n\nexport { record };\n","function isSVGElement(element) {\n    return element instanceof SVGElement && element.tagName !== \"svg\";\n}\n\nexport { isSVGElement };\n","import { time } from '../frameloop/sync-time.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n    const start = time.now();\n    const checkElapsed = ({ timestamp }) => {\n        const elapsed = timestamp - start;\n        if (elapsed >= timeout) {\n            cancelFrame(checkElapsed);\n            callback(elapsed - timeout);\n        }\n    };\n    frame.read(checkElapsed, true);\n    return () => cancelFrame(checkElapsed);\n}\n\nexport { delay };\n","import { animateMotionValue } from './motion-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n    const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n    motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n    return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n    attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n    measureScroll: () => ({\n        x: document.documentElement.scrollLeft || document.body.scrollLeft,\n        y: document.documentElement.scrollTop || document.body.scrollTop,\n    }),\n    checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n    current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n    measureScroll: (instance) => ({\n        x: instance.scrollLeft,\n        y: instance.scrollTop,\n    }),\n    defaultParent: () => {\n        if (!rootProjectionNode.current) {\n            const documentNode = new DocumentProjectionNode({});\n            documentNode.mount(window);\n            documentNode.setOptions({ layoutScroll: true });\n            rootProjectionNode.current = documentNode;\n        }\n        return rootProjectionNode.current;\n    },\n    resetTransform: (instance, value) => {\n        instance.style.transform = value !== undefined ? value : \"none\";\n    },\n    checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\n\nconst drag = {\n    pan: {\n        Feature: PanGesture,\n    },\n    drag: {\n        Feature: DragGesture,\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { drag };\n","import { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n    constructor(node) {\n        super(node);\n        this.removeGroupControls = noop;\n        this.removeListeners = noop;\n        this.controls = new VisualElementDragControls(node);\n    }\n    mount() {\n        // If we've been provided a DragControls for manual control over the drag gesture,\n        // subscribe this component to it on mount.\n        const { dragControls } = this.node.getProps();\n        if (dragControls) {\n            this.removeGroupControls = dragControls.subscribe(this.controls);\n        }\n        this.removeListeners = this.controls.addListeners() || noop;\n    }\n    unmount() {\n        this.removeGroupControls();\n        this.removeListeners();\n    }\n}\n\nexport { DragGesture };\n","import { invariant } from '../../../utils/errors.mjs';\nimport { isNumericalString } from '../../../utils/is-numerical-string.mjs';\nimport { isCSSVariableToken } from './is-css-variable.mjs';\n\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nconst splitCSSVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\nfunction parseCSSVariable(current) {\n    const match = splitCSSVariableRegex.exec(current);\n    if (!match)\n        return [,];\n    const [, token, fallback] = match;\n    return [token, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n    invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`);\n    const [token, fallback] = parseCSSVariable(current);\n    // No CSS variable detected\n    if (!token)\n        return;\n    // Attempt to read this CSS variable off the element\n    const resolved = window.getComputedStyle(element).getPropertyValue(token);\n    if (resolved) {\n        const trimmed = resolved.trim();\n        return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;\n    }\n    else if (isCSSVariableToken(fallback)) {\n        // The fallback might itself be a CSS variable, in which case we attempt to resolve it too.\n        return getVariableValue(fallback, element, depth + 1);\n    }\n    else {\n        return fallback;\n    }\n}\n/**\n * Resolve CSS variables from\n *\n * @internal\n */\nfunction resolveCSSVariables(visualElement, { ...target }, transitionEnd) {\n    const element = visualElement.current;\n    if (!(element instanceof Element))\n        return { target, transitionEnd };\n    // If `transitionEnd` isn't `undefined`, clone it. We could clone `target` and `transitionEnd`\n    // only if they change but I think this reads clearer and this isn't a performance-critical path.\n    if (transitionEnd) {\n        transitionEnd = { ...transitionEnd };\n    }\n    // Go through existing `MotionValue`s and ensure any existing CSS variables are resolved\n    visualElement.values.forEach((value) => {\n        const current = value.get();\n        if (!isCSSVariableToken(current))\n            return;\n        const resolved = getVariableValue(current, element);\n        if (resolved)\n            value.set(resolved);\n    });\n    // Cycle through every target property and resolve CSS variables. Currently\n    // we only read single-var properties like `var(--foo)`, not `calc(var(--foo) + 20px)`\n    for (const key in target) {\n        const current = target[key];\n        if (!isCSSVariableToken(current))\n            continue;\n        const resolved = getVariableValue(current, element);\n        if (!resolved)\n            continue;\n        // Clone target if it hasn't already been\n        target[key] = resolved;\n        if (!transitionEnd)\n            transitionEnd = {};\n        // If the user hasn't already set this key on `transitionEnd`, set it to the unresolved\n        // CSS variable. This will ensure that after the animation the component will reflect\n        // changes in the value of the CSS variable.\n        if (transitionEnd[key] === undefined) {\n            transitionEnd[key] = current;\n        }\n    }\n    return { target, transitionEnd };\n}\n\nexport { parseCSSVariable, resolveCSSVariables };\n","import { isKeyframesTarget } from '../../../animation/utils/is-keyframes-target.mjs';\nimport { invariant } from '../../../utils/errors.mjs';\nimport { transformPropOrder } from '../../html/utils/transform.mjs';\nimport { findDimensionValueType } from '../value-types/dimensions.mjs';\nimport { isBrowser } from '../../../utils/is-browser.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst positionalKeys = new Set([\n    \"width\",\n    \"height\",\n    \"top\",\n    \"left\",\n    \"right\",\n    \"bottom\",\n    \"x\",\n    \"y\",\n    \"translateX\",\n    \"translateY\",\n]);\nconst isPositionalKey = (key) => positionalKeys.has(key);\nconst hasPositionalKey = (target) => {\n    return Object.keys(target).some(isPositionalKey);\n};\nconst isNumOrPxType = (v) => v === number || v === px;\nconst getPosFromMatrix = (matrix, pos) => parseFloat(matrix.split(\", \")[pos]);\nconst getTranslateFromMatrix = (pos2, pos3) => (_bbox, { transform }) => {\n    if (transform === \"none\" || !transform)\n        return 0;\n    const matrix3d = transform.match(/^matrix3d\\((.+)\\)$/);\n    if (matrix3d) {\n        return getPosFromMatrix(matrix3d[1], pos3);\n    }\n    else {\n        const matrix = transform.match(/^matrix\\((.+)\\)$/);\n        if (matrix) {\n            return getPosFromMatrix(matrix[1], pos2);\n        }\n        else {\n            return 0;\n        }\n    }\n};\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));\nfunction removeNonTranslationalTransform(visualElement) {\n    const removedTransforms = [];\n    nonTranslationalTransformKeys.forEach((key) => {\n        const value = visualElement.getValue(key);\n        if (value !== undefined) {\n            removedTransforms.push([key, value.get()]);\n            value.set(key.startsWith(\"scale\") ? 1 : 0);\n        }\n    });\n    // Apply changes to element before measurement\n    if (removedTransforms.length)\n        visualElement.render();\n    return removedTransforms;\n}\nconst positionalValues = {\n    // Dimensions\n    width: ({ x }, { paddingLeft = \"0\", paddingRight = \"0\" }) => x.max - x.min - parseFloat(paddingLeft) - parseFloat(paddingRight),\n    height: ({ y }, { paddingTop = \"0\", paddingBottom = \"0\" }) => y.max - y.min - parseFloat(paddingTop) - parseFloat(paddingBottom),\n    top: (_bbox, { top }) => parseFloat(top),\n    left: (_bbox, { left }) => parseFloat(left),\n    bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),\n    right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),\n    // Transform\n    x: getTranslateFromMatrix(4, 13),\n    y: getTranslateFromMatrix(5, 14),\n};\n// Alias translate longform names\npositionalValues.translateX = positionalValues.x;\npositionalValues.translateY = positionalValues.y;\nconst convertChangedValueTypes = (target, visualElement, changedKeys) => {\n    const originBbox = visualElement.measureViewportBox();\n    const element = visualElement.current;\n    const elementComputedStyle = getComputedStyle(element);\n    const { display } = elementComputedStyle;\n    const origin = {};\n    // If the element is currently set to display: \"none\", make it visible before\n    // measuring the target bounding box\n    if (display === \"none\") {\n        visualElement.setStaticValue(\"display\", target.display || \"block\");\n    }\n    /**\n     * Record origins before we render and update styles\n     */\n    changedKeys.forEach((key) => {\n        origin[key] = positionalValues[key](originBbox, elementComputedStyle);\n    });\n    // Apply the latest values (as set in checkAndConvertChangedValueTypes)\n    visualElement.render();\n    const targetBbox = visualElement.measureViewportBox();\n    changedKeys.forEach((key) => {\n        // Restore styles to their **calculated computed style**, not their actual\n        // originally set style. This allows us to animate between equivalent pixel units.\n        const value = visualElement.getValue(key);\n        value && value.jump(origin[key]);\n        target[key] = positionalValues[key](targetBbox, elementComputedStyle);\n    });\n    return target;\n};\nconst checkAndConvertChangedValueTypes = (visualElement, target, origin = {}, transitionEnd = {}) => {\n    target = { ...target };\n    transitionEnd = { ...transitionEnd };\n    const targetPositionalKeys = Object.keys(target).filter(isPositionalKey);\n    // We want to remove any transform values that could affect the element's bounding box before\n    // it's measured. We'll reapply these later.\n    let removedTransformValues = [];\n    let hasAttemptedToRemoveTransformValues = false;\n    const changedValueTypeKeys = [];\n    targetPositionalKeys.forEach((key) => {\n        const value = visualElement.getValue(key);\n        if (!visualElement.hasValue(key))\n            return;\n        let from = origin[key];\n        let fromType = findDimensionValueType(from);\n        const to = target[key];\n        let toType;\n        // TODO: The current implementation of this basically throws an error\n        // if you try and do value conversion via keyframes. There's probably\n        // a way of doing this but the performance implications would need greater scrutiny,\n        // as it'd be doing multiple resize-remeasure operations.\n        if (isKeyframesTarget(to)) {\n            const numKeyframes = to.length;\n            const fromIndex = to[0] === null ? 1 : 0;\n            from = to[fromIndex];\n            fromType = findDimensionValueType(from);\n            for (let i = fromIndex; i < numKeyframes; i++) {\n                /**\n                 * Don't allow wildcard keyframes to be used to detect\n                 * a difference in value types.\n                 */\n                if (to[i] === null)\n                    break;\n                if (!toType) {\n                    toType = findDimensionValueType(to[i]);\n                    invariant(toType === fromType ||\n                        (isNumOrPxType(fromType) && isNumOrPxType(toType)), \"Keyframes must be of the same dimension as the current value\");\n                }\n                else {\n                    invariant(findDimensionValueType(to[i]) === toType, \"All keyframes must be of the same type\");\n                }\n            }\n        }\n        else {\n            toType = findDimensionValueType(to);\n        }\n        if (fromType !== toType) {\n            // If they're both just number or px, convert them both to numbers rather than\n            // relying on resize/remeasure to convert (which is wasteful in this situation)\n            if (isNumOrPxType(fromType) && isNumOrPxType(toType)) {\n                const current = value.get();\n                if (typeof current === \"string\") {\n                    value.set(parseFloat(current));\n                }\n                if (typeof to === \"string\") {\n                    target[key] = parseFloat(to);\n                }\n                else if (Array.isArray(to) && toType === px) {\n                    target[key] = to.map(parseFloat);\n                }\n            }\n            else if ((fromType === null || fromType === void 0 ? void 0 : fromType.transform) &&\n                (toType === null || toType === void 0 ? void 0 : toType.transform) &&\n                (from === 0 || to === 0)) {\n                // If one or the other value is 0, it's safe to coerce it to the\n                // type of the other without measurement\n                if (from === 0) {\n                    value.set(toType.transform(from));\n                }\n                else {\n                    target[key] = fromType.transform(to);\n                }\n            }\n            else {\n                // If we're going to do value conversion via DOM measurements, we first\n                // need to remove non-positional transform values that could affect the bbox measurements.\n                if (!hasAttemptedToRemoveTransformValues) {\n                    removedTransformValues =\n                        removeNonTranslationalTransform(visualElement);\n                    hasAttemptedToRemoveTransformValues = true;\n                }\n                changedValueTypeKeys.push(key);\n                transitionEnd[key] =\n                    transitionEnd[key] !== undefined\n                        ? transitionEnd[key]\n                        : target[key];\n                value.jump(to);\n            }\n        }\n    });\n    if (changedValueTypeKeys.length) {\n        const scrollY = changedValueTypeKeys.indexOf(\"height\") >= 0\n            ? window.pageYOffset\n            : null;\n        const convertedTarget = convertChangedValueTypes(target, visualElement, changedValueTypeKeys);\n        // If we removed transform values, reapply them before the next render\n        if (removedTransformValues.length) {\n            removedTransformValues.forEach(([key, value]) => {\n                visualElement.getValue(key).set(value);\n            });\n        }\n        // Reapply original values\n        visualElement.render();\n        // Restore scroll position\n        if (isBrowser && scrollY !== null) {\n            window.scrollTo({ top: scrollY });\n        }\n        return { target: convertedTarget, transitionEnd };\n    }\n    else {\n        return { target, transitionEnd };\n    }\n};\n/**\n * Convert value types for x/y/width/height/top/left/bottom/right\n *\n * Allows animation between `'auto'` -> `'100%'` or `0` -> `'calc(50% - 10vw)'`\n *\n * @internal\n */\nfunction unitConversion(visualElement, target, origin, transitionEnd) {\n    return hasPositionalKey(target)\n        ? checkAndConvertChangedValueTypes(visualElement, target, origin, transitionEnd)\n        : { target, transitionEnd };\n}\n\nexport { positionalValues, unitConversion };\n","import { resolveCSSVariables } from './css-variables-conversion.mjs';\nimport { unitConversion } from './unit-conversion.mjs';\n\n/**\n * Parse a DOM variant to make it animatable. This involves resolving CSS variables\n * and ensuring animations like \"20%\" => \"calc(50vw)\" are performed in pixels.\n */\nconst parseDomVariant = (visualElement, target, origin, transitionEnd) => {\n    const resolved = resolveCSSVariables(visualElement, target, transitionEnd);\n    target = resolved.target;\n    transitionEnd = resolved.transitionEnd;\n    return unitConversion(visualElement, target, origin, transitionEnd);\n};\n\nexport { parseDomVariant };\n","// Does this device prefer reduced motion? Returns `null` server-side.\nconst prefersReducedMotion = { current: null };\nconst hasReducedMotionListener = { current: false };\n\nexport { hasReducedMotionListener, prefersReducedMotion };\n","const visualElementStore = new WeakMap();\n\nexport { visualElementStore };\n","import { warning, invariant } from '../utils/errors.mjs';\nimport { createBox } from '../projection/geometry/models.mjs';\nimport { isRefObject } from '../utils/is-ref-object.mjs';\nimport { initPrefersReducedMotion } from '../utils/reduced-motion/index.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from '../utils/reduced-motion/state.mjs';\nimport { SubscriptionManager } from '../utils/subscription-manager.mjs';\nimport { motionValue } from '../value/index.mjs';\nimport { isWillChangeMotionValue } from '../value/use-will-change/is.mjs';\nimport { isMotionValue } from '../value/utils/is-motion-value.mjs';\nimport { transformProps } from './html/utils/transform.mjs';\nimport { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';\nimport { isVariantLabel } from './utils/is-variant-label.mjs';\nimport { updateMotionValuesFromProps } from './utils/motion-values.mjs';\nimport { resolveVariantFromProps } from './utils/resolve-variants.mjs';\nimport { warnOnce } from '../utils/warn-once.mjs';\nimport { featureDefinitions } from '../motion/features/definitions.mjs';\nimport { variantProps } from './utils/variant-props.mjs';\nimport { visualElementStore } from './store.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\nconst featureNames = Object.keys(featureDefinitions);\nconst numFeatures = featureNames.length;\nconst propEventHandlers = [\n    \"AnimationStart\",\n    \"AnimationComplete\",\n    \"Update\",\n    \"BeforeLayoutMeasure\",\n    \"LayoutMeasure\",\n    \"LayoutAnimationStart\",\n    \"LayoutAnimationComplete\",\n];\nconst numVariantProps = variantProps.length;\n/**\n * A VisualElement is an imperative abstraction around UI elements such as\n * HTMLElement, SVGElement, Three.Object3D etc.\n */\nclass VisualElement {\n    constructor({ parent, props, presenceContext, reducedMotionConfig, visualState, }, options = {}) {\n        /**\n         * A reference to the current underlying Instance, e.g. a HTMLElement\n         * or Three.Mesh etc.\n         */\n        this.current = null;\n        /**\n         * A set containing references to this VisualElement's children.\n         */\n        this.children = new Set();\n        /**\n         * Determine what role this visual element should take in the variant tree.\n         */\n        this.isVariantNode = false;\n        this.isControllingVariants = false;\n        /**\n         * Decides whether this VisualElement should animate in reduced motion\n         * mode.\n         *\n         * TODO: This is currently set on every individual VisualElement but feels\n         * like it could be set globally.\n         */\n        this.shouldReduceMotion = null;\n        /**\n         * A map of all motion values attached to this visual element. Motion\n         * values are source of truth for any given animated value. A motion\n         * value might be provided externally by the component via props.\n         */\n        this.values = new Map();\n        /**\n         * Cleanup functions for active features (hover/tap/exit etc)\n         */\n        this.features = {};\n        /**\n         * A map of every subscription that binds the provided or generated\n         * motion values onChange listeners to this visual element.\n         */\n        this.valueSubscriptions = new Map();\n        /**\n         * A reference to the previously-provided motion values as returned\n         * from scrapeMotionValuesFromProps. We use the keys in here to determine\n         * if any motion values need to be removed after props are updated.\n         */\n        this.prevMotionValues = {};\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        /**\n         * An object containing an unsubscribe function for each prop event subscription.\n         * For example, every \"Update\" event can have multiple subscribers via\n         * VisualElement.on(), but only one of those can be defined via the onUpdate prop.\n         */\n        this.propEventSubscriptions = {};\n        this.notifyUpdate = () => this.notify(\"Update\", this.latestValues);\n        this.render = () => {\n            if (!this.current)\n                return;\n            this.triggerBuild();\n            this.renderInstance(this.current, this.renderState, this.props.style, this.projection);\n        };\n        this.scheduleRender = () => frame.render(this.render, false, true);\n        const { latestValues, renderState } = visualState;\n        this.latestValues = latestValues;\n        this.baseTarget = { ...latestValues };\n        this.initialValues = props.initial ? { ...latestValues } : {};\n        this.renderState = renderState;\n        this.parent = parent;\n        this.props = props;\n        this.presenceContext = presenceContext;\n        this.depth = parent ? parent.depth + 1 : 0;\n        this.reducedMotionConfig = reducedMotionConfig;\n        this.options = options;\n        this.isControllingVariants = isControllingVariants(props);\n        this.isVariantNode = isVariantNode(props);\n        if (this.isVariantNode) {\n            this.variantChildren = new Set();\n        }\n        this.manuallyAnimateOnMount = Boolean(parent && parent.current);\n        /**\n         * Any motion values that are provided to the element when created\n         * aren't yet bound to the element, as this would technically be impure.\n         * However, we iterate through the motion values and set them to the\n         * initial values for this component.\n         *\n         * TODO: This is impure and we should look at changing this to run on mount.\n         * Doing so will break some tests but this isn't neccessarily a breaking change,\n         * more a reflection of the test.\n         */\n        const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {});\n        for (const key in initialMotionValues) {\n            const value = initialMotionValues[key];\n            if (latestValues[key] !== undefined && isMotionValue(value)) {\n                value.set(latestValues[key], false);\n                if (isWillChangeMotionValue(willChange)) {\n                    willChange.add(key);\n                }\n            }\n        }\n    }\n    /**\n     * This method takes React props and returns found MotionValues. For example, HTML\n     * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.\n     *\n     * This isn't an abstract method as it needs calling in the constructor, but it is\n     * intended to be one.\n     */\n    scrapeMotionValuesFromProps(_props, _prevProps) {\n        return {};\n    }\n    mount(instance) {\n        this.current = instance;\n        visualElementStore.set(instance, this);\n        if (this.projection && !this.projection.instance) {\n            this.projection.mount(instance);\n        }\n        if (this.parent && this.isVariantNode && !this.isControllingVariants) {\n            this.removeFromVariantTree = this.parent.addVariantChild(this);\n        }\n        this.values.forEach((value, key) => this.bindToMotionValue(key, value));\n        if (!hasReducedMotionListener.current) {\n            initPrefersReducedMotion();\n        }\n        this.shouldReduceMotion =\n            this.reducedMotionConfig === \"never\"\n                ? false\n                : this.reducedMotionConfig === \"always\"\n                    ? true\n                    : prefersReducedMotion.current;\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(this.shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\");\n        }\n        if (this.parent)\n            this.parent.children.add(this);\n        this.update(this.props, this.presenceContext);\n    }\n    unmount() {\n        visualElementStore.delete(this.current);\n        this.projection && this.projection.unmount();\n        cancelFrame(this.notifyUpdate);\n        cancelFrame(this.render);\n        this.valueSubscriptions.forEach((remove) => remove());\n        this.removeFromVariantTree && this.removeFromVariantTree();\n        this.parent && this.parent.children.delete(this);\n        for (const key in this.events) {\n            this.events[key].clear();\n        }\n        for (const key in this.features) {\n            this.features[key].unmount();\n        }\n        this.current = null;\n    }\n    bindToMotionValue(key, value) {\n        const valueIsTransform = transformProps.has(key);\n        const removeOnChange = value.on(\"change\", (latestValue) => {\n            this.latestValues[key] = latestValue;\n            this.props.onUpdate &&\n                frame.update(this.notifyUpdate, false, true);\n            if (valueIsTransform && this.projection) {\n                this.projection.isTransformDirty = true;\n            }\n        });\n        const removeOnRenderRequest = value.on(\"renderRequest\", this.scheduleRender);\n        this.valueSubscriptions.set(key, () => {\n            removeOnChange();\n            removeOnRenderRequest();\n        });\n    }\n    sortNodePosition(other) {\n        /**\n         * If these nodes aren't even of the same type we can't compare their depth.\n         */\n        if (!this.current ||\n            !this.sortInstanceNodePosition ||\n            this.type !== other.type) {\n            return 0;\n        }\n        return this.sortInstanceNodePosition(this.current, other.current);\n    }\n    loadFeatures({ children, ...renderedProps }, isStrict, preloadedFeatures, initialLayoutGroupConfig) {\n        let ProjectionNodeConstructor;\n        let MeasureLayout;\n        /**\n         * If we're in development mode, check to make sure we're not rendering a motion component\n         * as a child of LazyMotion, as this will break the file-size benefits of using it.\n         */\n        if (process.env.NODE_ENV !== \"production\" &&\n            preloadedFeatures &&\n            isStrict) {\n            const strictMessage = \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\";\n            renderedProps.ignoreStrict\n                ? warning(false, strictMessage)\n                : invariant(false, strictMessage);\n        }\n        for (let i = 0; i < numFeatures; i++) {\n            const name = featureNames[i];\n            const { isEnabled, Feature: FeatureConstructor, ProjectionNode, MeasureLayout: MeasureLayoutComponent, } = featureDefinitions[name];\n            if (ProjectionNode)\n                ProjectionNodeConstructor = ProjectionNode;\n            if (isEnabled(renderedProps)) {\n                if (!this.features[name] && FeatureConstructor) {\n                    this.features[name] = new FeatureConstructor(this);\n                }\n                if (MeasureLayoutComponent) {\n                    MeasureLayout = MeasureLayoutComponent;\n                }\n            }\n        }\n        if ((this.type === \"html\" || this.type === \"svg\") &&\n            !this.projection &&\n            ProjectionNodeConstructor) {\n            this.projection = new ProjectionNodeConstructor(this.latestValues, this.parent && this.parent.projection);\n            const { layoutId, layout, drag, dragConstraints, layoutScroll, layoutRoot, } = renderedProps;\n            this.projection.setOptions({\n                layoutId,\n                layout,\n                alwaysMeasureLayout: Boolean(drag) ||\n                    (dragConstraints && isRefObject(dragConstraints)),\n                visualElement: this,\n                scheduleRender: () => this.scheduleRender(),\n                /**\n                 * TODO: Update options in an effect. This could be tricky as it'll be too late\n                 * to update by the time layout animations run.\n                 * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n                 * ensuring it gets called if there's no potential layout animations.\n                 *\n                 */\n                animationType: typeof layout === \"string\" ? layout : \"both\",\n                initialPromotionConfig: initialLayoutGroupConfig,\n                layoutScroll,\n                layoutRoot,\n            });\n        }\n        return MeasureLayout;\n    }\n    updateFeatures() {\n        for (const key in this.features) {\n            const feature = this.features[key];\n            if (feature.isMounted) {\n                feature.update();\n            }\n            else {\n                feature.mount();\n                feature.isMounted = true;\n            }\n        }\n    }\n    triggerBuild() {\n        this.build(this.renderState, this.latestValues, this.options, this.props);\n    }\n    /**\n     * Measure the current viewport box with or without transforms.\n     * Only measures axis-aligned boxes, rotate and skew must be manually\n     * removed with a re-render to work.\n     */\n    measureViewportBox() {\n        return this.current\n            ? this.measureInstanceViewportBox(this.current, this.props)\n            : createBox();\n    }\n    getStaticValue(key) {\n        return this.latestValues[key];\n    }\n    setStaticValue(key, value) {\n        this.latestValues[key] = value;\n    }\n    /**\n     * Make a target animatable by Popmotion. For instance, if we're\n     * trying to animate width from 100px to 100vw we need to measure 100vw\n     * in pixels to determine what we really need to animate to. This is also\n     * pluggable to support Framer's custom value types like Color,\n     * and CSS variables.\n     */\n    makeTargetAnimatable(target, canMutate = true) {\n        return this.makeTargetAnimatableFromInstance(target, canMutate);\n    }\n    /**\n     * Update the provided props. Ensure any newly-added motion values are\n     * added to our map, old ones removed, and listeners updated.\n     */\n    update(props, presenceContext) {\n        if (props.transformTemplate || this.props.transformTemplate) {\n            this.scheduleRender();\n        }\n        this.prevProps = this.props;\n        this.props = props;\n        this.prevPresenceContext = this.presenceContext;\n        this.presenceContext = presenceContext;\n        /**\n         * Update prop event handlers ie onAnimationStart, onAnimationComplete\n         */\n        for (let i = 0; i < propEventHandlers.length; i++) {\n            const key = propEventHandlers[i];\n            if (this.propEventSubscriptions[key]) {\n                this.propEventSubscriptions[key]();\n                delete this.propEventSubscriptions[key];\n            }\n            const listener = props[\"on\" + key];\n            if (listener) {\n                this.propEventSubscriptions[key] = this.on(key, listener);\n            }\n        }\n        this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps), this.prevMotionValues);\n        if (this.handleChildMotionValue) {\n            this.handleChildMotionValue();\n        }\n    }\n    getProps() {\n        return this.props;\n    }\n    /**\n     * Returns the variant definition with a given name.\n     */\n    getVariant(name) {\n        return this.props.variants ? this.props.variants[name] : undefined;\n    }\n    /**\n     * Returns the defined default transition on this component.\n     */\n    getDefaultTransition() {\n        return this.props.transition;\n    }\n    getTransformPagePoint() {\n        return this.props.transformPagePoint;\n    }\n    getClosestVariantNode() {\n        return this.isVariantNode\n            ? this\n            : this.parent\n                ? this.parent.getClosestVariantNode()\n                : undefined;\n    }\n    getVariantContext(startAtParent = false) {\n        if (startAtParent) {\n            return this.parent ? this.parent.getVariantContext() : undefined;\n        }\n        if (!this.isControllingVariants) {\n            const context = this.parent\n                ? this.parent.getVariantContext() || {}\n                : {};\n            if (this.props.initial !== undefined) {\n                context.initial = this.props.initial;\n            }\n            return context;\n        }\n        const context = {};\n        for (let i = 0; i < numVariantProps; i++) {\n            const name = variantProps[i];\n            const prop = this.props[name];\n            if (isVariantLabel(prop) || prop === false) {\n                context[name] = prop;\n            }\n        }\n        return context;\n    }\n    /**\n     * Add a child visual element to our set of children.\n     */\n    addVariantChild(child) {\n        const closestVariantNode = this.getClosestVariantNode();\n        if (closestVariantNode) {\n            closestVariantNode.variantChildren &&\n                closestVariantNode.variantChildren.add(child);\n            return () => closestVariantNode.variantChildren.delete(child);\n        }\n    }\n    /**\n     * Add a motion value and bind it to this visual element.\n     */\n    addValue(key, value) {\n        // Remove existing value if it exists\n        if (value !== this.values.get(key)) {\n            this.removeValue(key);\n            this.bindToMotionValue(key, value);\n        }\n        this.values.set(key, value);\n        this.latestValues[key] = value.get();\n    }\n    /**\n     * Remove a motion value and unbind any active subscriptions.\n     */\n    removeValue(key) {\n        this.values.delete(key);\n        const unsubscribe = this.valueSubscriptions.get(key);\n        if (unsubscribe) {\n            unsubscribe();\n            this.valueSubscriptions.delete(key);\n        }\n        delete this.latestValues[key];\n        this.removeValueFromRenderState(key, this.renderState);\n    }\n    /**\n     * Check whether we have a motion value for this key\n     */\n    hasValue(key) {\n        return this.values.has(key);\n    }\n    getValue(key, defaultValue) {\n        if (this.props.values && this.props.values[key]) {\n            return this.props.values[key];\n        }\n        let value = this.values.get(key);\n        if (value === undefined && defaultValue !== undefined) {\n            value = motionValue(defaultValue, { owner: this });\n            this.addValue(key, value);\n        }\n        return value;\n    }\n    /**\n     * If we're trying to animate to a previously unencountered value,\n     * we need to check for it in our state and as a last resort read it\n     * directly from the instance (which might have performance implications).\n     */\n    readValue(key) {\n        var _a;\n        return this.latestValues[key] !== undefined || !this.current\n            ? this.latestValues[key]\n            : (_a = this.getBaseTargetFromProps(this.props, key)) !== null && _a !== void 0 ? _a : this.readValueFromInstance(this.current, key, this.options);\n    }\n    /**\n     * Set the base target to later animate back to. This is currently\n     * only hydrated on creation and when we first read a value.\n     */\n    setBaseTarget(key, value) {\n        this.baseTarget[key] = value;\n    }\n    /**\n     * Find the base target for a value thats been removed from all animation\n     * props.\n     */\n    getBaseTarget(key) {\n        var _a;\n        const { initial } = this.props;\n        const valueFromInitial = typeof initial === \"string\" || typeof initial === \"object\"\n            ? (_a = resolveVariantFromProps(this.props, initial)) === null || _a === void 0 ? void 0 : _a[key]\n            : undefined;\n        /**\n         * If this value still exists in the current initial variant, read that.\n         */\n        if (initial && valueFromInitial !== undefined) {\n            return valueFromInitial;\n        }\n        /**\n         * Alternatively, if this VisualElement config has defined a getBaseTarget\n         * so we can read the value from an alternative source, try that.\n         */\n        const target = this.getBaseTargetFromProps(this.props, key);\n        if (target !== undefined && !isMotionValue(target))\n            return target;\n        /**\n         * If the value was initially defined on initial, but it doesn't any more,\n         * return undefined. Otherwise return the value as initially read from the DOM.\n         */\n        return this.initialValues[key] !== undefined &&\n            valueFromInitial === undefined\n            ? undefined\n            : this.baseTarget[key];\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        return this.events[eventName].add(callback);\n    }\n    notify(eventName, ...args) {\n        if (this.events[eventName]) {\n            this.events[eventName].notify(...args);\n        }\n    }\n}\n\nexport { VisualElement };\n","import { isBrowser } from '../is-browser.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\nfunction initPrefersReducedMotion() {\n    hasReducedMotionListener.current = true;\n    if (!isBrowser)\n        return;\n    if (window.matchMedia) {\n        const motionMediaQuery = window.matchMedia(\"(prefers-reduced-motion)\");\n        const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);\n        motionMediaQuery.addListener(setReducedMotionPreferences);\n        setReducedMotionPreferences();\n    }\n    else {\n        prefersReducedMotion.current = false;\n    }\n}\n\nexport { initPrefersReducedMotion };\n","import { isWillChangeMotionValue } from '../../value/use-will-change/is.mjs';\nimport { warnOnce } from '../../utils/warn-once.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction updateMotionValuesFromProps(element, next, prev) {\n    const { willChange } = next;\n    for (const key in next) {\n        const nextValue = next[key];\n        const prevValue = prev[key];\n        if (isMotionValue(nextValue)) {\n            /**\n             * If this is a motion value found in props or style, we want to add it\n             * to our visual element's motion value map.\n             */\n            element.addValue(key, nextValue);\n            if (isWillChangeMotionValue(willChange)) {\n                willChange.add(key);\n            }\n            /**\n             * Check the version of the incoming motion value with this version\n             * and warn against mismatches.\n             */\n            if (process.env.NODE_ENV === \"development\") {\n                warnOnce(nextValue.version === \"11.0.3\", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.0.3 may not work as expected.`);\n            }\n        }\n        else if (isMotionValue(prevValue)) {\n            /**\n             * If we're swapping from a motion value to a static value,\n             * create a new motion value from that\n             */\n            element.addValue(key, motionValue(nextValue, { owner: element }));\n            if (isWillChangeMotionValue(willChange)) {\n                willChange.remove(key);\n            }\n        }\n        else if (prevValue !== nextValue) {\n            /**\n             * If this is a flat value that has changed, update the motion value\n             * or create one if it doesn't exist. We only want to do this if we're\n             * not handling the value with our animation state.\n             */\n            if (element.hasValue(key)) {\n                const existingValue = element.getValue(key);\n                // TODO: Only update values that aren't being animated or even looked at\n                !existingValue.hasAnimated && existingValue.set(nextValue);\n            }\n            else {\n                const latestValue = element.getStaticValue(key);\n                element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element }));\n            }\n        }\n    }\n    // Handle removed values\n    for (const key in prev) {\n        if (next[key] === undefined)\n            element.removeValue(key);\n    }\n    return next;\n}\n\nexport { updateMotionValuesFromProps };\n","import { getOrigin, checkTargetForNewValues } from '../utils/setters.mjs';\nimport { parseDomVariant } from './utils/parse-dom-variant.mjs';\nimport { VisualElement } from '../VisualElement.mjs';\n\nclass DOMVisualElement extends VisualElement {\n    sortInstanceNodePosition(a, b) {\n        /**\n         * compareDocumentPosition returns a bitmask, by using the bitwise &\n         * we're returning true if 2 in that bitmask is set to true. 2 is set\n         * to true if b preceeds a.\n         */\n        return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n    }\n    getBaseTargetFromProps(props, key) {\n        return props.style ? props.style[key] : undefined;\n    }\n    removeValueFromRenderState(key, { vars, style }) {\n        delete vars[key];\n        delete style[key];\n    }\n    makeTargetAnimatableFromInstance({ transition, transitionEnd, ...target }, isMounted) {\n        const origin = getOrigin(target, transition || {}, this);\n        if (isMounted) {\n            checkTargetForNewValues(this, target, origin);\n            const parsed = parseDomVariant(this, target, origin, transitionEnd);\n            transitionEnd = parsed.transitionEnd;\n            target = parsed.target;\n        }\n        return {\n            transition,\n            transitionEnd,\n            ...target,\n        };\n    }\n}\n\nexport { DOMVisualElement };\n","import { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { isCSSVariableName } from '../dom/utils/is-css-variable.mjs';\nimport { transformProps } from './utils/transform.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { renderHTML } from './utils/render.mjs';\nimport { getDefaultValueType } from '../dom/value-types/defaults.mjs';\nimport { measureViewportBox } from '../../projection/utils/measure.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction getComputedStyle(element) {\n    return window.getComputedStyle(element);\n}\nclass HTMLVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"html\";\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            const defaultType = getDefaultValueType(key);\n            return defaultType ? defaultType.default || 0 : 0;\n        }\n        else {\n            const computedStyle = getComputedStyle(instance);\n            const value = (isCSSVariableName(key)\n                ? computedStyle.getPropertyValue(key)\n                : computedStyle[key]) || 0;\n            return typeof value === \"string\" ? value.trim() : value;\n        }\n    }\n    measureInstanceViewportBox(instance, { transformPagePoint }) {\n        return measureViewportBox(instance, transformPagePoint);\n    }\n    build(renderState, latestValues, options, props) {\n        buildHTMLStyles(renderState, latestValues, options, props.transformTemplate);\n    }\n    scrapeMotionValuesFromProps(props, prevProps) {\n        return scrapeMotionValuesFromProps(props, prevProps);\n    }\n    handleChildMotionValue() {\n        if (this.childSubscription) {\n            this.childSubscription();\n            delete this.childSubscription;\n        }\n        const { children } = this.props;\n        if (isMotionValue(children)) {\n            this.childSubscription = children.on(\"change\", (latest) => {\n                if (this.current)\n                    this.current.textContent = `${latest}`;\n            });\n        }\n    }\n    renderInstance(instance, renderState, styleProp, projection) {\n        renderHTML(instance, renderState, styleProp, projection);\n    }\n}\n\nexport { HTMLVisualElement, getComputedStyle };\n","import { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { camelToDash } from '../dom/utils/camel-to-dash.mjs';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.mjs';\nimport { transformProps } from '../html/utils/transform.mjs';\nimport { renderSVG } from './utils/render.mjs';\nimport { getDefaultValueType } from '../dom/value-types/defaults.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nclass SVGVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"svg\";\n        this.isSVGTag = false;\n    }\n    getBaseTargetFromProps(props, key) {\n        return props[key];\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            const defaultType = getDefaultValueType(key);\n            return defaultType ? defaultType.default || 0 : 0;\n        }\n        key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n        return instance.getAttribute(key);\n    }\n    measureInstanceViewportBox() {\n        return createBox();\n    }\n    scrapeMotionValuesFromProps(props, prevProps) {\n        return scrapeMotionValuesFromProps(props, prevProps);\n    }\n    build(renderState, latestValues, options, props) {\n        buildSVGAttrs(renderState, latestValues, options, this.isSVGTag, props.transformTemplate);\n    }\n    renderInstance(instance, renderState, styleProp, projection) {\n        renderSVG(instance, renderState, styleProp, projection);\n    }\n    mount(instance) {\n        this.isSVGTag = isSVGTag(instance.tagName);\n        super.mount(instance);\n    }\n}\n\nexport { SVGVisualElement };\n","import { HTMLVisualElement } from '../html/HTMLVisualElement.mjs';\nimport { SVGVisualElement } from '../svg/SVGVisualElement.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n    return isSVGComponent(Component)\n        ? new SVGVisualElement(options, { enableHardwareAcceleration: false })\n        : new HTMLVisualElement(options, { enableHardwareAcceleration: true });\n};\n\nexport { createDomVisualElement };\n","import { createMotionComponent } from '../../motion/index.mjs';\nimport { createMotionProxy } from './motion-proxy.mjs';\nimport { createDomMotionConfig } from './utils/create-config.mjs';\nimport { gestureAnimations } from '../../motion/features/gestures.mjs';\nimport { animations } from '../../motion/features/animations.mjs';\nimport { drag } from '../../motion/features/drag.mjs';\nimport { createDomVisualElement } from './create-visual-element.mjs';\nimport { layout } from '../../motion/features/layout.mjs';\n\nconst preloadedFeatures = {\n    ...animations,\n    ...gestureAnimations,\n    ...drag,\n    ...layout,\n};\n/**\n * HTML & SVG components, optimised for use with gestures and animation. These can be used as\n * drop-in replacements for any HTML & SVG component, all CSS & SVG properties are supported.\n *\n * @public\n */\nconst motion = /*@__PURE__*/ createMotionProxy((Component, config) => createDomMotionConfig(Component, config, preloadedFeatures, createDomVisualElement));\n/**\n * Create a DOM `motion` component with the provided string. This is primarily intended\n * as a full alternative to `motion` for consumers who have to support environments that don't\n * support `Proxy`.\n *\n * ```javascript\n * import { createDomMotionComponent } from \"framer-motion\"\n *\n * const motion = {\n *   div: createDomMotionComponent('div')\n * }\n * ```\n *\n * @public\n */\nfunction createDomMotionComponent(key) {\n    return createMotionComponent(createDomMotionConfig(key, { forwardMotionProps: false }, preloadedFeatures, createDomVisualElement));\n}\n\nexport { createDomMotionComponent, motion };\n","import { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n    layout: {\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { layout };\n","import { isSVGComponent } from './is-svg-component.mjs';\nimport { createUseRender } from '../use-render.mjs';\nimport { svgMotionConfig } from '../../svg/config-motion.mjs';\nimport { htmlMotionConfig } from '../../html/config-motion.mjs';\n\nfunction createDomMotionConfig(Component, { forwardMotionProps = false }, preloadedFeatures, createVisualElement) {\n    const baseConfig = isSVGComponent(Component)\n        ? svgMotionConfig\n        : htmlMotionConfig;\n    return {\n        ...baseConfig,\n        preloadedFeatures,\n        useRender: createUseRender(forwardMotionProps),\n        createVisualElement,\n        Component,\n    };\n}\n\nexport { createDomMotionConfig };\n","import React, { forwardRef } from \"react\";\nimport { Container, Card, Image, Col, Row } from 'react-bootstrap';\nimport { motion } from \"framer-motion\";\n\nconst TeamItem = forwardRef((props, ref) => {\n  return (\n    <Col xs={12} md={6} lg={6} className=\"my-1 m-team-item\" ref={ref}>\n      <a href={props.post.url} target=\"_blank\" rel=\"noopener noreferrer\" style={{ textDecoration: 'none', color: 'inherit' }}>\n        <Card border=\"light\" style={{ minHeight: '12rem', maxWidth: '40rem' }} className=\"mx-auto shadow1\">\n          <Row>\n            <Col md={4}>\n              <Container style={{ width: '10rem', height: '9rem' }} className=\"my-4 text-center\">\n                <Image\n                  variant=\"bottom\"\n                  src={props.post.image}\n                  fluid\n                  style={{ maxWidth: '8rem' }} // Измените здесь ширину изображения\n                />\n              </Container>\n            </Col>\n            <Col md={8}>\n              <Card.Body>\n                <Card.Title>{props.post.name}</Card.Title>\n                <Card.Text>\n                  <div>{props.post.institution}</div>\n                  <div>{props.post.institution2}</div>\n                  <div>{props.post.Phone}</div>\n                  <div>{props.post.mail}</div>\n                </Card.Text>\n              </Card.Body>\n            </Col>\n          </Row>\n        </Card>\n      </a>\n    </Col>\n  );\n});\n\nconst MTeamItem = motion(TeamItem);\nexport default MTeamItem;\nexport { TeamItem };\n//fluid\n//style={{ maxWidth: props.post.wid } }\n\n","import * as React from 'react';\nconst SelectableContext = /*#__PURE__*/React.createContext(null);\nexport const makeEventKey = (eventKey, href = null) => {\n  if (eventKey != null) return String(eventKey);\n  return href || null;\n};\nexport default SelectableContext;","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n  return function (props, propName) {\n    if (props[propName] !== undefined) {\n      if (!props[handler]) {\n        return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n      }\n    }\n  };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n  var propTypes = {};\n  Object.keys(controlledValues).forEach(function (prop) {\n    // add default propTypes for folks that use runtime checks\n    propTypes[defaultKey(prop)] = noop;\n\n    if (process.env.NODE_ENV !== 'production') {\n      var handler = controlledValues[prop];\n      !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n      propTypes[prop] = readOnlyPropType(handler, displayName);\n    }\n  });\n  return propTypes;\n}\nexport function isProp(props, prop) {\n  return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n  return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n  return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n  var wasPropRef = useRef(propValue !== undefined);\n\n  var _useState = useState(defaultValue),\n      stateValue = _useState[0],\n      setState = _useState[1];\n\n  var isProp = propValue !== undefined;\n  var wasProp = wasPropRef.current;\n  wasPropRef.current = isProp;\n  /**\n   * If a prop switches from controlled to Uncontrolled\n   * reset its value to the defaultValue\n   */\n\n  if (!isProp && wasProp && stateValue !== defaultValue) {\n    setState(defaultValue);\n  }\n\n  return [isProp ? propValue : stateValue, useCallback(function (value) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    if (handler) handler.apply(void 0, [value].concat(args));\n    setState(value);\n  }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n  return Object.keys(config).reduce(function (result, fieldName) {\n    var _extends2;\n\n    var _ref = result,\n        defaultValue = _ref[Utils.defaultKey(fieldName)],\n        propsValue = _ref[fieldName],\n        rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n    var handlerName = config[fieldName];\n\n    var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n        value = _useUncontrolledProp[0],\n        handler = _useUncontrolledProp[1];\n\n    return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n  }, props);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\nexport { polyfill };\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarBrand = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  as,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');\n  const Component = as || (props.href ? 'a' : 'span');\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ref: ref,\n    className: classNames(className, bsPrefix)\n  });\n});\nNavbarBrand.displayName = 'NavbarBrand';\nexport default NavbarBrand;","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n  return node && node.ownerDocument || document;\n}","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n  return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n  var doc = ownerDocument(node);\n  return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n  return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n  return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n  return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n  var css = '';\n  var transforms = '';\n\n  if (typeof property === 'string') {\n    return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n  }\n\n  Object.keys(property).forEach(function (key) {\n    var value = property[key];\n\n    if (!value && value !== 0) {\n      node.style.removeProperty(hyphenate(key));\n    } else if (isTransform(key)) {\n      transforms += key + \"(\" + value + \") \";\n    } else {\n      css += hyphenate(key) + \": \" + value + \";\";\n    }\n  });\n\n  if (transforms) {\n    css += \"transform: \" + transforms + \";\";\n  }\n\n  node.style.cssText += \";\" + css;\n}\n\nexport default style;","export default function _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n  return _setPrototypeOf(o, p);\n}","export default {\n  disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n  return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n *   transition: `opacity ${duration}ms ease-in-out`,\n *   opacity: 0,\n * }\n *\n * const transitionStyles = {\n *   entering: { opacity: 1 },\n *   entered:  { opacity: 1 },\n *   exiting:  { opacity: 0 },\n *   exited:  { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n *  - `'entering'`\n *  - `'entered'`\n *  - `'exiting'`\n *  - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n    var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n    var initialStatus;\n    _this.appearStatus = null;\n\n    if (props.in) {\n      if (appear) {\n        initialStatus = EXITED;\n        _this.appearStatus = ENTERING;\n      } else {\n        initialStatus = ENTERED;\n      }\n    } else {\n      if (props.unmountOnExit || props.mountOnEnter) {\n        initialStatus = UNMOUNTED;\n      } else {\n        initialStatus = EXITED;\n      }\n    }\n\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\n    }\n\n    return null;\n  } // getSnapshotBeforeUpdate(prevProps) {\n  //   let nextStatus = null\n  //   if (prevProps !== this.props) {\n  //     const { status } = this.state\n  //     if (this.props.in) {\n  //       if (status !== ENTERING && status !== ENTERED) {\n  //         nextStatus = ENTERING\n  //       }\n  //     } else {\n  //       if (status === ENTERING || status === ENTERED) {\n  //         nextStatus = EXITING\n  //       }\n  //     }\n  //   }\n  //   return { nextStatus }\n  // }\n  ;\n\n  var _proto = Transition.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\n      if (this.props.in) {\n        if (status !== ENTERING && status !== ENTERED) {\n          nextStatus = ENTERING;\n        }\n      } else {\n        if (status === ENTERING || status === ENTERED) {\n          nextStatus = EXITING;\n        }\n      }\n    }\n\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\n    if (timeout != null && typeof timeout !== 'number') {\n      exit = timeout.exit;\n      enter = timeout.enter; // TODO: remove fallback for next major\n\n      appear = timeout.appear !== undefined ? timeout.appear : enter;\n    }\n\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      if (nextStatus === ENTERING) {\n        if (this.props.unmountOnExit || this.props.mountOnEnter) {\n          var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n          // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n          // To make the animation happen,  we have to separate each rendering and avoid being processed as batched.\n\n          if (node) forceReflow(node);\n        }\n\n        this.performEnter(mounting);\n      } else {\n        this.performExit();\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context ? this.context.isMounting : mounting;\n\n    var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n        maybeNode = _ref2[0],\n        maybeAppearing = _ref2[1];\n\n    var timeouts = this.getTimeouts();\n    var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n    // if we are mounting and running this it means appear _must_ be set\n\n    if (!mounting && !enter || config.disabled) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onEnter(maybeNode, maybeAppearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(maybeNode, maybeAppearing);\n\n      _this2.onTransitionEnd(enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(maybeNode, maybeAppearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit() {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts();\n    var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n    if (!exit || config.disabled) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onExit(maybeNode);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(maybeNode);\n\n      _this3.onTransitionEnd(timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(maybeNode);\n        });\n      });\n    });\n  };\n\n  _proto.cancelNextCallback = function cancelNextCallback() {\n    if (this.nextCallback !== null) {\n      this.nextCallback.cancel();\n      this.nextCallback = null;\n    }\n  };\n\n  _proto.safeSetState = function safeSetState(nextState, callback) {\n    // This shouldn't be necessary, but there are weird race conditions with\n    // setState callbacks and unmounting in testing, so always make sure that\n    // we can cancel any pending setState callbacks after we unmount.\n    callback = this.setNextCallback(callback);\n    this.setState(nextState, callback);\n  };\n\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n    this.setNextCallback(handler);\n    var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n    var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n    if (!node || doesNotHaveTimeoutOrListener) {\n      setTimeout(this.nextCallback, 0);\n      return;\n    }\n\n    if (this.props.addEndListener) {\n      var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n          maybeNode = _ref3[0],\n          maybeNextCallback = _ref3[1];\n\n      this.props.addEndListener(maybeNode, maybeNextCallback);\n    }\n\n    if (timeout != null) {\n      setTimeout(this.nextCallback, timeout);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        _in = _this$props.in,\n        _mountOnEnter = _this$props.mountOnEnter,\n        _unmountOnExit = _this$props.unmountOnExit,\n        _appear = _this$props.appear,\n        _enter = _this$props.enter,\n        _exit = _this$props.exit,\n        _timeout = _this$props.timeout,\n        _addEndListener = _this$props.addEndListener,\n        _onEnter = _this$props.onEnter,\n        _onEntering = _this$props.onEntering,\n        _onEntered = _this$props.onEntered,\n        _onExit = _this$props.onExit,\n        _onExiting = _this$props.onExiting,\n        _onExited = _this$props.onExited,\n        _nodeRef = _this$props.nodeRef,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n    return (\n      /*#__PURE__*/\n      // allows for nested Transitions\n      React.createElement(TransitionGroupContext.Provider, {\n        value: null\n      }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n    );\n  };\n\n  return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A React reference to DOM element that need to transition:\n   * https://stackoverflow.com/a/51127130/4671932\n   *\n   *   - When `nodeRef` prop is used, `node` is not passed to callback functions\n   *      (e.g. `onEnter`) because user already has direct access to the node.\n   *   - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n   *     `nodeRef` need to be provided to `Transition` with changed `key` prop\n   *     (see\n   *     [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n   */\n  nodeRef: PropTypes.shape({\n    current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n      var value = propValue[key];\n      return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n    }\n  }),\n\n  /**\n   * A `function` child can be used instead of a React element. This function is\n   * called with the current transition status (`'entering'`, `'entered'`,\n   * `'exiting'`, `'exited'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * By default the child component does not perform the enter transition when\n   * it first mounts, regardless of the value of `in`. If you want this\n   * behavior, set both `appear` and `in` to `true`.\n   *\n   * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n   * > only adds an additional enter transition. However, in the\n   * > `<CSSTransition>` component that first enter transition does result in\n   * > additional `.appear-*` classes, that way you can choose to style it\n   * > differently.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided.\n   *\n   * You may specify a single timeout for all transitions:\n   *\n   * ```jsx\n   * timeout={500}\n   * ```\n   *\n   * or individually:\n   *\n   * ```jsx\n   * timeout={{\n   *  appear: 500,\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * - `appear` defaults to the value of `enter`\n   * - `enter` defaults to `0`\n   * - `exit` defaults to `0`\n   *\n   * @type {number | { enter?: number, exit?: number, appear?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt = timeoutsShape;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. Timeouts are still used as a fallback if provided.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n  in: false,\n  mountOnEnter: false,\n  unmountOnExit: false,\n  appear: false,\n  enter: true,\n  exit: true,\n  onEnter: noop,\n  onEntering: noop,\n  onEntered: noop,\n  onExit: noop,\n  onExiting: noop,\n  onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  setPrototypeOf(subClass, superClass);\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n  var options = {\n    get passive() {\n      return optionsSupported = true;\n    },\n\n    get once() {\n      // eslint-disable-next-line no-multi-assign\n      return onceSupported = optionsSupported = true;\n    }\n\n  };\n\n  if (canUseDOM) {\n    window.addEventListener('test', options, options);\n    window.removeEventListener('test', options, true);\n  }\n} catch (e) {\n  /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n  if (options && typeof options !== 'boolean' && !onceSupported) {\n    var once = options.once,\n        capture = options.capture;\n    var wrappedHandler = handler;\n\n    if (!onceSupported && once) {\n      wrappedHandler = handler.__once || function onceHandler(event) {\n        this.removeEventListener(eventName, onceHandler, capture);\n        handler.call(this, event);\n      };\n\n      handler.__once = wrappedHandler;\n    }\n\n    node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n  }\n\n  node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n  var capture = options && typeof options !== 'boolean' ? options.capture : options;\n  node.removeEventListener(eventName, handler, capture);\n\n  if (handler.__once) {\n    node.removeEventListener(eventName, handler.__once, capture);\n  }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n  addEventListener(node, eventName, handler, options);\n  return function () {\n    removeEventListener(node, eventName, handler, options);\n  };\n}\n\nexport default listen;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n  var str = css(node, 'transitionDuration') || '';\n  var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n  return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n  if (padding === void 0) {\n    padding = 5;\n  }\n\n  var called = false;\n  var handle = setTimeout(function () {\n    if (!called) triggerEvent(element, 'transitionend', true);\n  }, duration + padding);\n  var remove = listen(element, 'transitionend', function () {\n    called = true;\n  }, {\n    once: true\n  });\n  return function () {\n    clearTimeout(handle);\n    remove();\n  };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n  if (duration == null) duration = parseDuration(element) || 0;\n  var removeEmulate = emulateTransitionEnd(element, duration, padding);\n  var remove = listen(element, 'transitionend', handler);\n  return function () {\n    removeEmulate();\n    remove();\n  };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n  if (bubbles === void 0) {\n    bubbles = false;\n  }\n\n  if (cancelable === void 0) {\n    cancelable = true;\n  }\n\n  if (node) {\n    var event = document.createEvent('HTMLEvents');\n    event.initEvent(eventName, bubbles, cancelable);\n    node.dispatchEvent(event);\n  }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nfunction parseDuration(node, property) {\n  const str = css(node, property) || '';\n  const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n  return parseFloat(str) * mult;\n}\nexport default function transitionEndListener(element, handler) {\n  const duration = parseDuration(element, 'transitionDuration');\n  const delay = parseDuration(element, 'transitionDelay');\n  const remove = transitionEnd(element, e => {\n    if (e.target === element) {\n      remove();\n      handler(e);\n    }\n  }, duration + delay);\n}","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction(...funcs) {\n  return funcs.filter(f => f != null).reduce((acc, f) => {\n    if (typeof f !== 'function') {\n      throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n    }\n    if (acc === null) return f;\n    return function chainedFunction(...args) {\n      // @ts-ignore\n      acc.apply(this, args);\n      // @ts-ignore\n      f.apply(this, args);\n    };\n  }, null);\n}\nexport default createChainedFunction;","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n  // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n  node.offsetHeight;\n}","import { useMemo } from 'react';\nconst toFnRef = ref => !ref || typeof ref === 'function' ? ref : value => {\n  ref.current = value;\n};\nexport function mergeRefs(refA, refB) {\n  const a = toFnRef(refA);\n  const b = toFnRef(refB);\n  return value => {\n    if (a) a(value);\n    if (b) b(value);\n  };\n}\n\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n *   const [element, attachRef] = useCallbackRef<HTMLButtonElement>();\n *   const mergedRef = useMergedRefs(ref, attachRef);\n *\n *   return <button ref={mergedRef} {...props}/>\n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\nfunction useMergedRefs(refA, refB) {\n  return useMemo(() => mergeRefs(refA, refB), [refA, refB]);\n}\nexport default useMergedRefs;","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n  if (componentOrElement && 'setState' in componentOrElement) {\n    return ReactDOM.findDOMNode(componentOrElement);\n  }\n  return componentOrElement != null ? componentOrElement : null;\n}","\"use client\";\n\nimport React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n  onEnter,\n  onEntering,\n  onEntered,\n  onExit,\n  onExiting,\n  onExited,\n  addEndListener,\n  children,\n  childRef,\n  ...props\n}, ref) => {\n  const nodeRef = useRef(null);\n  const mergedRef = useMergedRefs(nodeRef, childRef);\n  const attachRef = r => {\n    mergedRef(safeFindDOMNode(r));\n  };\n  const normalize = callback => param => {\n    if (callback && nodeRef.current) {\n      callback(nodeRef.current, param);\n    }\n  };\n\n  /* eslint-disable react-hooks/exhaustive-deps */\n  const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n  const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n  const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n  const handleExit = useCallback(normalize(onExit), [onExit]);\n  const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n  const handleExited = useCallback(normalize(onExited), [onExited]);\n  const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n  /* eslint-enable react-hooks/exhaustive-deps */\n\n  return /*#__PURE__*/_jsx(Transition, {\n    ref: ref,\n    ...props,\n    onEnter: handleEnter,\n    onEntered: handleEntered,\n    onEntering: handleEntering,\n    onExit: handleExit,\n    onExited: handleExited,\n    onExiting: handleExiting,\n    addEndListener: handleAddEndListener,\n    nodeRef: nodeRef,\n    children: typeof children === 'function' ? (status, innerProps) =>\n    // TODO: Types for RTG missing innerProps, so need to cast.\n    children(status, {\n      ...innerProps,\n      ref: attachRef\n    }) : /*#__PURE__*/React.cloneElement(children, {\n      ref: attachRef\n    })\n  });\n});\nexport default TransitionWrapper;","import classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MARGINS = {\n  height: ['marginTop', 'marginBottom'],\n  width: ['marginLeft', 'marginRight']\n};\nfunction getDefaultDimensionValue(dimension, elem) {\n  const offset = `offset${dimension[0].toUpperCase()}${dimension.slice(1)}`;\n  const value = elem[offset];\n  const margins = MARGINS[dimension];\n  return value +\n  // @ts-ignore\n  parseInt(css(elem, margins[0]), 10) +\n  // @ts-ignore\n  parseInt(css(elem, margins[1]), 10);\n}\nconst collapseStyles = {\n  [EXITED]: 'collapse',\n  [EXITING]: 'collapsing',\n  [ENTERING]: 'collapsing',\n  [ENTERED]: 'collapse show'\n};\nconst Collapse = /*#__PURE__*/React.forwardRef(({\n  onEnter,\n  onEntering,\n  onEntered,\n  onExit,\n  onExiting,\n  className,\n  children,\n  dimension = 'height',\n  in: inProp = false,\n  timeout = 300,\n  mountOnEnter = false,\n  unmountOnExit = false,\n  appear = false,\n  getDimensionValue = getDefaultDimensionValue,\n  ...props\n}, ref) => {\n  /* Compute dimension */\n  const computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n\n  /* -- Expanding -- */\n  const handleEnter = useMemo(() => createChainedFunction(elem => {\n    elem.style[computedDimension] = '0';\n  }, onEnter), [computedDimension, onEnter]);\n  const handleEntering = useMemo(() => createChainedFunction(elem => {\n    const scroll = `scroll${computedDimension[0].toUpperCase()}${computedDimension.slice(1)}`;\n    elem.style[computedDimension] = `${elem[scroll]}px`;\n  }, onEntering), [computedDimension, onEntering]);\n  const handleEntered = useMemo(() => createChainedFunction(elem => {\n    elem.style[computedDimension] = null;\n  }, onEntered), [computedDimension, onEntered]);\n\n  /* -- Collapsing -- */\n  const handleExit = useMemo(() => createChainedFunction(elem => {\n    elem.style[computedDimension] = `${getDimensionValue(computedDimension, elem)}px`;\n    triggerBrowserReflow(elem);\n  }, onExit), [onExit, getDimensionValue, computedDimension]);\n  const handleExiting = useMemo(() => createChainedFunction(elem => {\n    elem.style[computedDimension] = null;\n  }, onExiting), [computedDimension, onExiting]);\n  return /*#__PURE__*/_jsx(TransitionWrapper, {\n    ref: ref,\n    addEndListener: transitionEndListener,\n    ...props,\n    \"aria-expanded\": props.role ? inProp : null,\n    onEnter: handleEnter,\n    onEntering: handleEntering,\n    onEntered: handleEntered,\n    onExit: handleExit,\n    onExiting: handleExiting,\n    childRef: children.ref,\n    in: inProp,\n    timeout: timeout,\n    mountOnEnter: mountOnEnter,\n    unmountOnExit: unmountOnExit,\n    appear: appear,\n    children: (state, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n      ...innerProps,\n      className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'collapse-horizontal')\n    })\n  });\n});\n\n// @ts-ignore\n\nexport default Collapse;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Collapse from './Collapse';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarCollapse = /*#__PURE__*/React.forwardRef(({\n  children,\n  bsPrefix,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');\n  const context = useContext(NavbarContext);\n  return /*#__PURE__*/_jsx(Collapse, {\n    in: !!(context && context.expanded),\n    ...props,\n    children: /*#__PURE__*/_jsx(\"div\", {\n      ref: ref,\n      className: bsPrefix,\n      children: children\n    })\n  });\n});\nNavbarCollapse.displayName = 'NavbarCollapse';\nexport default NavbarCollapse;","import { useEffect, useRef } from 'react';\n\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\nfunction useCommittedRef(value) {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n}\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n  const ref = useCommittedRef(fn);\n  return useCallback(function (...args) {\n    return ref.current && ref.current(...args);\n  }, [ref]);\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarToggle = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  children,\n  label = 'Toggle navigation',\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'button',\n  onClick,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');\n  const {\n    onToggle,\n    expanded\n  } = useContext(NavbarContext) || {};\n  const handleClick = useEventCallback(e => {\n    if (onClick) onClick(e);\n    if (onToggle) onToggle();\n  });\n  if (Component === 'button') {\n    props.type = 'button';\n  }\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ref: ref,\n    onClick: handleClick,\n    \"aria-label\": label,\n    className: classNames(className, bsPrefix, !expanded && 'collapsed'),\n    children: children || /*#__PURE__*/_jsx(\"span\", {\n      className: `${bsPrefix}-icon`\n    })\n  });\n});\nNavbarToggle.displayName = 'NavbarToggle';\nexport default NavbarToggle;","import { useEffect, useLayoutEffect } from 'react';\nconst isReactNative = typeof global !== 'undefined' &&\n// @ts-ignore\nglobal.navigator &&\n// @ts-ignore\nglobal.navigator.product === 'ReactNative';\nconst isDOM = typeof document !== 'undefined';\n\n/**\n * Is `useLayoutEffect` in a DOM or React Native environment, otherwise resolves to useEffect\n * Only useful to avoid the console warning.\n *\n * PREFER `useEffect` UNLESS YOU KNOW WHAT YOU ARE DOING.\n *\n * @category effects\n */\nexport default isDOM || isReactNative ? useLayoutEffect : useEffect;","import useEffect from './useIsomorphicEffect';\nimport { useState } from 'react';\nconst matchersByWindow = new WeakMap();\nconst getMatcher = (query, targetWindow) => {\n  if (!query || !targetWindow) return undefined;\n  const matchers = matchersByWindow.get(targetWindow) || new Map();\n  matchersByWindow.set(targetWindow, matchers);\n  let mql = matchers.get(query);\n  if (!mql) {\n    mql = targetWindow.matchMedia(query);\n    mql.refCount = 0;\n    matchers.set(mql.media, mql);\n  }\n  return mql;\n};\n/**\n * Match a media query and get updates as the match changes. The media string is\n * passed directly to `window.matchMedia` and run as a Layout Effect, so initial\n * matches are returned before the browser has a chance to paint.\n *\n * ```tsx\n * function Page() {\n *   const isWide = useMediaQuery('min-width: 1000px')\n *\n *   return isWide ? \"very wide\" : 'not so wide'\n * }\n * ```\n *\n * Media query lists are also reused globally, hook calls for the same query\n * will only create a matcher once under the hood.\n *\n * @param query A media query\n * @param targetWindow The window to match against, uses the globally available one as a default.\n */\nexport default function useMediaQuery(query, targetWindow = typeof window === 'undefined' ? undefined : window) {\n  const mql = getMatcher(query, targetWindow);\n  const [matches, setMatches] = useState(() => mql ? mql.matches : false);\n  useEffect(() => {\n    let mql = getMatcher(query, targetWindow);\n    if (!mql) {\n      return setMatches(false);\n    }\n    let matchers = matchersByWindow.get(targetWindow);\n    const handleChange = () => {\n      setMatches(mql.matches);\n    };\n    mql.refCount++;\n    mql.addListener(handleChange);\n    handleChange();\n    return () => {\n      mql.removeListener(handleChange);\n      mql.refCount--;\n      if (mql.refCount <= 0) {\n        matchers == null ? void 0 : matchers.delete(mql.media);\n      }\n      mql = undefined;\n    };\n  }, [query]);\n  return matches;\n}","import useMediaQuery from './useMediaQuery';\nimport { useMemo } from 'react';\n/**\n * Create a responsive hook we a set of breakpoint names and widths.\n * You can use any valid css units as well as a numbers (for pixels).\n *\n * **NOTE:** The object key order is important! it's assumed to be in order from smallest to largest\n *\n * ```ts\n * const useBreakpoint = createBreakpointHook({\n *  xs: 0,\n *  sm: 576,\n *  md: 768,\n *  lg: 992,\n *  xl: 1200,\n * })\n * ```\n *\n * **Watch out!** using string values will sometimes construct media queries using css `calc()` which\n * is NOT supported in media queries by all browsers at the moment. use numbers for\n * the widest range of browser support.\n *\n * @param breakpointValues A object hash of names to breakpoint dimensions\n */\nexport function createBreakpointHook(breakpointValues) {\n  const names = Object.keys(breakpointValues);\n  function and(query, next) {\n    if (query === next) {\n      return next;\n    }\n    return query ? `${query} and ${next}` : next;\n  }\n  function getNext(breakpoint) {\n    return names[Math.min(names.indexOf(breakpoint) + 1, names.length - 1)];\n  }\n  function getMaxQuery(breakpoint) {\n    const next = getNext(breakpoint);\n    let value = breakpointValues[next];\n    if (typeof value === 'number') value = `${value - 0.2}px`;else value = `calc(${value} - 0.2px)`;\n    return `(max-width: ${value})`;\n  }\n  function getMinQuery(breakpoint) {\n    let value = breakpointValues[breakpoint];\n    if (typeof value === 'number') {\n      value = `${value}px`;\n    }\n    return `(min-width: ${value})`;\n  }\n\n  /**\n   * Match a set of breakpoints\n   *\n   * ```tsx\n   * const MidSizeOnly = () => {\n   *   const isMid = useBreakpoint({ lg: 'down', sm: 'up' });\n   *\n   *   if (isMid) return <div>On a Reasonable sized Screen!</div>\n   *   return null;\n   * }\n   * ```\n   * @param breakpointMap An object map of breakpoints and directions, queries are constructed using \"and\" to join\n   * breakpoints together\n   * @param window Optionally specify the target window to match against (useful when rendering into iframes)\n   */\n\n  /**\n   * Match a single breakpoint exactly, up, or down.\n   *\n   * ```tsx\n   * const PhoneOnly = () => {\n   *   const isSmall = useBreakpoint('sm', 'down');\n   *\n   *   if (isSmall) return <div>On a Small Screen!</div>\n   *   return null;\n   * }\n   * ```\n   *\n   * @param breakpoint The breakpoint key\n   * @param direction A direction 'up' for a max, 'down' for min, true to match only the breakpoint\n   * @param window Optionally specify the target window to match against (useful when rendering into iframes)\n   */\n\n  function useBreakpoint(breakpointOrMap, direction, window) {\n    let breakpointMap;\n    if (typeof breakpointOrMap === 'object') {\n      breakpointMap = breakpointOrMap;\n      window = direction;\n      direction = true;\n    } else {\n      direction = direction || true;\n      breakpointMap = {\n        [breakpointOrMap]: direction\n      };\n    }\n    let query = useMemo(() => Object.entries(breakpointMap).reduce((query, [key, direction]) => {\n      if (direction === 'up' || direction === true) {\n        query = and(query, getMinQuery(key));\n      }\n      if (direction === 'down' || direction === true) {\n        query = and(query, getMaxQuery(key));\n      }\n      return query;\n    }, ''), [JSON.stringify(breakpointMap)]);\n    return useMediaQuery(query, window);\n  }\n  return useBreakpoint;\n}\nconst useBreakpoint = createBreakpointHook({\n  xs: 0,\n  sm: 576,\n  md: 768,\n  lg: 992,\n  xl: 1200,\n  xxl: 1400\n});\nexport default useBreakpoint;","import ownerDocument from './ownerDocument';\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nexport default function activeElement(doc) {\n  if (doc === void 0) {\n    doc = ownerDocument();\n  }\n\n  // Support: IE 9 only\n  // IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\n  try {\n    var active = doc.activeElement; // IE11 returns a seemingly empty object in some cases when accessing\n    // document.activeElement from an <iframe>\n\n    if (!active || !active.nodeName) return null;\n    return active;\n  } catch (e) {\n    /* ie throws if no active element */\n    return doc.body;\n  }\n}","/* eslint-disable no-bitwise, no-cond-assign */\n\n/**\n * Checks if an element contains another given element.\n * \n * @param context the context element\n * @param node the element to check\n */\nexport default function contains(context, node) {\n  // HTML DOM and SVG DOM may have different support levels,\n  // so we need to check on context instead of a document root element.\n  if (context.contains) return context.contains(node);\n  if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);\n}","import { useRef, useEffect } from 'react';\n\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n *   fetchdata().then((newData) => {\n *      if (isMounted()) {\n *        setData(newData);\n *      }\n *   })\n * })\n * ```\n */\nexport default function useMounted() {\n  const mounted = useRef(true);\n  const isMounted = useRef(() => mounted.current);\n  useEffect(() => {\n    mounted.current = true;\n    return () => {\n      mounted.current = false;\n    };\n  }, []);\n  return isMounted.current;\n}","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\nexport default function useWillUnmount(fn) {\n  const onUnmount = useUpdatedRef(fn);\n  useEffect(() => () => onUnmount.current(), []);\n}","import { useRef } from 'react';\n\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\nexport default function useUpdatedRef(value) {\n  const valueRef = useRef(value);\n  valueRef.current = value;\n  return valueRef;\n}","import { useEffect, useRef } from 'react';\n\n/**\n * Store the last of some value. Tracked via a `Ref` only updating it\n * after the component renders.\n *\n * Helpful if you need to compare a prop value to it's previous value during render.\n *\n * ```ts\n * function Component(props) {\n *   const lastProps = usePrevious(props)\n *\n *   if (lastProps.foo !== props.foo)\n *     resetValueFromProps(props.foo)\n * }\n * ```\n *\n * @param value the value to track\n */\nexport default function usePrevious(value) {\n  const ref = useRef(null);\n  useEffect(() => {\n    ref.current = value;\n  });\n  return ref.current;\n}","export const ATTRIBUTE_PREFIX = `data-rr-ui-`;\nexport const PROPERTY_PREFIX = `rrUi`;\nexport function dataAttr(property) {\n  return `${ATTRIBUTE_PREFIX}${property}`;\n}\nexport function dataProp(property) {\n  return `${PROPERTY_PREFIX}${property}`;\n}","import css from 'dom-helpers/css';\nimport { dataAttr } from './DataKey';\nimport getBodyScrollbarWidth from './getScrollbarWidth';\nexport const OPEN_DATA_ATTRIBUTE = dataAttr('modal-open');\n\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\nclass ModalManager {\n  constructor({\n    ownerDocument,\n    handleContainerOverflow = true,\n    isRTL = false\n  } = {}) {\n    this.handleContainerOverflow = handleContainerOverflow;\n    this.isRTL = isRTL;\n    this.modals = [];\n    this.ownerDocument = ownerDocument;\n  }\n  getScrollbarWidth() {\n    return getBodyScrollbarWidth(this.ownerDocument);\n  }\n  getElement() {\n    return (this.ownerDocument || document).body;\n  }\n  setModalAttributes(_modal) {\n    // For overriding\n  }\n  removeModalAttributes(_modal) {\n    // For overriding\n  }\n  setContainerStyle(containerState) {\n    const style = {\n      overflow: 'hidden'\n    };\n\n    // we are only interested in the actual `style` here\n    // because we will override it\n    const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n    const container = this.getElement();\n    containerState.style = {\n      overflow: container.style.overflow,\n      [paddingProp]: container.style[paddingProp]\n    };\n    if (containerState.scrollBarWidth) {\n      // use computed style, here to get the real padding\n      // to add our scrollbar width\n      style[paddingProp] = `${parseInt(css(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n    }\n    container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n    css(container, style);\n  }\n  reset() {\n    [...this.modals].forEach(m => this.remove(m));\n  }\n  removeContainerStyle(containerState) {\n    const container = this.getElement();\n    container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n    Object.assign(container.style, containerState.style);\n  }\n  add(modal) {\n    let modalIdx = this.modals.indexOf(modal);\n    if (modalIdx !== -1) {\n      return modalIdx;\n    }\n    modalIdx = this.modals.length;\n    this.modals.push(modal);\n    this.setModalAttributes(modal);\n    if (modalIdx !== 0) {\n      return modalIdx;\n    }\n    this.state = {\n      scrollBarWidth: this.getScrollbarWidth(),\n      style: {}\n    };\n    if (this.handleContainerOverflow) {\n      this.setContainerStyle(this.state);\n    }\n    return modalIdx;\n  }\n  remove(modal) {\n    const modalIdx = this.modals.indexOf(modal);\n    if (modalIdx === -1) {\n      return;\n    }\n    this.modals.splice(modalIdx, 1);\n\n    // if that was the last modal in a container,\n    // clean up the container\n    if (!this.modals.length && this.handleContainerOverflow) {\n      this.removeContainerStyle(this.state);\n    }\n    this.removeModalAttributes(modal);\n  }\n  isTopModal(modal) {\n    return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n  }\n}\nexport default ModalManager;","/**\n * Get the width of the vertical window scrollbar if it's visible\n */\nexport default function getBodyScrollbarWidth(ownerDocument = document) {\n  const window = ownerDocument.defaultView;\n  return Math.abs(window.innerWidth - ownerDocument.documentElement.clientWidth);\n}","import { createContext, useContext } from 'react';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nconst Context = /*#__PURE__*/createContext(canUseDOM ? window : undefined);\nexport const WindowProvider = Context.Provider;\n\n/**\n * The document \"window\" placed in React context. Helpful for determining\n * SSR context, or when rendering into an iframe.\n *\n * @returns the current window\n */\nexport default function useWindow() {\n  return useContext(Context);\n}","import ownerDocument from 'dom-helpers/ownerDocument';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport { useState, useEffect } from 'react';\nimport useWindow from './useWindow';\nexport const resolveContainerRef = (ref, document) => {\n  if (!canUseDOM) return null;\n  if (ref == null) return (document || ownerDocument()).body;\n  if (typeof ref === 'function') ref = ref();\n  if (ref && 'current' in ref) ref = ref.current;\n  if (ref && ('nodeType' in ref || ref.getBoundingClientRect)) return ref;\n  return null;\n};\nexport default function useWaitForDOMRef(ref, onResolved) {\n  const window = useWindow();\n  const [resolvedRef, setRef] = useState(() => resolveContainerRef(ref, window == null ? void 0 : window.document));\n  if (!resolvedRef) {\n    const earlyRef = resolveContainerRef(ref);\n    if (earlyRef) setRef(earlyRef);\n  }\n  useEffect(() => {\n    if (onResolved && resolvedRef) {\n      onResolved(resolvedRef);\n    }\n  }, [onResolved, resolvedRef]);\n  useEffect(() => {\n    const nextRef = resolveContainerRef(ref);\n    if (nextRef !== resolvedRef) {\n      setRef(nextRef);\n    }\n  }, [ref, resolvedRef]);\n  return resolvedRef;\n}","import useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { cloneElement, useEffect, useRef } from 'react';\nfunction NoopTransition({\n  children,\n  in: inProp,\n  onExited,\n  mountOnEnter,\n  unmountOnExit\n}) {\n  const ref = useRef(null);\n  const hasEnteredRef = useRef(inProp);\n  const handleExited = useEventCallback(onExited);\n  useEffect(() => {\n    if (inProp) hasEnteredRef.current = true;else {\n      handleExited(ref.current);\n    }\n  }, [inProp, handleExited]);\n  const combinedRef = useMergedRefs(ref, children.ref);\n  const child = /*#__PURE__*/cloneElement(children, {\n    ref: combinedRef\n  });\n  if (inProp) return child;\n  if (unmountOnExit) {\n    return null;\n  }\n  if (!hasEnteredRef.current && mountOnEnter) {\n    return null;\n  }\n  return child;\n}\nexport default NoopTransition;","import useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport React, { useRef, cloneElement, useState } from 'react';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTransition({\n  in: inProp,\n  onTransition\n}) {\n  const ref = useRef(null);\n  const isInitialRef = useRef(true);\n  const handleTransition = useEventCallback(onTransition);\n  useIsomorphicEffect(() => {\n    if (!ref.current) {\n      return undefined;\n    }\n    let stale = false;\n    handleTransition({\n      in: inProp,\n      element: ref.current,\n      initial: isInitialRef.current,\n      isStale: () => stale\n    });\n    return () => {\n      stale = true;\n    };\n  }, [inProp, handleTransition]);\n  useIsomorphicEffect(() => {\n    isInitialRef.current = false;\n    // this is for strict mode\n    return () => {\n      isInitialRef.current = true;\n    };\n  }, []);\n  return ref;\n}\n/**\n * Adapts an imperative transition function to a subset of the RTG `<Transition>` component API.\n *\n * ImperativeTransition does not support mounting options or `appear` at the moment, meaning\n * that it always acts like: `mountOnEnter={true} unmountOnExit={true} appear={true}`\n */\nexport default function ImperativeTransition({\n  children,\n  in: inProp,\n  onExited,\n  onEntered,\n  transition\n}) {\n  const [exited, setExited] = useState(!inProp);\n\n  // TODO: I think this needs to be in an effect\n  if (inProp && exited) {\n    setExited(false);\n  }\n  const ref = useTransition({\n    in: !!inProp,\n    onTransition: options => {\n      const onFinish = () => {\n        if (options.isStale()) return;\n        if (options.in) {\n          onEntered == null ? void 0 : onEntered(options.element, options.initial);\n        } else {\n          setExited(true);\n          onExited == null ? void 0 : onExited(options.element);\n        }\n      };\n      Promise.resolve(transition(options)).then(onFinish, error => {\n        if (!options.in) setExited(true);\n        throw error;\n      });\n    }\n  });\n  const combinedRef = useMergedRefs(ref, children.ref);\n  return exited && !inProp ? null : /*#__PURE__*/cloneElement(children, {\n    ref: combinedRef\n  });\n}\nexport function renderTransition(Component, runTransition, props) {\n  if (Component) {\n    return /*#__PURE__*/_jsx(Component, Object.assign({}, props));\n  }\n  if (runTransition) {\n    return /*#__PURE__*/_jsx(ImperativeTransition, Object.assign({}, props, {\n      transition: runTransition\n    }));\n  }\n  return /*#__PURE__*/_jsx(NoopTransition, Object.assign({}, props));\n}","/* eslint-disable import/prefer-default-export */\nexport function isEscKey(e) {\n  return e.code === 'Escape' || e.keyCode === 27;\n}","const _excluded = [\"show\", \"role\", \"className\", \"style\", \"children\", \"backdrop\", \"keyboard\", \"onBackdropClick\", \"onEscapeKeyDown\", \"transition\", \"runTransition\", \"backdropTransition\", \"runBackdropTransition\", \"autoFocus\", \"enforceFocus\", \"restoreFocus\", \"restoreFocusOptions\", \"renderDialog\", \"renderBackdrop\", \"manager\", \"container\", \"onShow\", \"onHide\", \"onExit\", \"onExited\", \"onExiting\", \"onEnter\", \"onEntering\", \"onEntered\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable @typescript-eslint/no-use-before-define, react/prop-types */\n\nimport activeElement from 'dom-helpers/activeElement';\nimport contains from 'dom-helpers/contains';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport listen from 'dom-helpers/listen';\nimport { useState, useRef, useCallback, useImperativeHandle, forwardRef, useEffect } from 'react';\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useMounted from '@restart/hooks/useMounted';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport ModalManager from './ModalManager';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport useWindow from './useWindow';\nimport { renderTransition } from './ImperativeTransition';\nimport { isEscKey } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nlet manager;\nfunction getManager(window) {\n  if (!manager) manager = new ModalManager({\n    ownerDocument: window == null ? void 0 : window.document\n  });\n  return manager;\n}\nfunction useModalManager(provided) {\n  const window = useWindow();\n  const modalManager = provided || getManager(window);\n  const modal = useRef({\n    dialog: null,\n    backdrop: null\n  });\n  return Object.assign(modal.current, {\n    add: () => modalManager.add(modal.current),\n    remove: () => modalManager.remove(modal.current),\n    isTopModal: () => modalManager.isTopModal(modal.current),\n    setDialogRef: useCallback(ref => {\n      modal.current.dialog = ref;\n    }, []),\n    setBackdropRef: useCallback(ref => {\n      modal.current.backdrop = ref;\n    }, [])\n  });\n}\nconst Modal = /*#__PURE__*/forwardRef((_ref, ref) => {\n  let {\n      show = false,\n      role = 'dialog',\n      className,\n      style,\n      children,\n      backdrop = true,\n      keyboard = true,\n      onBackdropClick,\n      onEscapeKeyDown,\n      transition,\n      runTransition,\n      backdropTransition,\n      runBackdropTransition,\n      autoFocus = true,\n      enforceFocus = true,\n      restoreFocus = true,\n      restoreFocusOptions,\n      renderDialog,\n      renderBackdrop = props => /*#__PURE__*/_jsx(\"div\", Object.assign({}, props)),\n      manager: providedManager,\n      container: containerRef,\n      onShow,\n      onHide = () => {},\n      onExit,\n      onExited,\n      onExiting,\n      onEnter,\n      onEntering,\n      onEntered\n    } = _ref,\n    rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const ownerWindow = useWindow();\n  const container = useWaitForDOMRef(containerRef);\n  const modal = useModalManager(providedManager);\n  const isMounted = useMounted();\n  const prevShow = usePrevious(show);\n  const [exited, setExited] = useState(!show);\n  const lastFocusRef = useRef(null);\n  useImperativeHandle(ref, () => modal, [modal]);\n  if (canUseDOM && !prevShow && show) {\n    lastFocusRef.current = activeElement(ownerWindow == null ? void 0 : ownerWindow.document);\n  }\n\n  // TODO: I think this needs to be in an effect\n  if (show && exited) {\n    setExited(false);\n  }\n  const handleShow = useEventCallback(() => {\n    modal.add();\n    removeKeydownListenerRef.current = listen(document, 'keydown', handleDocumentKeyDown);\n    removeFocusListenerRef.current = listen(document, 'focus',\n    // the timeout is necessary b/c this will run before the new modal is mounted\n    // and so steals focus from it\n    () => setTimeout(handleEnforceFocus), true);\n    if (onShow) {\n      onShow();\n    }\n\n    // autofocus after onShow to not trigger a focus event for previous\n    // modals before this one is shown.\n    if (autoFocus) {\n      var _modal$dialog$ownerDo, _modal$dialog;\n      const currentActiveElement = activeElement((_modal$dialog$ownerDo = (_modal$dialog = modal.dialog) == null ? void 0 : _modal$dialog.ownerDocument) != null ? _modal$dialog$ownerDo : ownerWindow == null ? void 0 : ownerWindow.document);\n      if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n        lastFocusRef.current = currentActiveElement;\n        modal.dialog.focus();\n      }\n    }\n  });\n  const handleHide = useEventCallback(() => {\n    modal.remove();\n    removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();\n    removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();\n    if (restoreFocus) {\n      var _lastFocusRef$current;\n      // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n      (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);\n      lastFocusRef.current = null;\n    }\n  });\n\n  // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120\n\n  // Show logic when:\n  //  - show is `true` _and_ `container` has resolved\n  useEffect(() => {\n    if (!show || !container) return;\n    handleShow();\n  }, [show, container, /* should never change: */handleShow]);\n\n  // Hide cleanup logic when:\n  //  - `exited` switches to true\n  //  - component unmounts;\n  useEffect(() => {\n    if (!exited) return;\n    handleHide();\n  }, [exited, handleHide]);\n  useWillUnmount(() => {\n    handleHide();\n  });\n\n  // --------------------------------\n\n  const handleEnforceFocus = useEventCallback(() => {\n    if (!enforceFocus || !isMounted() || !modal.isTopModal()) {\n      return;\n    }\n    const currentActiveElement = activeElement(ownerWindow == null ? void 0 : ownerWindow.document);\n    if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) {\n      modal.dialog.focus();\n    }\n  });\n  const handleBackdropClick = useEventCallback(e => {\n    if (e.target !== e.currentTarget) {\n      return;\n    }\n    onBackdropClick == null ? void 0 : onBackdropClick(e);\n    if (backdrop === true) {\n      onHide();\n    }\n  });\n  const handleDocumentKeyDown = useEventCallback(e => {\n    if (keyboard && isEscKey(e) && modal.isTopModal()) {\n      onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n      if (!e.defaultPrevented) {\n        onHide();\n      }\n    }\n  });\n  const removeFocusListenerRef = useRef();\n  const removeKeydownListenerRef = useRef();\n  const handleHidden = (...args) => {\n    setExited(true);\n    onExited == null ? void 0 : onExited(...args);\n  };\n  if (!container) {\n    return null;\n  }\n  const dialogProps = Object.assign({\n    role,\n    ref: modal.setDialogRef,\n    // apparently only works on the dialog role element\n    'aria-modal': role === 'dialog' ? true : undefined\n  }, rest, {\n    style,\n    className,\n    tabIndex: -1\n  });\n  let dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/_jsx(\"div\", Object.assign({}, dialogProps, {\n    children: /*#__PURE__*/React.cloneElement(children, {\n      role: 'document'\n    })\n  }));\n  dialog = renderTransition(transition, runTransition, {\n    unmountOnExit: true,\n    mountOnEnter: true,\n    appear: true,\n    in: !!show,\n    onExit,\n    onExiting,\n    onExited: handleHidden,\n    onEnter,\n    onEntering,\n    onEntered,\n    children: dialog\n  });\n  let backdropElement = null;\n  if (backdrop) {\n    backdropElement = renderBackdrop({\n      ref: modal.setBackdropRef,\n      onClick: handleBackdropClick\n    });\n    backdropElement = renderTransition(backdropTransition, runBackdropTransition, {\n      in: !!show,\n      appear: true,\n      mountOnEnter: true,\n      unmountOnExit: true,\n      children: backdropElement\n    });\n  }\n  return /*#__PURE__*/_jsx(_Fragment, {\n    children: /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/_jsxs(_Fragment, {\n      children: [backdropElement, dialog]\n    }), container)\n  });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n  Manager: ModalManager\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n  [ENTERING]: 'show',\n  [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n  className,\n  children,\n  transitionClasses = {},\n  onEnter,\n  ...rest\n}, ref) => {\n  const props = {\n    in: false,\n    timeout: 300,\n    mountOnEnter: false,\n    unmountOnExit: false,\n    appear: false,\n    ...rest\n  };\n  const handleEnter = useCallback((node, isAppearing) => {\n    triggerBrowserReflow(node);\n    onEnter == null ? void 0 : onEnter(node, isAppearing);\n  }, [onEnter]);\n  return /*#__PURE__*/_jsx(TransitionWrapper, {\n    ref: ref,\n    addEndListener: transitionEndListener,\n    ...props,\n    onEnter: handleEnter,\n    childRef: children.ref,\n    children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n      ...innerProps,\n      className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n    })\n  });\n});\nFade.displayName = 'Fade';\nexport default Fade;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OffcanvasBody = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-body');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nOffcanvasBody.displayName = 'OffcanvasBody';\nexport default OffcanvasBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ENTERED, ENTERING, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport TransitionWrapper from './TransitionWrapper';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst transitionStyles = {\n  [ENTERING]: 'show',\n  [ENTERED]: 'show'\n};\nconst OffcanvasToggling = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  children,\n  in: inProp = false,\n  mountOnEnter = false,\n  unmountOnExit = false,\n  appear = false,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n  return /*#__PURE__*/_jsx(TransitionWrapper, {\n    ref: ref,\n    addEndListener: transitionEndListener,\n    in: inProp,\n    mountOnEnter: mountOnEnter,\n    unmountOnExit: unmountOnExit,\n    appear: appear,\n    ...props,\n    childRef: children.ref,\n    children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n      ...innerProps,\n      className: classNames(className, children.props.className, (status === ENTERING || status === EXITING) && `${bsPrefix}-toggling`, transitionStyles[status])\n    })\n  });\n});\nOffcanvasToggling.displayName = 'OffcanvasToggling';\nexport default OffcanvasToggling;","\"use client\";\n\nimport * as React from 'react';\nconst ModalContext = /*#__PURE__*/React.createContext({\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  onHide() {}\n});\nexport default ModalContext;","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n  /** An accessible label indicating the relevant information about the Close Button. */\n  'aria-label': PropTypes.string,\n  /** A callback fired after the Close Button is clicked. */\n  onClick: PropTypes.func,\n  /**\n   * Render different color variant for the button.\n   *\n   * Omitting this will render the default dark color.\n   */\n  variant: PropTypes.oneOf(['white'])\n};\nconst CloseButton = /*#__PURE__*/React.forwardRef(({\n  className,\n  variant,\n  'aria-label': ariaLabel = 'Close',\n  ...props\n}, ref) => /*#__PURE__*/_jsx(\"button\", {\n  ref: ref,\n  type: \"button\",\n  className: classNames('btn-close', variant && `btn-close-${variant}`, className),\n  \"aria-label\": ariaLabel,\n  ...props\n}));\nCloseButton.displayName = 'CloseButton';\nCloseButton.propTypes = propTypes;\nexport default CloseButton;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport CloseButton from './CloseButton';\nimport ModalContext from './ModalContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst AbstractModalHeader = /*#__PURE__*/React.forwardRef(({\n  closeLabel = 'Close',\n  closeVariant,\n  closeButton = false,\n  onHide,\n  children,\n  ...props\n}, ref) => {\n  const context = useContext(ModalContext);\n  const handleClick = useEventCallback(() => {\n    context == null ? void 0 : context.onHide();\n    onHide == null ? void 0 : onHide();\n  });\n  return /*#__PURE__*/_jsxs(\"div\", {\n    ref: ref,\n    ...props,\n    children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n      \"aria-label\": closeLabel,\n      variant: closeVariant,\n      onClick: handleClick\n    })]\n  });\n});\nexport default AbstractModalHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OffcanvasHeader = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  closeLabel = 'Close',\n  closeButton = false,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-header');\n  return /*#__PURE__*/_jsx(AbstractModalHeader, {\n    ref: ref,\n    ...props,\n    className: classNames(className, bsPrefix),\n    closeLabel: closeLabel,\n    closeButton: closeButton\n  });\n});\nOffcanvasHeader.displayName = 'OffcanvasHeader';\nexport default OffcanvasHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst OffcanvasTitle = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = DivStyledAsH5,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-title');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nOffcanvasTitle.displayName = 'OffcanvasTitle';\nexport default OffcanvasTitle;","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n  if (element.classList) return !!className && element.classList.contains(className);\n  return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n/**\n * Runs `querySelectorAll` on a given element.\n * \n * @param element the element\n * @param selector the selector\n */\n\nexport default function qsa(element, selector) {\n  return toArray(element.querySelectorAll(selector));\n}","function replaceClassName(origClass, classToRemove) {\n  return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n  if (element.classList) {\n    element.classList.remove(className);\n  } else if (typeof element.className === 'string') {\n    element.className = replaceClassName(element.className, className);\n  } else {\n    element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n  }\n}","import addClass from 'dom-helpers/addClass';\nimport css from 'dom-helpers/css';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport removeClass from 'dom-helpers/removeClass';\nimport ModalManager from '@restart/ui/ModalManager';\nconst Selector = {\n  FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n  STICKY_CONTENT: '.sticky-top',\n  NAVBAR_TOGGLER: '.navbar-toggler'\n};\nclass BootstrapModalManager extends ModalManager {\n  adjustAndStore(prop, element, adjust) {\n    const actual = element.style[prop];\n    // TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible\n    // @ts-ignore\n    element.dataset[prop] = actual;\n    css(element, {\n      [prop]: `${parseFloat(css(element, prop)) + adjust}px`\n    });\n  }\n  restore(prop, element) {\n    const value = element.dataset[prop];\n    if (value !== undefined) {\n      delete element.dataset[prop];\n      css(element, {\n        [prop]: value\n      });\n    }\n  }\n  setContainerStyle(containerState) {\n    super.setContainerStyle(containerState);\n    const container = this.getElement();\n    addClass(container, 'modal-open');\n    if (!containerState.scrollBarWidth) return;\n    const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n    const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n    qsa(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));\n    qsa(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));\n    qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));\n  }\n  removeContainerStyle(containerState) {\n    super.removeContainerStyle(containerState);\n    const container = this.getElement();\n    removeClass(container, 'modal-open');\n    const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n    const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n    qsa(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));\n    qsa(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));\n    qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));\n  }\n}\nlet sharedManager;\nexport function getSharedManager(options) {\n  if (!sharedManager) sharedManager = new BootstrapModalManager(options);\n  return sharedManager;\n}\nexport default BootstrapModalManager;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n  if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport useBreakpoint from '@restart/hooks/useBreakpoint';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport * as React from 'react';\nimport { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport Fade from './Fade';\nimport OffcanvasBody from './OffcanvasBody';\nimport OffcanvasToggling from './OffcanvasToggling';\nimport ModalContext from './ModalContext';\nimport NavbarContext from './NavbarContext';\nimport OffcanvasHeader from './OffcanvasHeader';\nimport OffcanvasTitle from './OffcanvasTitle';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport BootstrapModalManager, { getSharedManager } from './BootstrapModalManager';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction DialogTransition(props) {\n  return /*#__PURE__*/_jsx(OffcanvasToggling, {\n    ...props\n  });\n}\nfunction BackdropTransition(props) {\n  return /*#__PURE__*/_jsx(Fade, {\n    ...props\n  });\n}\nconst Offcanvas = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  children,\n  'aria-labelledby': ariaLabelledby,\n  placement = 'start',\n  responsive,\n  /* BaseModal props */\n\n  show = false,\n  backdrop = true,\n  keyboard = true,\n  scroll = false,\n  onEscapeKeyDown,\n  onShow,\n  onHide,\n  container,\n  autoFocus = true,\n  enforceFocus = true,\n  restoreFocus = true,\n  restoreFocusOptions,\n  onEntered,\n  onExit,\n  onExiting,\n  onEnter,\n  onEntering,\n  onExited,\n  backdropClassName,\n  manager: propsManager,\n  renderStaticNode = false,\n  ...props\n}, ref) => {\n  const modalManager = useRef();\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n  const {\n    onToggle\n  } = useContext(NavbarContext) || {};\n  const [showOffcanvas, setShowOffcanvas] = useState(false);\n  const hideResponsiveOffcanvas = useBreakpoint(responsive || 'xs', 'up');\n  useEffect(() => {\n    // Handles the case where screen is resized while the responsive\n    // offcanvas is shown. If `responsive` not provided, just use `show`.\n    setShowOffcanvas(responsive ? show && !hideResponsiveOffcanvas : show);\n  }, [show, responsive, hideResponsiveOffcanvas]);\n  const handleHide = useEventCallback(() => {\n    onToggle == null ? void 0 : onToggle();\n    onHide == null ? void 0 : onHide();\n  });\n  const modalContext = useMemo(() => ({\n    onHide: handleHide\n  }), [handleHide]);\n  function getModalManager() {\n    if (propsManager) return propsManager;\n    if (scroll) {\n      // Have to use a different modal manager since the shared\n      // one handles overflow.\n      if (!modalManager.current) modalManager.current = new BootstrapModalManager({\n        handleContainerOverflow: false\n      });\n      return modalManager.current;\n    }\n    return getSharedManager();\n  }\n  const handleEnter = (node, ...args) => {\n    if (node) node.style.visibility = 'visible';\n    onEnter == null ? void 0 : onEnter(node, ...args);\n  };\n  const handleExited = (node, ...args) => {\n    if (node) node.style.visibility = '';\n    onExited == null ? void 0 : onExited(...args);\n  };\n  const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n    ...backdropProps,\n    className: classNames(`${bsPrefix}-backdrop`, backdropClassName)\n  }), [backdropClassName, bsPrefix]);\n  const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n    ...dialogProps,\n    ...props,\n    className: classNames(className, responsive ? `${bsPrefix}-${responsive}` : bsPrefix, `${bsPrefix}-${placement}`),\n    \"aria-labelledby\": ariaLabelledby,\n    children: children\n  });\n  return /*#__PURE__*/_jsxs(_Fragment, {\n    children: [!showOffcanvas && (responsive || renderStaticNode) && renderDialog({}), /*#__PURE__*/_jsx(ModalContext.Provider, {\n      value: modalContext,\n      children: /*#__PURE__*/_jsx(BaseModal, {\n        show: showOffcanvas,\n        ref: ref,\n        backdrop: backdrop,\n        container: container,\n        keyboard: keyboard,\n        autoFocus: autoFocus,\n        enforceFocus: enforceFocus && !scroll,\n        restoreFocus: restoreFocus,\n        restoreFocusOptions: restoreFocusOptions,\n        onEscapeKeyDown: onEscapeKeyDown,\n        onShow: onShow,\n        onHide: handleHide,\n        onEnter: handleEnter,\n        onEntering: onEntering,\n        onEntered: onEntered,\n        onExit: onExit,\n        onExiting: onExiting,\n        onExited: handleExited,\n        manager: getModalManager(),\n        transition: DialogTransition,\n        backdropTransition: BackdropTransition,\n        renderBackdrop: renderBackdrop,\n        renderDialog: renderDialog\n      })\n    })]\n  });\n});\nOffcanvas.displayName = 'Offcanvas';\nexport default Object.assign(Offcanvas, {\n  Body: OffcanvasBody,\n  Header: OffcanvasHeader,\n  Title: OffcanvasTitle\n});","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Offcanvas from './Offcanvas';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarOffcanvas = /*#__PURE__*/React.forwardRef((props, ref) => {\n  const context = useContext(NavbarContext);\n  return /*#__PURE__*/_jsx(Offcanvas, {\n    ref: ref,\n    show: !!(context != null && context.expanded),\n    ...props,\n    renderStaticNode: true\n  });\n});\nNavbarOffcanvas.displayName = 'NavbarOffcanvas';\nexport default NavbarOffcanvas;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarText = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'span',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-text');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nNavbarText.displayName = 'NavbarText';\nexport default NavbarText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport { useUncontrolled } from 'uncontrollable';\nimport NavbarBrand from './NavbarBrand';\nimport NavbarCollapse from './NavbarCollapse';\nimport NavbarToggle from './NavbarToggle';\nimport NavbarOffcanvas from './NavbarOffcanvas';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport NavbarText from './NavbarText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Navbar = /*#__PURE__*/React.forwardRef((props, ref) => {\n  const {\n    bsPrefix: initialBsPrefix,\n    expand = true,\n    variant = 'light',\n    bg,\n    fixed,\n    sticky,\n    className,\n    // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n    as: Component = 'nav',\n    expanded,\n    onToggle,\n    onSelect,\n    collapseOnSelect = false,\n    ...controlledProps\n  } = useUncontrolled(props, {\n    expanded: 'onToggle'\n  });\n  const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'navbar');\n  const handleCollapse = useCallback((...args) => {\n    onSelect == null ? void 0 : onSelect(...args);\n    if (collapseOnSelect && expanded) {\n      onToggle == null ? void 0 : onToggle(false);\n    }\n  }, [onSelect, collapseOnSelect, expanded, onToggle]);\n\n  // will result in some false positives but that seems better\n  // than false negatives. strict `undefined` check allows explicit\n  // \"nulling\" of the role if the user really doesn't want one\n  if (controlledProps.role === undefined && Component !== 'nav') {\n    controlledProps.role = 'navigation';\n  }\n  let expandClass = `${bsPrefix}-expand`;\n  if (typeof expand === 'string') expandClass = `${expandClass}-${expand}`;\n  const navbarContext = useMemo(() => ({\n    onToggle: () => onToggle == null ? void 0 : onToggle(!expanded),\n    bsPrefix,\n    expanded: !!expanded,\n    expand\n  }), [bsPrefix, expanded, expand, onToggle]);\n  return /*#__PURE__*/_jsx(NavbarContext.Provider, {\n    value: navbarContext,\n    children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n      value: handleCollapse,\n      children: /*#__PURE__*/_jsx(Component, {\n        ref: ref,\n        ...controlledProps,\n        className: classNames(className, bsPrefix, expand && expandClass, variant && `${bsPrefix}-${variant}`, bg && `bg-${bg}`, sticky && `sticky-${sticky}`, fixed && `fixed-${fixed}`)\n      })\n    })\n  });\n});\nNavbar.displayName = 'Navbar';\nexport default Object.assign(Navbar, {\n  Brand: NavbarBrand,\n  Collapse: NavbarCollapse,\n  Offcanvas: NavbarOffcanvas,\n  Text: NavbarText,\n  Toggle: NavbarToggle\n});","import PropTypes from 'prop-types';\nimport { DEFAULT_BREAKPOINTS, DEFAULT_MIN_BREAKPOINT } from './ThemeProvider';\nexport function responsivePropType(propType) {\n  return PropTypes.oneOfType([propType, PropTypes.shape({\n    xs: propType,\n    sm: propType,\n    md: propType,\n    lg: propType,\n    xl: propType,\n    xxl: propType\n  })]);\n}\nexport default function createUtilityClassName(utilityValues, breakpoints = DEFAULT_BREAKPOINTS, minBreakpoint = DEFAULT_MIN_BREAKPOINT) {\n  const classes = [];\n  Object.entries(utilityValues).forEach(([utilName, utilValue]) => {\n    if (utilValue != null) {\n      if (typeof utilValue === 'object') {\n        breakpoints.forEach(brkPoint => {\n          const bpValue = utilValue[brkPoint];\n          if (bpValue != null) {\n            const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n            classes.push(`${utilName}${infix}-${bpValue}`);\n          }\n        });\n      } else {\n        classes.push(`${utilName}-${utilValue}`);\n      }\n    }\n  });\n  return classes;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport createUtilityClassName, { responsivePropType } from './createUtilityClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Stack = /*#__PURE__*/React.forwardRef(({\n  as: Component = 'div',\n  bsPrefix,\n  className,\n  direction,\n  gap,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, direction === 'horizontal' ? 'hstack' : 'vstack');\n  const breakpoints = useBootstrapBreakpoints();\n  const minBreakpoint = useBootstrapMinBreakpoint();\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ref: ref,\n    className: classNames(className, bsPrefix, ...createUtilityClassName({\n      gap\n    }, breakpoints, minBreakpoint))\n  });\n});\nStack.displayName = 'Stack';\nexport default Stack;","import { useReducer } from 'react';\n\n/**\n * Returns a function that triggers a component update. the hook equivalent to\n * `this.forceUpdate()` in a class component. In most cases using a state value directly\n * is preferable but may be required in some advanced usages of refs for interop or\n * when direct DOM manipulation is required.\n *\n * ```ts\n * const forceUpdate = useForceUpdate();\n *\n * const updateOnClick = useCallback(() => {\n *  forceUpdate()\n * }, [forceUpdate])\n *\n * return <button type=\"button\" onClick={updateOnClick}>Hi there</button>\n * ```\n */\nexport default function useForceUpdate() {\n  // The toggling state value is designed to defeat React optimizations for skipping\n  // updates when they are strictly equal to the last state value\n  const [, dispatch] = useReducer(state => !state, false);\n  return dispatch;\n}","import * as React from 'react';\nconst NavContext = /*#__PURE__*/React.createContext(null);\nNavContext.displayName = 'NavContext';\nexport default NavContext;","import * as React from 'react';\nconst TabContext = /*#__PURE__*/React.createContext(null);\nexport default TabContext;","const _excluded = [\"as\", \"disabled\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n  return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n  tagName,\n  disabled,\n  href,\n  target,\n  rel,\n  role,\n  onClick,\n  tabIndex = 0,\n  type\n}) {\n  if (!tagName) {\n    if (href != null || target != null || rel != null) {\n      tagName = 'a';\n    } else {\n      tagName = 'button';\n    }\n  }\n  const meta = {\n    tagName\n  };\n  if (tagName === 'button') {\n    return [{\n      type: type || 'button',\n      disabled\n    }, meta];\n  }\n  const handleClick = event => {\n    if (disabled || tagName === 'a' && isTrivialHref(href)) {\n      event.preventDefault();\n    }\n    if (disabled) {\n      event.stopPropagation();\n      return;\n    }\n    onClick == null ? void 0 : onClick(event);\n  };\n  const handleKeyDown = event => {\n    if (event.key === ' ') {\n      event.preventDefault();\n      handleClick(event);\n    }\n  };\n  if (tagName === 'a') {\n    // Ensure there's a href so Enter can trigger anchor button.\n    href || (href = '#');\n    if (disabled) {\n      href = undefined;\n    }\n  }\n  return [{\n    role: role != null ? role : 'button',\n    // explicitly undefined so that it overrides the props disabled in a spread\n    // e.g. <Tag {...props} {...hookProps} />\n    disabled: undefined,\n    tabIndex: disabled ? undefined : tabIndex,\n    href,\n    target: tagName === 'a' ? target : undefined,\n    'aria-disabled': !disabled ? undefined : disabled,\n    rel: tagName === 'a' ? rel : undefined,\n    onClick: handleClick,\n    onKeyDown: handleKeyDown\n  }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n  let {\n      as: asProp,\n      disabled\n    } = _ref,\n    props = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const [buttonProps, {\n    tagName: Component\n  }] = useButtonProps(Object.assign({\n    tagName: asProp,\n    disabled\n  }, props));\n  return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n    ref: ref\n  }));\n});\nButton.displayName = 'Button';\nexport default Button;","const _excluded = [\"as\", \"active\", \"eventKey\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport TabContext from './TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useNavItem({\n  key,\n  onClick,\n  active,\n  id,\n  role,\n  disabled\n}) {\n  const parentOnSelect = useContext(SelectableContext);\n  const navContext = useContext(NavContext);\n  const tabContext = useContext(TabContext);\n  let isActive = active;\n  const props = {\n    role\n  };\n  if (navContext) {\n    if (!role && navContext.role === 'tablist') props.role = 'tab';\n    const contextControllerId = navContext.getControllerId(key != null ? key : null);\n    const contextControlledId = navContext.getControlledId(key != null ? key : null);\n\n    // @ts-ignore\n    props[dataAttr('event-key')] = key;\n    props.id = contextControllerId || id;\n    isActive = active == null && key != null ? navContext.activeKey === key : active;\n\n    /**\n     * Simplified scenario for `mountOnEnter`.\n     *\n     * While it would make sense to keep 'aria-controls' for tabs that have been mounted at least\n     * once, it would also complicate the code quite a bit, for very little gain.\n     * The following implementation is probably good enough.\n     *\n     * @see https://github.com/react-restart/ui/pull/40#issuecomment-1009971561\n     */\n    if (isActive || !(tabContext != null && tabContext.unmountOnExit) && !(tabContext != null && tabContext.mountOnEnter)) props['aria-controls'] = contextControlledId;\n  }\n  if (props.role === 'tab') {\n    props['aria-selected'] = isActive;\n    if (!isActive) {\n      props.tabIndex = -1;\n    }\n    if (disabled) {\n      props.tabIndex = -1;\n      props['aria-disabled'] = true;\n    }\n  }\n  props.onClick = useEventCallback(e => {\n    if (disabled) return;\n    onClick == null ? void 0 : onClick(e);\n    if (key == null) {\n      return;\n    }\n    if (parentOnSelect && !e.isPropagationStopped()) {\n      parentOnSelect(key, e);\n    }\n  });\n  return [props, {\n    isActive\n  }];\n}\nconst NavItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n  let {\n      as: Component = Button,\n      active,\n      eventKey\n    } = _ref,\n    options = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const [props, meta] = useNavItem(Object.assign({\n    key: makeEventKey(eventKey, options.href),\n    active\n  }, options));\n\n  // @ts-ignore\n  props[dataAttr('active')] = meta.isActive;\n  return /*#__PURE__*/_jsx(Component, Object.assign({}, options, props, {\n    ref: ref\n  }));\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","const _excluded = [\"as\", \"onSelect\", \"activeKey\", \"role\", \"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport qsa from 'dom-helpers/querySelectorAll';\nimport * as React from 'react';\nimport { useContext, useEffect, useRef } from 'react';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport NavContext from './NavContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport TabContext from './TabContext';\nimport { dataAttr, dataProp } from './DataKey';\nimport NavItem from './NavItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\nconst EVENT_KEY_ATTR = dataAttr('event-key');\nconst Nav = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n  let {\n      // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n      as: Component = 'div',\n      onSelect,\n      activeKey,\n      role,\n      onKeyDown\n    } = _ref,\n    props = _objectWithoutPropertiesLoose(_ref, _excluded);\n  // A ref and forceUpdate for refocus, b/c we only want to trigger when needed\n  // and don't want to reset the set in the effect\n  const forceUpdate = useForceUpdate();\n  const needsRefocusRef = useRef(false);\n  const parentOnSelect = useContext(SelectableContext);\n  const tabContext = useContext(TabContext);\n  let getControlledId, getControllerId;\n  if (tabContext) {\n    role = role || 'tablist';\n    activeKey = tabContext.activeKey;\n    // TODO: do we need to duplicate these?\n    getControlledId = tabContext.getControlledId;\n    getControllerId = tabContext.getControllerId;\n  }\n  const listNode = useRef(null);\n  const getNextActiveTab = offset => {\n    const currentListNode = listNode.current;\n    if (!currentListNode) return null;\n    const items = qsa(currentListNode, `[${EVENT_KEY_ATTR}]:not([aria-disabled=true])`);\n    const activeChild = currentListNode.querySelector('[aria-selected=true]');\n    if (!activeChild || activeChild !== document.activeElement) return null;\n    const index = items.indexOf(activeChild);\n    if (index === -1) return null;\n    let nextIndex = index + offset;\n    if (nextIndex >= items.length) nextIndex = 0;\n    if (nextIndex < 0) nextIndex = items.length - 1;\n    return items[nextIndex];\n  };\n  const handleSelect = (key, event) => {\n    if (key == null) return;\n    onSelect == null ? void 0 : onSelect(key, event);\n    parentOnSelect == null ? void 0 : parentOnSelect(key, event);\n  };\n  const handleKeyDown = event => {\n    onKeyDown == null ? void 0 : onKeyDown(event);\n    if (!tabContext) {\n      return;\n    }\n    let nextActiveChild;\n    switch (event.key) {\n      case 'ArrowLeft':\n      case 'ArrowUp':\n        nextActiveChild = getNextActiveTab(-1);\n        break;\n      case 'ArrowRight':\n      case 'ArrowDown':\n        nextActiveChild = getNextActiveTab(1);\n        break;\n      default:\n        return;\n    }\n    if (!nextActiveChild) return;\n    event.preventDefault();\n    handleSelect(nextActiveChild.dataset[dataProp('EventKey')] || null, event);\n    needsRefocusRef.current = true;\n    forceUpdate();\n  };\n  useEffect(() => {\n    if (listNode.current && needsRefocusRef.current) {\n      const activeChild = listNode.current.querySelector(`[${EVENT_KEY_ATTR}][aria-selected=true]`);\n      activeChild == null ? void 0 : activeChild.focus();\n    }\n    needsRefocusRef.current = false;\n  });\n  const mergedRef = useMergedRefs(ref, listNode);\n  return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n    value: handleSelect,\n    children: /*#__PURE__*/_jsx(NavContext.Provider, {\n      value: {\n        role,\n        // used by NavLink to determine it's role\n        activeKey: makeEventKey(activeKey),\n        getControlledId: getControlledId || noop,\n        getControllerId: getControllerId || noop\n      },\n      children: /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n        onKeyDown: handleKeyDown,\n        ref: mergedRef,\n        role: role\n      }))\n    })\n  });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n  Item: NavItem\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavItem = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","import { useState } from 'react';\n\n/**\n * A convenience hook around `useState` designed to be paired with\n * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.\n * Callback refs are useful over `useRef()` when you need to respond to the ref being set\n * instead of lazily accessing it in an effect.\n *\n * ```ts\n * const [element, attachRef] = useCallbackRef<HTMLDivElement>()\n *\n * useEffect(() => {\n *   if (!element) return\n *\n *   const calendar = new FullCalendar.Calendar(element)\n *\n *   return () => {\n *     calendar.destroy()\n *   }\n * }, [element])\n *\n * return <div ref={attachRef} />\n * ```\n *\n * @category refs\n */\nexport default function useCallbackRef() {\n  return useState(null);\n}","import { useState } from 'react';\nimport useEffect from './useIsomorphicEffect';\nconst targetMap = new WeakMap();\nlet resizeObserver;\nfunction getResizeObserver() {\n  // eslint-disable-next-line no-return-assign\n  return resizeObserver = resizeObserver || new window.ResizeObserver(entries => {\n    entries.forEach(entry => {\n      const handler = targetMap.get(entry.target);\n      if (handler) handler(entry.contentRect);\n    });\n  });\n}\n\n/**\n * Efficiently observe size changes on an element. Depends on the `ResizeObserver` api,\n * and polyfills are needed in older browsers.\n *\n * ```ts\n * const [ref, attachRef] = useCallbackRef(null);\n *\n * const rect = useResizeObserver(ref);\n *\n * return (\n *  <div ref={attachRef}>\n *    {JSON.stringify(rect)}\n *  </div>\n * )\n * ```\n *\n * @param element The DOM element to observe\n */\nexport default function useResizeObserver(element) {\n  const [rect, setRect] = useState(null);\n  useEffect(() => {\n    if (!element) return;\n    getResizeObserver().observe(element);\n    setRect(element.getBoundingClientRect());\n    targetMap.set(element, rect => {\n      setRect(rect);\n    });\n    return () => {\n      targetMap.delete(element);\n    };\n  }, [element]);\n  return rect;\n}","const _excluded = [\"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-has-content */\n\nimport * as React from 'react';\nimport { useEventCallback } from '@restart/hooks';\nimport { useButtonProps } from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n  return !href || href.trim() === '#';\n}\n/**\n * An generic `<a>` component that covers a few A11y cases, ensuring that\n * cases where the `href` is missing or trivial like \"#\" are treated like buttons.\n */\nconst Anchor = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n  let {\n      onKeyDown\n    } = _ref,\n    props = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const [buttonProps] = useButtonProps(Object.assign({\n    tagName: 'a'\n  }, props));\n  const handleKeyDown = useEventCallback(e => {\n    buttonProps.onKeyDown(e);\n    onKeyDown == null ? void 0 : onKeyDown(e);\n  });\n  if (isTrivialHref(props.href) || props.role === 'button') {\n    return /*#__PURE__*/_jsx(\"a\", Object.assign({\n      ref: ref\n    }, props, buttonProps, {\n      onKeyDown: handleKeyDown\n    }));\n  }\n  return /*#__PURE__*/_jsx(\"a\", Object.assign({\n    ref: ref\n  }, props, {\n    onKeyDown: onKeyDown\n  }));\n});\nAnchor.displayName = 'Anchor';\nexport default Anchor;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavLink = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  as: Component = Anchor,\n  active,\n  eventKey,\n  disabled = false,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n  const [navItemProps, meta] = useNavItem({\n    key: makeEventKey(eventKey, props.href),\n    active,\n    disabled,\n    ...props\n  });\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ...navItemProps,\n    ref: ref,\n    disabled: disabled,\n    className: classNames(className, bsPrefix, disabled && 'disabled', meta.isActive && 'active')\n  });\n});\nNavLink.displayName = 'NavLink';\nexport default NavLink;","\"use client\";\n\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardHeaderContext from './CardHeaderContext';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Nav = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n  const {\n    as = 'div',\n    bsPrefix: initialBsPrefix,\n    variant,\n    fill = false,\n    justify = false,\n    navbar,\n    navbarScroll,\n    className,\n    activeKey,\n    ...props\n  } = useUncontrolled(uncontrolledProps, {\n    activeKey: 'onSelect'\n  });\n  const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n  let navbarBsPrefix;\n  let cardHeaderBsPrefix;\n  let isNavbar = false;\n  const navbarContext = useContext(NavbarContext);\n  const cardHeaderContext = useContext(CardHeaderContext);\n  if (navbarContext) {\n    navbarBsPrefix = navbarContext.bsPrefix;\n    isNavbar = navbar == null ? true : navbar;\n  } else if (cardHeaderContext) {\n    ({\n      cardHeaderBsPrefix\n    } = cardHeaderContext);\n  }\n  return /*#__PURE__*/_jsx(BaseNav, {\n    as: as,\n    ref: ref,\n    activeKey: activeKey,\n    className: classNames(className, {\n      [bsPrefix]: !isNavbar,\n      [`${navbarBsPrefix}-nav`]: isNavbar,\n      [`${navbarBsPrefix}-nav-scroll`]: isNavbar && navbarScroll,\n      [`${cardHeaderBsPrefix}-${variant}`]: !!cardHeaderBsPrefix,\n      [`${bsPrefix}-${variant}`]: !!variant,\n      [`${bsPrefix}-fill`]: fill,\n      [`${bsPrefix}-justified`]: justify\n    }),\n    ...props\n  });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n  Item: NavItem,\n  Link: NavLink\n});","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { useCallback, useRef, useState } from 'react';\nexport function defaultKey(key) {\n  return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n  const wasPropRef = useRef(propValue !== undefined);\n  const [stateValue, setState] = useState(defaultValue);\n  const isProp = propValue !== undefined;\n  const wasProp = wasPropRef.current;\n  wasPropRef.current = isProp;\n\n  /**\n   * If a prop switches from controlled to Uncontrolled\n   * reset its value to the defaultValue\n   */\n  if (!isProp && wasProp && stateValue !== defaultValue) {\n    setState(defaultValue);\n  }\n  return [isProp ? propValue : stateValue, useCallback((...args) => {\n    const [value, ...rest] = args;\n    let returnValue = handler == null ? void 0 : handler(value, ...rest);\n    setState(value);\n    return returnValue;\n  }, [handler])];\n}\nexport { useUncontrolledProp };\nexport function useUncontrolled(props, config) {\n  return Object.keys(config).reduce((result, fieldName) => {\n    const _ref = result,\n      _defaultKey = defaultKey(fieldName),\n      {\n        [_defaultKey]: defaultValue,\n        [fieldName]: propsValue\n      } = _ref,\n      rest = _objectWithoutPropertiesLoose(_ref, [_defaultKey, fieldName].map(_toPropertyKey));\n    const handlerName = config[fieldName];\n    const [value, handler] = useUncontrolledProp(propsValue, defaultValue, props[handlerName]);\n    return Object.assign({}, rest, {\n      [fieldName]: value,\n      [handlerName]: handler\n    });\n  }, props);\n}","import * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext(null);\nexport default DropdownContext;","var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","import { useCallback } from 'react';\nimport useMounted from './useMounted';\n\n/**\n * `useSafeState` takes the return value of a `useState` hook and wraps the\n * setter to prevent updates onces the component has unmounted. Can used\n * with `useMergeState` and `useStateAsync` as well\n *\n * @param state The return value of a useStateHook\n *\n * ```ts\n * const [show, setShow] = useSafeState(useState(true));\n * ```\n */\n\nfunction useSafeState(state) {\n  const isMounted = useMounted();\n  return [state[0], useCallback(nextState => {\n    if (!isMounted()) return;\n    return state[1](nextState);\n  }, [isMounted, state[1]])];\n}\nexport default useSafeState;","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n  return placement.split('-')[0];\n}","export default function getWindow(node) {\n  if (node == null) {\n    return window;\n  }\n\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView || window : window;\n  }\n\n  return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n  // IE 11 has no ShadowRoot\n  if (typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n\n  var OwnElement = getWindow(node).ShadowRoot;\n  return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n  var uaData = navigator.userAgentData;\n\n  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n    return uaData.brands.map(function (item) {\n      return item.brand + \"/\" + item.version;\n    }).join(' ');\n  }\n\n  return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n  return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n\n  var clientRect = element.getBoundingClientRect();\n  var scaleX = 1;\n  var scaleY = 1;\n\n  if (includeScale && isHTMLElement(element)) {\n    scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n    scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n  }\n\n  var _ref = isElement(element) ? getWindow(element) : window,\n      visualViewport = _ref.visualViewport;\n\n  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n  var width = clientRect.width / scaleX;\n  var height = clientRect.height / scaleY;\n  return {\n    width: width,\n    height: height,\n    top: y,\n    right: x + width,\n    bottom: y + height,\n    left: x,\n    x: x,\n    y: y\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n  var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n  // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n  var width = element.offsetWidth;\n  var height = element.offsetHeight;\n\n  if (Math.abs(clientRect.width - width) <= 1) {\n    width = clientRect.width;\n  }\n\n  if (Math.abs(clientRect.height - height) <= 1) {\n    height = clientRect.height;\n  }\n\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: width,\n    height: height\n  };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (rootNode && isShadowRoot(rootNode)) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}","export default function getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n  // $FlowFixMe[incompatible-return]: assume body is always available\n  return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n  element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    // $FlowFixMe[incompatible-return]\n    // $FlowFixMe[prop-missing]\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || ( // DOM Element detected\n    isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n    // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var isFirefox = /firefox/i.test(getUAString());\n  var isIE = /Trident/i.test(getUAString());\n\n  if (isIE && isHTMLElement(element)) {\n    // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n    var elementCss = getComputedStyle(element);\n\n    if (elementCss.position === 'fixed') {\n      return null;\n    }\n  }\n\n  var currentNode = getParentNode(element);\n\n  if (isShadowRoot(currentNode)) {\n    currentNode = currentNode.host;\n  }\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n    // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n  return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n  var v = within(min, value, max);\n  return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n  return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}","export default function expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n  padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : padding;\n  return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name,\n      options = _ref.options;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = toPaddingObject(options.padding, state);\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n  return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n  var x = _ref.x,\n      y = _ref.y;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: round(x * dpr) / dpr || 0,\n    y: round(y * dpr) / dpr || 0\n  };\n}\n\nexport function mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      variation = _ref2.variation,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive,\n      roundOffsets = _ref2.roundOffsets,\n      isFixed = _ref2.isFixed;\n  var _offsets$x = offsets.x,\n      x = _offsets$x === void 0 ? 0 : _offsets$x,\n      _offsets$y = offsets.y,\n      y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n  var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n    x: x,\n    y: y\n  }) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref3.x;\n  y = _ref3.y;\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n    var heightProp = 'clientHeight';\n    var widthProp = 'clientWidth';\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n\n      if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n        heightProp = 'scrollHeight';\n        widthProp = 'scrollWidth';\n      }\n    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n    offsetParent = offsetParent;\n\n    if (placement === top || (placement === left || placement === right) && variation === end) {\n      sideY = bottom;\n      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n      offsetParent[heightProp];\n      y -= offsetY - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left || (placement === top || placement === bottom) && variation === end) {\n      sideX = right;\n      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n      offsetParent[widthProp];\n      x -= offsetX - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n    x: x,\n    y: y\n  }, getWindow(popper)) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref4.x;\n  y = _ref4.y;\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n  var state = _ref5.state,\n      options = _ref5.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n      _options$roundOffsets = options.roundOffsets,\n      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    variation: getVariation(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration,\n    isFixed: state.options.strategy === 'fixed'\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n};","var hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}","var hash = {\n  start: 'end',\n  end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return hash[matched];\n  });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe[incompatible-return]: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n  var _element$ownerDocumen;\n\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n  return Object.assign({}, rect, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n  var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0;\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    var layoutViewport = isLayoutViewport();\n\n    if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n  var _element$ownerDocumen;\n\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n  var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$strategy = _options.strategy,\n      strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n  var referenceClientRect = getBoundingClientRect(state.elements.reference);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases – research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements;\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : tetherOffset;\n  var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n    mainAxis: tetherOffsetValue,\n    altAxis: tetherOffsetValue\n  } : Object.assign({\n    mainAxis: 0,\n    altAxis: 0\n  }, tetherOffsetValue);\n  var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var _offsetModifierState$;\n\n    var mainSide = mainAxis === 'y' ? top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = offset + overflow[mainSide];\n    var max = offset - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n    var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = offset + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _offsetModifierState$2;\n\n    var _mainSide = mainAxis === 'x' ? top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _len = altAxis === 'y' ? 'height' : 'width';\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n    var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n  var rect = element.getBoundingClientRect();\n  var scaleX = round(rect.width) / element.offsetWidth || 1;\n  var scaleY = round(rect.height) / element.offsetHeight || 1;\n  return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent, true);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}","export default function getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nexport default function orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}","export default function debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return !args.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nexport function popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(setOptionsAction) {\n        var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n        cleanupModifierEffects();\n        state.options = Object.assign({}, defaultOptions, state.options, options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        });\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update – it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update – it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref) {\n        var name = _ref.name,\n            _ref$options = _ref.options,\n            options = _ref$options === void 0 ? {} : _ref$options,\n            effect = _ref.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign({}, existing, current, {\n      options: Object.assign({}, existing.options, current.options),\n      data: Object.assign({}, existing.data, current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base';\n\n// For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\nexport const createPopper = popperGenerator({\n  defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n};","const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n  name: 'applyStyles',\n  enabled: false,\n  phase: 'afterWrite',\n  fn: () => undefined\n};\n\n// until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n  name: 'ariaDescribedBy',\n  enabled: true,\n  phase: 'afterWrite',\n  effect: ({\n    state\n  }) => () => {\n    const {\n      reference,\n      popper\n    } = state.elements;\n    if ('removeAttribute' in reference) {\n      const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n      if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n    }\n  },\n  fn: ({\n    state\n  }) => {\n    var _popper$getAttribute;\n    const {\n      popper,\n      reference\n    } = state.elements;\n    const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n    if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n      const ids = reference.getAttribute('aria-describedby');\n      if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n        return;\n      }\n      reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n    }\n  }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object}      options\n * @param {object=}     options.modifiers Popper.js modifiers\n * @param {boolean=}    options.enabled toggle the popper functionality on/off\n * @param {string=}     options.placement The popper element placement relative to the reference element\n * @param {string=}     options.strategy the positioning strategy\n * @param {function=}   options.onCreate called when the popper is created\n * @param {function=}   options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\nfunction usePopper(referenceElement, popperElement, _ref = {}) {\n  let {\n      enabled = true,\n      placement = 'bottom',\n      strategy = 'absolute',\n      modifiers = EMPTY_MODIFIERS\n    } = _ref,\n    config = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const prevModifiers = useRef(modifiers);\n  const popperInstanceRef = useRef();\n  const update = useCallback(() => {\n    var _popperInstanceRef$cu;\n    (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n  }, []);\n  const forceUpdate = useCallback(() => {\n    var _popperInstanceRef$cu2;\n    (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n  }, []);\n  const [popperState, setState] = useSafeState(useState({\n    placement,\n    update,\n    forceUpdate,\n    attributes: {},\n    styles: {\n      popper: {},\n      arrow: {}\n    }\n  }));\n  const updateModifier = useMemo(() => ({\n    name: 'updateStateModifier',\n    enabled: true,\n    phase: 'write',\n    requires: ['computeStyles'],\n    fn: ({\n      state\n    }) => {\n      const styles = {};\n      const attributes = {};\n      Object.keys(state.elements).forEach(element => {\n        styles[element] = state.styles[element];\n        attributes[element] = state.attributes[element];\n      });\n      setState({\n        state,\n        styles,\n        attributes,\n        update,\n        forceUpdate,\n        placement: state.placement\n      });\n    }\n  }), [update, forceUpdate, setState]);\n  const nextModifiers = useMemo(() => {\n    if (!dequal(prevModifiers.current, modifiers)) {\n      prevModifiers.current = modifiers;\n    }\n    return prevModifiers.current;\n  }, [modifiers]);\n  useEffect(() => {\n    if (!popperInstanceRef.current || !enabled) return;\n    popperInstanceRef.current.setOptions({\n      placement,\n      strategy,\n      modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n    });\n  }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n  useEffect(() => {\n    if (!enabled || referenceElement == null || popperElement == null) {\n      return undefined;\n    }\n    popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n      placement,\n      strategy,\n      modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n    }));\n    return () => {\n      if (popperInstanceRef.current != null) {\n        popperInstanceRef.current.destroy();\n        popperInstanceRef.current = undefined;\n        setState(s => Object.assign({}, s, {\n          attributes: {},\n          styles: {\n            popper: {}\n          }\n        }));\n      }\n    };\n    // This is only run once to _create_ the popper\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [enabled, referenceElement, popperElement]);\n  return popperState;\n}\nexport default usePopper;","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nconst noop = () => {};\nfunction isLeftClickEvent(event) {\n  return event.button === 0;\n}\nfunction isModifiedEvent(event) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nexport const getRefTarget = ref => ref && ('current' in ref ? ref.current : ref);\nconst InitialTriggerEvents = {\n  click: 'mousedown',\n  mouseup: 'mousedown',\n  pointerup: 'pointerdown'\n};\n\n/**\n * The `useClickOutside` hook registers your callback on the document that fires\n * when a pointer event is registered outside of the provided ref or element.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref  The element boundary\n * @param {function} onClickOutside\n * @param {object=}  options\n * @param {boolean=} options.disabled\n * @param {string=}  options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useClickOutside(ref, onClickOutside = noop, {\n  disabled,\n  clickTrigger = 'click'\n} = {}) {\n  const preventMouseClickOutsideRef = useRef(false);\n  const waitingForTrigger = useRef(false);\n  const handleMouseCapture = useCallback(e => {\n    const currentTarget = getRefTarget(ref);\n    warning(!!currentTarget, 'ClickOutside captured a close event but does not have a ref to compare it to. ' + 'useClickOutside(), should be passed a ref that resolves to a DOM node');\n    preventMouseClickOutsideRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target) || waitingForTrigger.current;\n    waitingForTrigger.current = false;\n  }, [ref]);\n  const handleInitialMouse = useEventCallback(e => {\n    const currentTarget = getRefTarget(ref);\n    if (currentTarget && contains(currentTarget, e.target)) {\n      waitingForTrigger.current = true;\n    }\n  });\n  const handleMouse = useEventCallback(e => {\n    if (!preventMouseClickOutsideRef.current) {\n      onClickOutside(e);\n    }\n  });\n  useEffect(() => {\n    var _ownerWindow$event, _ownerWindow$parent;\n    if (disabled || ref == null) return undefined;\n    const doc = ownerDocument(getRefTarget(ref));\n    const ownerWindow = doc.defaultView || window;\n\n    // Store the current event to avoid triggering handlers immediately\n    // For things rendered in an iframe, the event might originate on the parent window\n    // so we should fall back to that global event if the local one doesn't exist\n    // https://github.com/facebook/react/issues/20074\n    let currentEvent = (_ownerWindow$event = ownerWindow.event) != null ? _ownerWindow$event : (_ownerWindow$parent = ownerWindow.parent) == null ? void 0 : _ownerWindow$parent.event;\n    let removeInitialTriggerListener = null;\n    if (InitialTriggerEvents[clickTrigger]) {\n      removeInitialTriggerListener = listen(doc, InitialTriggerEvents[clickTrigger], handleInitialMouse, true);\n    }\n\n    // Use capture for this listener so it fires before React's listener, to\n    // avoid false positives in the contains() check below if the target DOM\n    // element is removed in the React mouse callback.\n    const removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n    const removeMouseListener = listen(doc, clickTrigger, e => {\n      // skip if this event is the same as the one running when we added the handlers\n      if (e === currentEvent) {\n        currentEvent = undefined;\n        return;\n      }\n      handleMouse(e);\n    });\n    let mobileSafariHackListeners = [];\n    if ('ontouchstart' in doc.documentElement) {\n      mobileSafariHackListeners = [].slice.call(doc.body.children).map(el => listen(el, 'mousemove', noop));\n    }\n    return () => {\n      removeInitialTriggerListener == null ? void 0 : removeInitialTriggerListener();\n      removeMouseCaptureListener();\n      removeMouseListener();\n      mobileSafariHackListeners.forEach(remove => remove());\n    };\n  }, [ref, disabled, clickTrigger, handleMouseCapture, handleInitialMouse, handleMouse]);\n}\nexport default useClickOutside;","export function toModifierMap(modifiers) {\n  const result = {};\n  if (!Array.isArray(modifiers)) {\n    return modifiers || result;\n  }\n\n  // eslint-disable-next-line no-unused-expressions\n  modifiers == null ? void 0 : modifiers.forEach(m => {\n    result[m.name] = m;\n  });\n  return result;\n}\nexport function toModifierArray(map = {}) {\n  if (Array.isArray(map)) return map;\n  return Object.keys(map).map(k => {\n    map[k].name = k;\n    return map[k];\n  });\n}\nexport default function mergeOptionsWithPopperConfig({\n  enabled,\n  enableEvents,\n  placement,\n  flip,\n  offset,\n  fixed,\n  containerPadding,\n  arrowElement,\n  popperConfig = {}\n}) {\n  var _modifiers$eventListe, _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n  const modifiers = toModifierMap(popperConfig.modifiers);\n  return Object.assign({}, popperConfig, {\n    placement,\n    enabled,\n    strategy: fixed ? 'fixed' : popperConfig.strategy,\n    modifiers: toModifierArray(Object.assign({}, modifiers, {\n      eventListeners: {\n        enabled: enableEvents,\n        options: (_modifiers$eventListe = modifiers.eventListeners) == null ? void 0 : _modifiers$eventListe.options\n      },\n      preventOverflow: Object.assign({}, modifiers.preventOverflow, {\n        options: containerPadding ? Object.assign({\n          padding: containerPadding\n        }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n      }),\n      offset: {\n        options: Object.assign({\n          offset\n        }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n      },\n      arrow: Object.assign({}, modifiers.arrow, {\n        enabled: !!arrowElement,\n        options: Object.assign({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n          element: arrowElement\n        })\n      }),\n      flip: Object.assign({\n        enabled: !!flip\n      }, modifiers.flip)\n    }))\n  });\n}","const _excluded = [\"children\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useContext, useRef } from 'react';\nimport * as React from 'react';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport DropdownContext from './DropdownContext';\nimport usePopper from './usePopper';\nimport useClickOutside from './useClickOutside';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst noop = () => {};\n\n/**\n * @memberOf Dropdown\n * @param {object}  options\n * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection\n * @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle\n * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`\n * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.\n * @param {string}  options.rootCloseEvent The pointer event to listen for when determining \"clicks outside\" the menu for triggering a close.\n * @param {object}  options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.\n */\nexport function useDropdownMenu(options = {}) {\n  const context = useContext(DropdownContext);\n  const [arrowElement, attachArrowRef] = useCallbackRef();\n  const hasShownRef = useRef(false);\n  const {\n    flip,\n    offset,\n    rootCloseEvent,\n    fixed = false,\n    placement: placementOverride,\n    popperConfig = {},\n    enableEventListeners = true,\n    usePopper: shouldUsePopper = !!context\n  } = options;\n  const show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;\n  if (show && !hasShownRef.current) {\n    hasShownRef.current = true;\n  }\n  const handleClose = e => {\n    context == null ? void 0 : context.toggle(false, e);\n  };\n  const {\n    placement,\n    setMenu,\n    menuElement,\n    toggleElement\n  } = context || {};\n  const popper = usePopper(toggleElement, menuElement, mergeOptionsWithPopperConfig({\n    placement: placementOverride || placement || 'bottom-start',\n    enabled: shouldUsePopper,\n    enableEvents: enableEventListeners == null ? show : enableEventListeners,\n    offset,\n    flip,\n    fixed,\n    arrowElement,\n    popperConfig\n  }));\n  const menuProps = Object.assign({\n    ref: setMenu || noop,\n    'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id\n  }, popper.attributes.popper, {\n    style: popper.styles.popper\n  });\n  const metadata = {\n    show,\n    placement,\n    hasShown: hasShownRef.current,\n    toggle: context == null ? void 0 : context.toggle,\n    popper: shouldUsePopper ? popper : null,\n    arrowProps: shouldUsePopper ? Object.assign({\n      ref: attachArrowRef\n    }, popper.attributes.arrow, {\n      style: popper.styles.arrow\n    }) : {}\n  };\n  useClickOutside(menuElement, handleClose, {\n    clickTrigger: rootCloseEvent,\n    disabled: !show\n  });\n  return [menuProps, metadata];\n}\nconst defaultProps = {\n  usePopper: true\n};\n/**\n * Also exported as `<Dropdown.Menu>` from `Dropdown`.\n *\n * @displayName DropdownMenu\n * @memberOf Dropdown\n */\nfunction DropdownMenu(_ref) {\n  let {\n      children\n    } = _ref,\n    options = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const [props, meta] = useDropdownMenu(options);\n  return /*#__PURE__*/_jsx(_Fragment, {\n    children: children(props, meta)\n  });\n}\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.defaultProps = defaultProps;\n\n/** @component */\nexport default DropdownMenu;","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\nimport React, {JSX, ReactNode, useContext, useLayoutEffect, useMemo, useRef, useState} from 'react';\n\n// To support SSR, the auto incrementing id counter is stored in a context. This allows\n// it to be reset on every request to ensure the client and server are consistent.\n// There is also a prefix string that is used to support async loading components\n// Each async boundary must be wrapped in an SSR provider, which appends to the prefix\n// and resets the current id counter. This ensures that async loaded components have\n// consistent ids regardless of the loading order.\ninterface SSRContextValue {\n  prefix: string,\n  current: number\n}\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst defaultContext: SSRContextValue = {\n  prefix: String(Math.round(Math.random() * 10000000000)),\n  current: 0\n};\n\nconst SSRContext = React.createContext<SSRContextValue>(defaultContext);\nconst IsSSRContext = React.createContext(false);\n\nexport interface SSRProviderProps {\n  /** Your application here. */\n  children: ReactNode\n}\n\n// This is only used in React < 18.\nfunction LegacySSRProvider(props: SSRProviderProps): JSX.Element {\n  let cur = useContext(SSRContext);\n  let counter = useCounter(cur === defaultContext);\n  let [isSSR, setIsSSR] = useState(true);\n  let value: SSRContextValue = useMemo(() => ({\n    // If this is the first SSRProvider, start with an empty string prefix, otherwise\n    // append and increment the counter.\n    prefix: cur === defaultContext ? '' : `${cur.prefix}-${counter}`,\n    current: 0\n  }), [cur, counter]);\n\n  // If on the client, and the component was initially server rendered,\n  // then schedule a layout effect to update the component after hydration.\n  if (typeof document !== 'undefined') {\n    // This if statement technically breaks the rules of hooks, but is safe\n    // because the condition never changes after mounting.\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useLayoutEffect(() => {\n      setIsSSR(false);\n    }, []);\n  }\n\n  return (\n    <SSRContext.Provider value={value}>\n      <IsSSRContext.Provider value={isSSR}>\n        {props.children}\n      </IsSSRContext.Provider>\n    </SSRContext.Provider>\n  );\n}\n\nlet warnedAboutSSRProvider = false;\n\n/**\n * When using SSR with React Aria in React 16 or 17, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props: SSRProviderProps): JSX.Element {\n  if (typeof React['useId'] === 'function') {\n    if (process.env.NODE_ENV !== 'test' && !warnedAboutSSRProvider) {\n      console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n      warnedAboutSSRProvider = true;\n    }\n    return <>{props.children}</>;\n  }\n  return <LegacySSRProvider {...props} />;\n}\n\nlet canUseDOM = Boolean(\n  typeof window !== 'undefined' &&\n  window.document &&\n  window.document.createElement\n);\n\nlet componentIds = new WeakMap();\n\nfunction useCounter(isDisabled = false) {\n  let ctx = useContext(SSRContext);\n  let ref = useRef<number | null>(null);\n  // eslint-disable-next-line rulesdir/pure-render\n  if (ref.current === null && !isDisabled) {\n    // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n    // This means our id counter will be incremented twice instead of once. This is a problem because on the\n    // server, components are only rendered once and so ids generated on the server won't match the client.\n    // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n    // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n    // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n    // To ensure that we only increment the global counter once, we store the starting id for this component in\n    // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n    // Since React runs the second render immediately after the first, this is safe.\n    // @ts-ignore\n    let currentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;\n    if (currentOwner) {\n      let prevComponentValue = componentIds.get(currentOwner);\n      if (prevComponentValue == null) {\n        // On the first render, and first call to useId, store the id and state in our weak map.\n        componentIds.set(currentOwner, {\n          id: ctx.current,\n          state: currentOwner.memoizedState\n        });\n      } else if (currentOwner.memoizedState !== prevComponentValue.state) {\n        // On the second render, the memoizedState gets reset by React.\n        // Reset the counter, and remove from the weak map so we don't\n        // do this for subsequent useId calls.\n        ctx.current = prevComponentValue.id;\n        componentIds.delete(currentOwner);\n      }\n    }\n\n    // eslint-disable-next-line rulesdir/pure-render\n    ref.current = ++ctx.current;\n  }\n\n  // eslint-disable-next-line rulesdir/pure-render\n  return ref.current;\n}\n\nfunction useLegacySSRSafeId(defaultId?: string): string {\n  let ctx = useContext(SSRContext);\n\n  // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n  // provide a warning to hint to the developer to add one.\n  if (ctx === defaultContext && !canUseDOM) {\n    console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n  }\n\n  let counter = useCounter(!!defaultId);\n  let prefix = ctx === defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n  return defaultId || `${prefix}-${counter}`;\n}\n\nfunction useModernSSRSafeId(defaultId?: string): string {\n  // @ts-ignore\n  let id = React.useId();\n  let [didSSR] = useState(useIsSSR());\n  let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${defaultContext.prefix}`;\n  return defaultId || `${prefix}-${id}`;\n}\n\n// Use React.useId in React 18 if available, otherwise fall back to our old implementation.\n/** @private */\nexport const useSSRSafeId = typeof React['useId'] === 'function' ? useModernSSRSafeId : useLegacySSRSafeId;\n\nfunction getSnapshot() {\n  return false;\n}\n\nfunction getServerSnapshot() {\n  return true;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction subscribe(onStoreChange: () => void): () => void {\n  // noop\n  return () => {};\n}\n\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\nexport function useIsSSR(): boolean {\n  // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n  if (typeof React['useSyncExternalStore'] === 'function') {\n    return React['useSyncExternalStore'](subscribe, getSnapshot, getServerSnapshot);\n  }\n\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  return useContext(IsSSRContext);\n}\n","import { useContext, useCallback } from 'react';\nimport * as React from 'react';\nimport { useSSRSafeId } from './ssr';\nimport DropdownContext from './DropdownContext';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const isRoleMenu = el => {\n  var _el$getAttribute;\n  return ((_el$getAttribute = el.getAttribute('role')) == null ? void 0 : _el$getAttribute.toLowerCase()) === 'menu';\n};\nconst noop = () => {};\n\n/**\n * Wires up Dropdown toggle functionality, returning a set a props to attach\n * to the element that functions as the dropdown toggle (generally a button).\n *\n * @memberOf Dropdown\n */\nexport function useDropdownToggle() {\n  const id = useSSRSafeId();\n  const {\n    show = false,\n    toggle = noop,\n    setToggle,\n    menuElement\n  } = useContext(DropdownContext) || {};\n  const handleClick = useCallback(e => {\n    toggle(!show, e);\n  }, [show, toggle]);\n  const props = {\n    id,\n    ref: setToggle || noop,\n    onClick: handleClick,\n    'aria-expanded': !!show\n  };\n\n  // This is maybe better down in an effect, but\n  // the component is going to update anyway when the menu element\n  // is set so might return new props.\n  if (menuElement && isRoleMenu(menuElement)) {\n    props['aria-haspopup'] = true;\n  }\n  return [props, {\n    show,\n    toggle\n  }];\n}\n/**\n * Also exported as `<Dropdown.Toggle>` from `Dropdown`.\n *\n * @displayName DropdownToggle\n * @memberOf Dropdown\n */\nfunction DropdownToggle({\n  children\n}) {\n  const [props, meta] = useDropdownToggle();\n  return /*#__PURE__*/_jsx(_Fragment, {\n    children: children(props, meta)\n  });\n}\nDropdownToggle.displayName = 'DropdownToggle';\n\n/** @component */\nexport default DropdownToggle;","const _excluded = [\"eventKey\", \"disabled\", \"onClick\", \"active\", \"as\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NavContext from './NavContext';\nimport Button from './Button';\nimport { dataAttr } from './DataKey';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Create a dropdown item. Returns a set of props for the dropdown item component\n * including an `onClick` handler that prevents selection when the item is disabled\n */\nexport function useDropdownItem({\n  key,\n  href,\n  active,\n  disabled,\n  onClick\n}) {\n  const onSelectCtx = useContext(SelectableContext);\n  const navContext = useContext(NavContext);\n  const {\n    activeKey\n  } = navContext || {};\n  const eventKey = makeEventKey(key, href);\n  const isActive = active == null && key != null ? makeEventKey(activeKey) === eventKey : active;\n  const handleClick = useEventCallback(event => {\n    if (disabled) return;\n    onClick == null ? void 0 : onClick(event);\n    if (onSelectCtx && !event.isPropagationStopped()) {\n      onSelectCtx(eventKey, event);\n    }\n  });\n  return [{\n    onClick: handleClick,\n    'aria-disabled': disabled || undefined,\n    'aria-selected': isActive,\n    [dataAttr('dropdown-item')]: ''\n  }, {\n    isActive\n  }];\n}\nconst DropdownItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n  let {\n      eventKey,\n      disabled,\n      onClick,\n      active,\n      as: Component = Button\n    } = _ref,\n    props = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const [dropdownItemProps] = useDropdownItem({\n    key: eventKey,\n    href: props.href,\n    disabled,\n    onClick,\n    active\n  });\n  return /*#__PURE__*/_jsx(Component, Object.assign({}, props, {\n    ref: ref\n  }, dropdownItemProps));\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","import qsa from 'dom-helpers/querySelectorAll';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport { useCallback, useRef, useEffect, useMemo, useContext } from 'react';\nimport * as React from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport usePrevious from '@restart/hooks/usePrevious';\nimport useForceUpdate from '@restart/hooks/useForceUpdate';\nimport useEventListener from '@restart/hooks/useEventListener';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle, { isRoleMenu } from './DropdownToggle';\nimport DropdownItem from './DropdownItem';\nimport SelectableContext from './SelectableContext';\nimport { dataAttr } from './DataKey';\nimport useWindow from './useWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction useRefWithUpdate() {\n  const forceUpdate = useForceUpdate();\n  const ref = useRef(null);\n  const attachRef = useCallback(element => {\n    ref.current = element;\n    // ensure that a menu set triggers an update for consumers\n    forceUpdate();\n  }, [forceUpdate]);\n  return [ref, attachRef];\n}\n\n/**\n * @displayName Dropdown\n * @public\n */\nfunction Dropdown({\n  defaultShow,\n  show: rawShow,\n  onSelect,\n  onToggle: rawOnToggle,\n  itemSelector = `* [${dataAttr('dropdown-item')}]`,\n  focusFirstItemOnShow,\n  placement = 'bottom-start',\n  children\n}) {\n  const window = useWindow();\n  const [show, onToggle] = useUncontrolledProp(rawShow, defaultShow, rawOnToggle);\n\n  // We use normal refs instead of useCallbackRef in order to populate the\n  // the value as quickly as possible, otherwise the effect to focus the element\n  // may run before the state value is set\n  const [menuRef, setMenu] = useRefWithUpdate();\n  const menuElement = menuRef.current;\n  const [toggleRef, setToggle] = useRefWithUpdate();\n  const toggleElement = toggleRef.current;\n  const lastShow = usePrevious(show);\n  const lastSourceEvent = useRef(null);\n  const focusInDropdown = useRef(false);\n  const onSelectCtx = useContext(SelectableContext);\n  const toggle = useCallback((nextShow, event, source = event == null ? void 0 : event.type) => {\n    onToggle(nextShow, {\n      originalEvent: event,\n      source\n    });\n  }, [onToggle]);\n  const handleSelect = useEventCallback((key, event) => {\n    onSelect == null ? void 0 : onSelect(key, event);\n    toggle(false, event, 'select');\n    if (!event.isPropagationStopped()) {\n      onSelectCtx == null ? void 0 : onSelectCtx(key, event);\n    }\n  });\n  const context = useMemo(() => ({\n    toggle,\n    placement,\n    show,\n    menuElement,\n    toggleElement,\n    setMenu,\n    setToggle\n  }), [toggle, placement, show, menuElement, toggleElement, setMenu, setToggle]);\n  if (menuElement && lastShow && !show) {\n    focusInDropdown.current = menuElement.contains(menuElement.ownerDocument.activeElement);\n  }\n  const focusToggle = useEventCallback(() => {\n    if (toggleElement && toggleElement.focus) {\n      toggleElement.focus();\n    }\n  });\n  const maybeFocusFirst = useEventCallback(() => {\n    const type = lastSourceEvent.current;\n    let focusType = focusFirstItemOnShow;\n    if (focusType == null) {\n      focusType = menuRef.current && isRoleMenu(menuRef.current) ? 'keyboard' : false;\n    }\n    if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {\n      return;\n    }\n    const first = qsa(menuRef.current, itemSelector)[0];\n    if (first && first.focus) first.focus();\n  });\n  useEffect(() => {\n    if (show) maybeFocusFirst();else if (focusInDropdown.current) {\n      focusInDropdown.current = false;\n      focusToggle();\n    }\n    // only `show` should be changing\n  }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);\n  useEffect(() => {\n    lastSourceEvent.current = null;\n  });\n  const getNextFocusedChild = (current, offset) => {\n    if (!menuRef.current) return null;\n    const items = qsa(menuRef.current, itemSelector);\n    let index = items.indexOf(current) + offset;\n    index = Math.max(0, Math.min(index, items.length));\n    return items[index];\n  };\n  useEventListener(useCallback(() => window.document, [window]), 'keydown', event => {\n    var _menuRef$current, _toggleRef$current;\n    const {\n      key\n    } = event;\n    const target = event.target;\n    const fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);\n    const fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target);\n\n    // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400\n    // in inscrutability\n    const isInput = /input|textarea/i.test(target.tagName);\n    if (isInput && (key === ' ' || key !== 'Escape' && fromMenu || key === 'Escape' && target.type === 'search')) {\n      return;\n    }\n    if (!fromMenu && !fromToggle) {\n      return;\n    }\n    if (key === 'Tab' && (!menuRef.current || !show)) {\n      return;\n    }\n    lastSourceEvent.current = event.type;\n    const meta = {\n      originalEvent: event,\n      source: event.type\n    };\n    switch (key) {\n      case 'ArrowUp':\n        {\n          const next = getNextFocusedChild(target, -1);\n          if (next && next.focus) next.focus();\n          event.preventDefault();\n          return;\n        }\n      case 'ArrowDown':\n        event.preventDefault();\n        if (!show) {\n          onToggle(true, meta);\n        } else {\n          const next = getNextFocusedChild(target, 1);\n          if (next && next.focus) next.focus();\n        }\n        return;\n      case 'Tab':\n        // on keydown the target is the element being tabbed FROM, we need that\n        // to know if this event is relevant to this dropdown (e.g. in this menu).\n        // On `keyup` the target is the element being tagged TO which we use to check\n        // if focus has left the menu\n        addEventListener(target.ownerDocument, 'keyup', e => {\n          var _menuRef$current2;\n          if (e.key === 'Tab' && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) {\n            onToggle(false, meta);\n          }\n        }, {\n          once: true\n        });\n        break;\n      case 'Escape':\n        if (key === 'Escape') {\n          event.preventDefault();\n          event.stopPropagation();\n        }\n        onToggle(false, meta);\n        break;\n      default:\n    }\n  });\n  return /*#__PURE__*/_jsx(SelectableContext.Provider, {\n    value: handleSelect,\n    children: /*#__PURE__*/_jsx(DropdownContext.Provider, {\n      value: context,\n      children: children\n    })\n  });\n}\nDropdown.displayName = 'Dropdown';\nDropdown.Menu = DropdownMenu;\nDropdown.Toggle = DropdownToggle;\nDropdown.Item = DropdownItem;\nexport default Dropdown;","import { useEffect } from 'react';\nimport useEventCallback from './useEventCallback';\n/**\n * Attaches an event handler outside directly to specified DOM element\n * bypassing the react synthetic event system.\n *\n * @param element The target to listen for events on\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\nexport default function useEventListener(eventTarget, event, listener, capture = false) {\n  const handler = useEventCallback(listener);\n  useEffect(() => {\n    const target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n    target.addEventListener(event, handler, capture);\n    return () => target.removeEventListener(event, handler, capture);\n  }, [eventTarget]);\n}","\"use client\";\n\nimport * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownDivider = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'hr',\n  role = 'separator',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-divider');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    role: role,\n    ...props\n  });\n});\nDropdownDivider.displayName = 'DropdownDivider';\nexport default DropdownDivider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  role = 'heading',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-header');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    role: role,\n    ...props\n  });\n});\nDropdownHeader.displayName = 'DropdownHeader';\nexport default DropdownHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  eventKey,\n  disabled = false,\n  onClick,\n  active,\n  as: Component = Anchor,\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n  const [dropdownItemProps, meta] = useDropdownItem({\n    key: eventKey,\n    href: props.href,\n    disabled,\n    onClick,\n    active\n  });\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ...dropdownItemProps,\n    ref: ref,\n    className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n  });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItemText = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'span',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-item-text');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nDropdownItemText.displayName = 'DropdownItemText';\nexport default DropdownItemText;","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n  // @ts-ignore\n  if (!(process.env.NODE_ENV !== \"production\")) return ref;\n\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  const warningRef = useCallback(refValue => {\n    !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n  }, [componentName]);\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  return useMergedRefs(warningRef, ref);\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n  const topStart = isRTL ? 'top-end' : 'top-start';\n  const topEnd = isRTL ? 'top-start' : 'top-end';\n  const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n  const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n  const leftStart = isRTL ? 'right-start' : 'left-start';\n  const leftEnd = isRTL ? 'right-end' : 'left-end';\n  const rightStart = isRTL ? 'left-start' : 'right-start';\n  const rightEnd = isRTL ? 'left-end' : 'right-end';\n  let placement = alignEnd ? bottomEnd : bottomStart;\n  if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;else if (dropDirection === 'down-centered') placement = 'bottom';else if (dropDirection === 'up-centered') placement = 'top';\n  return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  align,\n  rootCloseEvent,\n  flip = true,\n  show: showProps,\n  renderOnMount,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  popperConfig,\n  variant,\n  ...props\n}, ref) => {\n  let alignEnd = false;\n  const isNavbar = useContext(NavbarContext);\n  const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n  const {\n    align: contextAlign,\n    drop,\n    isRTL\n  } = useContext(DropdownContext);\n  align = align || contextAlign;\n  const isInputGroup = useContext(InputGroupContext);\n  const alignClasses = [];\n  if (align) {\n    if (typeof align === 'object') {\n      const keys = Object.keys(align);\n      process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n      if (keys.length) {\n        const brkPoint = keys[0];\n        const direction = align[brkPoint];\n\n        // .dropdown-menu-end is required for responsively aligning\n        // left in addition to align left classes.\n        alignEnd = direction === 'start';\n        alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n      }\n    } else if (align === 'end') {\n      alignEnd = true;\n    }\n  }\n  const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n  const [menuProps, {\n    hasShown,\n    popper,\n    show,\n    toggle\n  }] = useDropdownMenu({\n    flip,\n    rootCloseEvent,\n    show: showProps,\n    usePopper: !isNavbar && alignClasses.length === 0,\n    offset: [0, 2],\n    popperConfig,\n    placement\n  });\n  menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n  useIsomorphicEffect(() => {\n    // Popper's initial position for the menu is incorrect when\n    // renderOnMount=true. Need to call update() to correct it.\n    if (show) popper == null ? void 0 : popper.update();\n  }, [show]);\n  if (!hasShown && !renderOnMount && !isInputGroup) return null;\n\n  // For custom components provide additional, non-DOM, props;\n  if (typeof Component !== 'string') {\n    menuProps.show = show;\n    menuProps.close = () => toggle == null ? void 0 : toggle(false);\n    menuProps.align = align;\n  }\n  let style = props.style;\n  if (popper != null && popper.placement) {\n    // we don't need the default popper style,\n    // menus are display: none when not shown.\n    style = {\n      ...props.style,\n      ...menuProps.style\n    };\n    props['x-placement'] = popper.placement;\n  }\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ...menuProps,\n    style: style\n    // Bootstrap css requires this data attrib to style responsive menus.\n    ,\n    ...((alignClasses.length || isNavbar) && {\n      'data-bs-popper': 'static'\n    }),\n    className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n  });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nexport default DropdownMenu;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Button = /*#__PURE__*/React.forwardRef(({\n  as,\n  bsPrefix,\n  variant = 'primary',\n  size,\n  active = false,\n  disabled = false,\n  className,\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n  const [buttonProps, {\n    tagName\n  }] = useButtonProps({\n    tagName: as,\n    disabled,\n    ...props\n  });\n  const Component = tagName;\n  return /*#__PURE__*/_jsx(Component, {\n    ...buttonProps,\n    ...props,\n    ref: ref,\n    disabled: disabled,\n    className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && disabled && 'disabled')\n  });\n});\nButton.displayName = 'Button';\nexport default Button;","\"use client\";\n\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  split,\n  className,\n  childBsPrefix,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = Button,\n  ...props\n}, ref) => {\n  const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n  const dropdownContext = useContext(DropdownContext);\n  if (childBsPrefix !== undefined) {\n    props.bsPrefix = childBsPrefix;\n  }\n  const [toggleProps] = useDropdownToggle();\n  toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle'));\n\n  // This intentionally forwards size and variant (if set) to the\n  // underlying component, to allow it to render size and style variants.\n  return /*#__PURE__*/_jsx(Component, {\n    className: classNames(className, prefix, split && `${prefix}-split`, (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n    ...toggleProps,\n    ...props\n  });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownItem from './DropdownItem';\nimport DropdownItemText from './DropdownItemText';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n  const {\n    bsPrefix,\n    drop = 'down',\n    show,\n    className,\n    align = 'start',\n    onSelect,\n    onToggle,\n    focusFirstItemOnShow,\n    // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n    as: Component = 'div',\n    navbar: _4,\n    autoClose = true,\n    ...props\n  } = useUncontrolled(pProps, {\n    show: 'onToggle'\n  });\n  const isInputGroup = useContext(InputGroupContext);\n  const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n  const isRTL = useIsRTL();\n  const isClosingPermitted = source => {\n    // autoClose=false only permits close on button click\n    if (autoClose === false) return source === 'click';\n\n    // autoClose=inside doesn't permit close on rootClose\n    if (autoClose === 'inside') return source !== 'rootClose';\n\n    // autoClose=outside doesn't permit close on select\n    if (autoClose === 'outside') return source !== 'select';\n    return true;\n  };\n  const handleToggle = useEventCallback((nextShow, meta) => {\n    var _meta$originalEvent, _meta$originalEvent$t;\n    /** Checking if target of event is ToggleButton,\n     * if it is then nullify mousedown event\n     */\n    const isToggleButton = (_meta$originalEvent = meta.originalEvent) == null ? void 0 : (_meta$originalEvent$t = _meta$originalEvent.target) == null ? void 0 : _meta$originalEvent$t.classList.contains('dropdown-toggle');\n    if (isToggleButton && meta.source === 'mousedown') {\n      return;\n    }\n    if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n    if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n  });\n  const alignEnd = align === 'end';\n  const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n  const contextValue = useMemo(() => ({\n    align,\n    drop,\n    isRTL\n  }), [align, drop, isRTL]);\n  const directionClasses = {\n    down: prefix,\n    'down-centered': `${prefix}-center`,\n    up: 'dropup',\n    'up-centered': 'dropup-center dropup',\n    end: 'dropend',\n    start: 'dropstart'\n  };\n  return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n    value: contextValue,\n    children: /*#__PURE__*/_jsx(BaseDropdown, {\n      placement: placement,\n      show: show,\n      onSelect: onSelect,\n      onToggle: handleToggle,\n      focusFirstItemOnShow: focusFirstItemOnShow,\n      itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n      children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, {\n        ...props,\n        ref: ref,\n        className: classNames(className, show && 'show', directionClasses[drop])\n      })\n    })\n  });\n});\nDropdown.displayName = 'Dropdown';\nexport default Object.assign(Dropdown, {\n  Toggle: DropdownToggle,\n  Menu: DropdownMenu,\n  Item: DropdownItem,\n  ItemText: DropdownItemText,\n  Divider: DropdownDivider,\n  Header: DropdownHeader\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Dropdown from './Dropdown';\nimport NavLink from './NavLink';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst NavDropdown = /*#__PURE__*/React.forwardRef(({\n  id,\n  title,\n  children,\n  bsPrefix,\n  className,\n  rootCloseEvent,\n  menuRole,\n  disabled,\n  active,\n  renderMenuOnMount,\n  menuVariant,\n  ...props\n}, ref) => {\n  /* NavItem has no additional logic, it's purely presentational. Can set nav item class here to support \"as\" */\n  const navItemPrefix = useBootstrapPrefix(undefined, 'nav-item');\n  return /*#__PURE__*/_jsxs(Dropdown, {\n    ref: ref,\n    ...props,\n    className: classNames(className, navItemPrefix),\n    children: [/*#__PURE__*/_jsx(Dropdown.Toggle, {\n      id: id,\n      eventKey: null,\n      active: active,\n      disabled: disabled,\n      childBsPrefix: bsPrefix,\n      as: NavLink,\n      children: title\n    }), /*#__PURE__*/_jsx(Dropdown.Menu, {\n      role: menuRole,\n      renderOnMount: renderMenuOnMount,\n      rootCloseEvent: rootCloseEvent,\n      variant: menuVariant,\n      children: children\n    })]\n  });\n});\nNavDropdown.displayName = 'NavDropdown';\nexport default Object.assign(NavDropdown, {\n  Item: Dropdown.Item,\n  ItemText: Dropdown.ItemText,\n  Divider: Dropdown.Divider,\n  Header: Dropdown.Header\n});","import React, {useState} from \"react\";\nimport {Navbar, Nav, Button, Container, NavDropdown, OverlayTrigger, Tooltip, Modal, Image, Stack} from 'react-bootstrap';\nimport {NavLink} from \"react-router-dom\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \".././styles.css\";\nimport ip_head from \"../images/ip_head.png\"\nimport logo_nav2 from \"../images/logo_nav2.png\"\n\nconst setActive=({isActive}) => isActive ? 'active-link' : 'non-active';\n\nfunction NaviBarv2() {\n\n  return (\n\n    <>\n      <Navbar collapseOnSelect expand=\"lg\" bg=\"dark\" variant=\"dark\" >\n        <Container className=\"py-1\">\n        <Navbar.Brand className=\"text-white\">\n        <NavLink to=\"/\" className={setActive}>\n        <Stack direction=\"horizontal\" gap={3}>\n        <Image variant=\"bottom\" className = \"\"\n          src={logo_nav2}\n          fluid\n          style={{ width: '6rem' }, {height: '6rem'}}\n          />{' '}\n          <h3></h3></Stack></NavLink></Navbar.Brand>\n        <Navbar.Toggle aria-controls=\"responsive-navbar-nav\" />\n        <Navbar.Collapse id=\"responsive-navbar-nav\">\n        <Nav className=\"me-auto\" className=\"justify-content-end flex-grow-1 pe-4\">\n        <Nav.Link><NavLink to=\"/news\" className={setActive} ><h5>Новости</h5></NavLink></Nav.Link>\n          <h5><NavDropdown title={<span className=\"fdrop\">Научные направления</span>} id=\"collasible-nav-dropdown\">\n                      <NavDropdown.Item> <NavLink to=\"/data_processing_and_analysis\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Обработка и анализ данных</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/the_spread_of_epidemics\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование и сценарии распространения эпидемий</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/social_processes\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование социальных процессов</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/pollution_modeling\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование загрязнений в регионах РФ</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/medicine\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование в медицине</NavLink></NavDropdown.Item>\n                    </NavDropdown></h5>\n          <h5><NavDropdown title={<span className=\"fdrop\">Данные</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/data\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Данные для скачивания</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/links\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Полезные ссылки</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          <h5><NavDropdown title={<span className=\"fdrop\">Статистика</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/statistics\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Коронавирус</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/tub\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Туберкулёз</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          <div class=\"header__lang\">\n                    <a href=\"/\" class=\"header__lang-link active\">RU</a>\n                    <span>|</span>\n                    <a href=\"/EN/\" class=\"header__lang-link\">EN</a>\n                </div>\n        </Nav>\n        </Navbar.Collapse>\n        </Container>\n      </Navbar>\n    </>\n  )\n}\nexport default NaviBarv2;\n\n","import React from \"react\";\nimport {Container, Card, Row } from 'react-bootstrap';\nimport MTeamItem from './Components/TeamItem'\nimport { motion } from \"framer-motion\"\nimport Zvonareva from \"./images/team/Zvonareva.png\"\nimport Krivorotko from \"./images/team/Krivorotko.png\"\nimport Zyatkov from \"./images/team/Zyatkov.png\"\nimport Neverov from \"./images/team/Neverov.png\"\nimport Petrakova from \"./images/team/Petrakova.jpg\"\nimport Khrushchev from \"./images/team/Khrushchev.jpg\"\nimport Kabanikhin from \"./images/team/Kabanikhin.jpg\"\nimport Question from \"./images/conf/Question.png\"\nimport Footer from './Components/Footer'\nimport NaviBarv2 from './Components/NaviBarv2'\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 100,\n },\n}\n\nconst itemAnimation = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nexport function MainTeam() {\n\n  const posts = [\n    {id: 1, wid: '9rem', name: 'Криворотько Ольга Игоревна', url:'https://icmmg.nsc.ru/ru/content/employees/krivorotko-olga-igorevna', institution: 'д.ф.-м.н.,  начальник научно-исследовательского отдела ММЦ ИМ СО РАН',Phone:' 📞 +7(383) 329-7610',mail:'📩 o.i.krivorotko@math.nsc.ru', image: Krivorotko},\n    {id: 2, wid: '8rem', name: 'Зятьков Николай Юрьевич', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000390', institution: 'к.т.н., начальник инновационного отдела ММЦ ИМ СО РАН',Phone:' 📞 +7(383) 329-7610',mail:'📩 n.y.zyatkov@math.nsc.ru ', image: Zyatkov},\n    {id: 3, wid: '8rem', name: 'Кабанихин Сергей Игоревич', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=0000000635', institution: 'Директор ММЦ ИМ СО РАН',Phone:' 📞 +7(383) 329-7526',mail:'📩 kabanikh@math.nsc.ru', image: Kabanikhin},\n    {id: 4, wid: '9rem', name: 'Петракова Виктория Сергеевна ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000543', institution: 'к.ф.-м.н., научный сотрудник ИМ СО РАН',Phone:'📞 +7(923) 267-3748',mail:'📩 vika-svetlakova@yandex.ru', image: Petrakova},\n    {id: 5, wid: '8rem', name: 'Хрущев Сергей Евгеньевич ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000048', institution: 'к.ф.-м.н., старший научный сотрудник ИМ СО РАН',Phone:' 📞 +7(383) 329-7659',mail:'📩 s.e.khrushchev@math.nsc.ru', image: Question},\n    {id: 6, wid: '8rem', name: 'Звонарева Татьяна Александровна ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000514', institution: 'инженер ИМ СО РАН',Phone:' 📞 +7(383) 329-7611',mail:'📩 t.a.zvonareva@math.nsc.ru', image: Zvonareva},\n    {id: 7, wid: '9rem', name: 'Неверов Андрей Вячеславович ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000504', institution: 'аспирант ИМ СО РАН',institution2:'инженер-исследователь ИМ СО РАН',Phone:' 📞 +7(383) 3297611',mail:'📩 a.neverov@g.nsu.ru', image: Neverov},\n    {id: 8, wid: '8rem', name: 'Нестерова Ангелина Витальевна ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000529', institution: 'аспирант ИМ СО РАН',institution2:'инженер-исследователь ИМ СО РАН',Phone:'',mail:'📩 angelka.nesterova.99@mail.ru' , image: Question},\n    {id: 9, wid: '8rem', name: 'Стрижак Сергей Владимирович ', url:'https://istina.cemi-ras.ru/workers/291766341/', institution: 'к.т.н., старший научный сотрудник ИСП',institution2:'РАН',Phone:'',mail:'📩 strijhak@yandex.ru', image: Question},\n    {id: 10, wid: '8rem', name: 'Кошелев Константин Борисович ', url:'https://istina.msu.ru/workers/263119504/', institution: 'к.ф.-м.н., старший научный сотрудник ИСП РАН',Phone:'',mail:'📩 koshelev@iwep.ru', image: Question},\n    {id: 11, wid: '8rem', name: 'Шефер Евгений Игоревич ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000389', institution: 'к.ф.-м.н., научный сотрудник ИМ СО РАН',Phone:' 📞 +7(383) 329-7659',mail:'📩 e.i.shefer@math.nsc.ru', image: Question},\n    {id: 12, wid: '8rem', name: 'Глухов Антон Иосифович ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000509', institution: 'стажер-исследователь ИМ СО ',institution2:'РАН',Phone:'',mail:'📩 a.glukhov@g.nsu.ru', image: Question},\n    {id: 13, wid: '8rem', name: 'Сурнин Павел Сергеевич ', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000516', institution: 'аспирант НГУ',institution2:'стажер-исследователь ИМ СО РАН',Phone:'',mail:'📩 p.surnin@g.nsu.ru', image: Question}\n  ]\n  return(\n      <>\n      <NaviBarv2 />\n    <Container className=\"my-3\"   style={{height: \"120%\" }}></Container>\n\n        <Container >\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n          <Card className=\"text-center bg-secondary text-white my-3\" >\n            <Card.Title> <h4 className=\"my-1 \">Состав лаборатории</h4> </Card.Title>\n          </Card>\n          </motion.div>\n          <motion.div  initial=\"hidden\"\n            animate=\"visible\">\n          <Container>\n            <Row xs={1} md={2} className=\"justify-content-md-center\" >\n              {posts.map((post, index) =>\n                  <MTeamItem  initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05, once: true}}\n                     custom={index + 1}\n                    variants={variants} key = {post.id} post = {post}/>\n              )}\n            </Row>\n          </Container>\n          </motion.div>\n      </Container>\n      <Footer />\n      </>\n)\n}\n //<Main_picture>\n//</Main_picture><Main_picture />","const _excluded = [\"active\", \"eventKey\", \"mountOnEnter\", \"transition\", \"unmountOnExit\", \"role\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\"],\n  _excluded2 = [\"activeKey\", \"getControlledId\", \"getControllerId\"],\n  _excluded3 = [\"as\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport TabContext from './TabContext';\nimport SelectableContext, { makeEventKey } from './SelectableContext';\nimport NoopTransition from './NoopTransition';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useTabPanel(_ref) {\n  let {\n      active,\n      eventKey,\n      mountOnEnter,\n      transition,\n      unmountOnExit,\n      role = 'tabpanel',\n      onEnter,\n      onEntering,\n      onEntered,\n      onExit,\n      onExiting,\n      onExited\n    } = _ref,\n    props = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const context = useContext(TabContext);\n  if (!context) return [Object.assign({}, props, {\n    role\n  }), {\n    eventKey,\n    isActive: active,\n    mountOnEnter,\n    transition,\n    unmountOnExit,\n    onEnter,\n    onEntering,\n    onEntered,\n    onExit,\n    onExiting,\n    onExited\n  }];\n  const {\n      activeKey,\n      getControlledId,\n      getControllerId\n    } = context,\n    rest = _objectWithoutPropertiesLoose(context, _excluded2);\n  const key = makeEventKey(eventKey);\n  return [Object.assign({}, props, {\n    role,\n    id: getControlledId(eventKey),\n    'aria-labelledby': getControllerId(eventKey)\n  }), {\n    eventKey,\n    isActive: active == null && key != null ? makeEventKey(activeKey) === key : active,\n    transition: transition || rest.transition,\n    mountOnEnter: mountOnEnter != null ? mountOnEnter : rest.mountOnEnter,\n    unmountOnExit: unmountOnExit != null ? unmountOnExit : rest.unmountOnExit,\n    onEnter,\n    onEntering,\n    onEntered,\n    onExit,\n    onExiting,\n    onExited\n  }];\n}\nconst TabPanel = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(_ref2, ref) => {\n  let {\n      as: Component = 'div'\n    } = _ref2,\n    props = _objectWithoutPropertiesLoose(_ref2, _excluded3);\n  const [tabPanelProps, {\n    isActive,\n    onEnter,\n    onEntering,\n    onEntered,\n    onExit,\n    onExiting,\n    onExited,\n    mountOnEnter,\n    unmountOnExit,\n    transition: Transition = NoopTransition\n  }] = useTabPanel(props);\n  // We provide an empty the TabContext so `<Nav>`s in `<TabPanel>`s don't\n  // conflict with the top level one.\n  return /*#__PURE__*/_jsx(TabContext.Provider, {\n    value: null,\n    children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n      value: null,\n      children: /*#__PURE__*/_jsx(Transition, {\n        in: isActive,\n        onEnter: onEnter,\n        onEntering: onEntering,\n        onEntered: onEntered,\n        onExit: onExit,\n        onExiting: onExiting,\n        onExited: onExited,\n        mountOnEnter: mountOnEnter,\n        unmountOnExit: unmountOnExit,\n        children: /*#__PURE__*/_jsx(Component, Object.assign({}, tabPanelProps, {\n          ref: ref,\n          hidden: !isActive,\n          \"aria-hidden\": !isActive\n        }))\n      })\n    })\n  });\n});\nTabPanel.displayName = 'TabPanel';\nexport default TabPanel;","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport { useSSRSafeId } from './ssr';\nimport TabContext from './TabContext';\nimport SelectableContext from './SelectableContext';\nimport TabPanel from './TabPanel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Tabs = props => {\n  const {\n    id: userId,\n    generateChildId: generateCustomChildId,\n    onSelect: propsOnSelect,\n    activeKey: propsActiveKey,\n    defaultActiveKey,\n    transition,\n    mountOnEnter,\n    unmountOnExit,\n    children\n  } = props;\n  const [activeKey, onSelect] = useUncontrolledProp(propsActiveKey, defaultActiveKey, propsOnSelect);\n  const id = useSSRSafeId(userId);\n  const generateChildId = useMemo(() => generateCustomChildId || ((key, type) => id ? `${id}-${type}-${key}` : null), [id, generateCustomChildId]);\n  const tabContext = useMemo(() => ({\n    onSelect,\n    activeKey,\n    transition,\n    mountOnEnter: mountOnEnter || false,\n    unmountOnExit: unmountOnExit || false,\n    getControlledId: key => generateChildId(key, 'tabpane'),\n    getControllerId: key => generateChildId(key, 'tab')\n  }), [onSelect, activeKey, transition, mountOnEnter, unmountOnExit, generateChildId]);\n  return /*#__PURE__*/_jsx(TabContext.Provider, {\n    value: tabContext,\n    children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n      value: onSelect || null,\n      children: children\n    })\n  });\n};\nTabs.Panel = TabPanel;\nexport default Tabs;","import NoopTransition from '@restart/ui/NoopTransition';\nimport Fade from './Fade';\nexport default function getTabTransitionComponent(transition) {\n  if (typeof transition === 'boolean') {\n    return transition ? Fade : NoopTransition;\n  }\n  return transition;\n}","import * as React from 'react';\nimport Tabs from '@restart/ui/Tabs';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabContainer = ({\n  transition,\n  ...props\n}) => /*#__PURE__*/_jsx(Tabs, {\n  ...props,\n  transition: getTabTransitionComponent(transition)\n});\nTabContainer.displayName = 'TabContainer';\nexport default TabContainer;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabContent = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'tab-content');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nTabContent.displayName = 'TabContent';\nexport default TabContent;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport TabContext from '@restart/ui/TabContext';\nimport { useTabPanel } from '@restart/ui/TabPanel';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Fade from './Fade';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabPane = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  transition,\n  ...props\n}, ref) => {\n  const [{\n    className,\n    // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n    as: Component = 'div',\n    ...rest\n  }, {\n    isActive,\n    onEnter,\n    onEntering,\n    onEntered,\n    onExit,\n    onExiting,\n    onExited,\n    mountOnEnter,\n    unmountOnExit,\n    transition: Transition = Fade\n  }] = useTabPanel({\n    ...props,\n    transition: getTabTransitionComponent(transition)\n  });\n  const prefix = useBootstrapPrefix(bsPrefix, 'tab-pane');\n\n  // We provide an empty the TabContext so `<Nav>`s in `<TabPanel>`s don't\n  // conflict with the top level one.\n  return /*#__PURE__*/_jsx(TabContext.Provider, {\n    value: null,\n    children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n      value: null,\n      children: /*#__PURE__*/_jsx(Transition, {\n        in: isActive,\n        onEnter: onEnter,\n        onEntering: onEntering,\n        onEntered: onEntered,\n        onExit: onExit,\n        onExiting: onExiting,\n        onExited: onExited,\n        mountOnEnter: mountOnEnter,\n        unmountOnExit: unmountOnExit,\n        children: /*#__PURE__*/_jsx(Component, {\n          ...rest,\n          ref: ref,\n          className: classNames(className, prefix, isActive && 'active')\n        })\n      })\n    })\n  });\n});\nTabPane.displayName = 'TabPane';\nexport default TabPane;","import PropTypes from 'prop-types';\nimport TabContainer from './TabContainer';\nimport TabContent from './TabContent';\nimport TabPane from './TabPane';\n/* eslint-disable react/no-unused-prop-types */\nconst propTypes = {\n  eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n  /**\n   * Content for the tab title.\n   */\n  title: PropTypes.node.isRequired,\n  /**\n   * The disabled state of the tab.\n   */\n  disabled: PropTypes.bool,\n  /**\n   * Class to pass to the underlying nav link.\n   */\n  tabClassName: PropTypes.string,\n  /**\n   * Object containing attributes to pass to underlying nav link.\n   */\n  tabAttrs: PropTypes.object\n};\nconst Tab = () => {\n  throw new Error('ReactBootstrap: The `Tab` component is not meant to be rendered! ' + \"It's an abstract component that is only valid as a direct Child of the `Tabs` Component. \" + 'For custom tabs components use TabPane and TabsContainer directly');\n};\nTab.propTypes = propTypes;\nexport default Object.assign(Tab, {\n  Container: TabContainer,\n  Content: TabContent,\n  Pane: TabPane\n});","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\nconst MAX_DELAY_MS = 2 ** 31 - 1;\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n  const delayMs = timeoutAtMs - Date.now();\n  handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(() => setChainedTimeout(handleRef, fn, timeoutAtMs), MAX_DELAY_MS);\n}\n\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n *   <div className=\"App\">\n *     {hello ? <h3>Hello</h3> : null}\n *   </div>\n * );\n * ```\n */\nexport default function useTimeout() {\n  const isMounted = useMounted();\n\n  // types are confused between node and web here IDK\n  const handleRef = useRef();\n  useWillUnmount(() => clearTimeout(handleRef.current));\n  return useMemo(() => {\n    const clear = () => clearTimeout(handleRef.current);\n    function set(fn, delayMs = 0) {\n      if (!isMounted()) return;\n      clear();\n      if (delayMs <= MAX_DELAY_MS) {\n        // For simplicity, if the timeout is short, just set a normal timeout.\n        handleRef.current = setTimeout(fn, delayMs);\n      } else {\n        setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n      }\n    }\n    return {\n      set,\n      clear,\n      handleRef\n    };\n  }, []);\n}","import listen from 'dom-helpers/listen';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport { useEffect } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useClickOutside, { getRefTarget } from './useClickOutside';\nimport { isEscKey } from './utils';\nconst noop = () => {};\n/**\n * The `useRootClose` hook registers your callback on the document\n * when rendered. Powers the `<Overlay/>` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref  The element boundary\n * @param {function} onRootClose\n * @param {object=}  options\n * @param {boolean=} options.disabled\n * @param {string=}  options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\nfunction useRootClose(ref, onRootClose, {\n  disabled,\n  clickTrigger\n} = {}) {\n  const onClose = onRootClose || noop;\n  useClickOutside(ref, onClose, {\n    disabled,\n    clickTrigger\n  });\n  const handleKeyUp = useEventCallback(e => {\n    if (isEscKey(e)) {\n      onClose(e);\n    }\n  });\n  useEffect(() => {\n    if (disabled || ref == null) return undefined;\n    const doc = ownerDocument(getRefTarget(ref));\n\n    // Store the current event to avoid triggering handlers immediately\n    // https://github.com/facebook/react/issues/20074\n    let currentEvent = (doc.defaultView || window).event;\n    const removeKeyupListener = listen(doc, 'keyup', e => {\n      // skip if this event is the same as the one running when we added the handlers\n      if (e === currentEvent) {\n        currentEvent = undefined;\n        return;\n      }\n      handleKeyUp(e);\n    });\n    return () => {\n      removeKeyupListener();\n    };\n  }, [ref, disabled, handleKeyUp]);\n}\nexport default useRootClose;","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { useState } from 'react';\nimport usePopper from './usePopper';\nimport useRootClose from './useRootClose';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\nimport { renderTransition } from './ImperativeTransition';\n/**\n * Built on top of `Popper.js`, the overlay component is\n * great for custom tooltip overlays.\n */\nconst Overlay = /*#__PURE__*/React.forwardRef((props, outerRef) => {\n  const {\n    flip,\n    offset,\n    placement,\n    containerPadding,\n    popperConfig = {},\n    transition: Transition,\n    runTransition\n  } = props;\n  const [rootElement, attachRef] = useCallbackRef();\n  const [arrowElement, attachArrowRef] = useCallbackRef();\n  const mergedRef = useMergedRefs(attachRef, outerRef);\n  const container = useWaitForDOMRef(props.container);\n  const target = useWaitForDOMRef(props.target);\n  const [exited, setExited] = useState(!props.show);\n  const popper = usePopper(target, rootElement, mergeOptionsWithPopperConfig({\n    placement,\n    enableEvents: !!props.show,\n    containerPadding: containerPadding || 5,\n    flip,\n    offset,\n    arrowElement,\n    popperConfig\n  }));\n\n  // TODO: I think this needs to be in an effect\n  if (props.show && exited) {\n    setExited(false);\n  }\n  const handleHidden = (...args) => {\n    setExited(true);\n    if (props.onExited) {\n      props.onExited(...args);\n    }\n  };\n\n  // Don't un-render the overlay while it's transitioning out.\n  const mountOverlay = props.show || !exited;\n  useRootClose(rootElement, props.onHide, {\n    disabled: !props.rootClose || props.rootCloseDisabled,\n    clickTrigger: props.rootCloseEvent\n  });\n  if (!mountOverlay) {\n    // Don't bother showing anything if we don't have to.\n    return null;\n  }\n  const {\n    onExit,\n    onExiting,\n    onEnter,\n    onEntering,\n    onEntered\n  } = props;\n  let child = props.children(Object.assign({}, popper.attributes.popper, {\n    style: popper.styles.popper,\n    ref: mergedRef\n  }), {\n    popper,\n    placement,\n    show: !!props.show,\n    arrowProps: Object.assign({}, popper.attributes.arrow, {\n      style: popper.styles.arrow,\n      ref: attachArrowRef\n    })\n  });\n  child = renderTransition(Transition, runTransition, {\n    in: !!props.show,\n    appear: true,\n    mountOnEnter: true,\n    unmountOnExit: true,\n    children: child,\n    onExit,\n    onExiting,\n    onExited: handleHidden,\n    onEnter,\n    onEntering,\n    onEntered\n  });\n  return container ? /*#__PURE__*/ReactDOM.createPortal(child, container) : null;\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverHeader = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nPopoverHeader.displayName = 'PopoverHeader';\nexport default PopoverHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverBody = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nPopoverBody.displayName = 'PopoverBody';\nexport default PopoverBody;","import * as React from 'react';\nexport class BsPrefixComponent extends React.Component {}\n\n// Need to use this instead of typeof Component to get proper type checking.\n\nexport function getOverlayDirection(placement, isRTL) {\n  let bsDirection = placement;\n  if (placement === 'left') {\n    bsDirection = isRTL ? 'end' : 'start';\n  } else if (placement === 'right') {\n    bsDirection = isRTL ? 'start' : 'end';\n  }\n  return bsDirection;\n}","export default function getInitialPopperStyles(position = 'absolute') {\n  return {\n    position,\n    top: '0',\n    left: '0',\n    opacity: '0',\n    pointerEvents: 'none'\n  };\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport PopoverHeader from './PopoverHeader';\nimport PopoverBody from './PopoverBody';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Popover = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  placement = 'right',\n  className,\n  style,\n  children,\n  body,\n  arrowProps,\n  hasDoneInitialMeasure,\n  popper,\n  show,\n  ...props\n}, ref) => {\n  const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n  const isRTL = useIsRTL();\n  const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n  const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n  let computedStyle = style;\n  if (show && !hasDoneInitialMeasure) {\n    computedStyle = {\n      ...style,\n      ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n    };\n  }\n  return /*#__PURE__*/_jsxs(\"div\", {\n    ref: ref,\n    role: \"tooltip\",\n    style: computedStyle,\n    \"x-placement\": primaryPlacement,\n    className: classNames(className, decoratedBsPrefix, primaryPlacement && `bs-popover-${bsDirection}`),\n    ...props,\n    children: [/*#__PURE__*/_jsx(\"div\", {\n      className: \"popover-arrow\",\n      ...arrowProps\n    }), body ? /*#__PURE__*/_jsx(PopoverBody, {\n      children: children\n    }) : children]\n  });\n});\nexport default Object.assign(Popover, {\n  Header: PopoverHeader,\n  Body: PopoverBody,\n  // Default popover offset.\n  // https://github.com/twbs/bootstrap/blob/5c32767e0e0dbac2d934bcdee03719a65d3f1187/js/src/popover.js#L28\n  POPPER_OFFSET: [0, 8]\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Tooltip = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  placement = 'right',\n  className,\n  style,\n  children,\n  arrowProps,\n  hasDoneInitialMeasure,\n  popper,\n  show,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');\n  const isRTL = useIsRTL();\n  const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n  const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n  let computedStyle = style;\n  if (show && !hasDoneInitialMeasure) {\n    computedStyle = {\n      ...style,\n      ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n    };\n  }\n  return /*#__PURE__*/_jsxs(\"div\", {\n    ref: ref,\n    style: computedStyle,\n    role: \"tooltip\",\n    \"x-placement\": primaryPlacement,\n    className: classNames(className, bsPrefix, `bs-tooltip-${bsDirection}`),\n    ...props,\n    children: [/*#__PURE__*/_jsx(\"div\", {\n      className: \"tooltip-arrow\",\n      ...arrowProps\n    }), /*#__PURE__*/_jsx(\"div\", {\n      className: `${bsPrefix}-inner`,\n      children: children\n    })]\n  });\n});\nTooltip.displayName = 'Tooltip';\nexport default Object.assign(Tooltip, {\n  // Default tooltip offset.\n  // https://github.com/twbs/bootstrap/blob/beca2a6c7f6bc88b6449339fc76edcda832c59e5/js/src/tooltip.js#L65\n  TOOLTIP_OFFSET: [0, 6]\n});","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction wrapRefs(props, arrowProps) {\n  const {\n    ref\n  } = props;\n  const {\n    ref: aRef\n  } = arrowProps;\n  props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n  arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n  children: overlay,\n  transition = Fade,\n  popperConfig = {},\n  rootClose = false,\n  placement = 'top',\n  show: outerShow = false,\n  ...outerProps\n}, outerRef) => {\n  const popperRef = useRef({});\n  const [firstRenderedState, setFirstRenderedState] = useState(null);\n  const [ref, modifiers] = useOverlayOffset(outerProps.offset);\n  const mergedRef = useMergedRefs(outerRef, ref);\n  const actualTransition = transition === true ? Fade : transition || undefined;\n  const handleFirstUpdate = useEventCallback(state => {\n    setFirstRenderedState(state);\n    popperConfig == null ? void 0 : popperConfig.onFirstUpdate == null ? void 0 : popperConfig.onFirstUpdate(state);\n  });\n  useIsomorphicEffect(() => {\n    if (firstRenderedState && outerProps.target) {\n      // Must wait for target element to resolve before updating popper.\n      popperRef.current.scheduleUpdate == null ? void 0 : popperRef.current.scheduleUpdate();\n    }\n  }, [firstRenderedState, outerProps.target]);\n  useEffect(() => {\n    if (!outerShow) {\n      setFirstRenderedState(null);\n    }\n  }, [outerShow]);\n  return /*#__PURE__*/_jsx(BaseOverlay, {\n    ...outerProps,\n    ref: mergedRef,\n    popperConfig: {\n      ...popperConfig,\n      modifiers: modifiers.concat(popperConfig.modifiers || []),\n      onFirstUpdate: handleFirstUpdate\n    },\n    transition: actualTransition,\n    rootClose: rootClose,\n    placement: placement,\n    show: outerShow,\n    children: (overlayProps, {\n      arrowProps,\n      popper: popperObj,\n      show\n    }) => {\n      var _popperObj$state, _popperObj$state$modi;\n      wrapRefs(overlayProps, arrowProps);\n      // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n      const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n      const popper = Object.assign(popperRef.current, {\n        state: popperObj == null ? void 0 : popperObj.state,\n        scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n        placement: updatedPlacement,\n        outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false,\n        strategy: popperConfig.strategy\n      });\n      const hasDoneInitialMeasure = !!firstRenderedState;\n      if (typeof overlay === 'function') return overlay({\n        ...overlayProps,\n        placement: updatedPlacement,\n        show,\n        ...(!transition && show && {\n          className: 'show'\n        }),\n        popper,\n        arrowProps,\n        hasDoneInitialMeasure\n      });\n      return /*#__PURE__*/React.cloneElement(overlay, {\n        ...overlayProps,\n        placement: updatedPlacement,\n        arrowProps,\n        popper,\n        hasDoneInitialMeasure,\n        className: classNames(overlay.props.className, !transition && show && 'show'),\n        style: {\n          ...overlay.props.style,\n          ...overlayProps.style\n        }\n      });\n    }\n  });\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","\"use client\";\n\nimport { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover';\nimport Tooltip from './Tooltip';\n\n// This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover or tooltip.\nexport default function useOverlayOffset(customOffset) {\n  const overlayRef = useRef(null);\n  const popoverClass = useBootstrapPrefix(undefined, 'popover');\n  const tooltipClass = useBootstrapPrefix(undefined, 'tooltip');\n  const offset = useMemo(() => ({\n    name: 'offset',\n    options: {\n      offset: () => {\n        if (customOffset) {\n          return customOffset;\n        }\n        if (overlayRef.current) {\n          if (hasClass(overlayRef.current, popoverClass)) {\n            return Popover.POPPER_OFFSET;\n          }\n          if (hasClass(overlayRef.current, tooltipClass)) {\n            return Tooltip.TOOLTIP_OFFSET;\n          }\n        }\n        return [0, 0];\n      }\n    }\n  }), [customOffset, popoverClass, tooltipClass]);\n  return [overlayRef, [offset]];\n}","\"use client\";\n\nimport contains from 'dom-helpers/contains';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction normalizeDelay(delay) {\n  return delay && typeof delay === 'object' ? delay : {\n    show: delay,\n    hide: delay\n  };\n}\n\n// Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\nfunction handleMouseOverOut(\n// eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n  const [e] = args;\n  const target = e.currentTarget;\n  const related = e.relatedTarget || e.nativeEvent[relatedNative];\n  if ((!related || related !== target) && !contains(target, related)) {\n    handler(...args);\n  }\n}\nconst triggerType = PropTypes.oneOf(['click', 'hover', 'focus']);\nconst OverlayTrigger = ({\n  trigger = ['hover', 'focus'],\n  overlay,\n  children,\n  popperConfig = {},\n  show: propsShow,\n  defaultShow = false,\n  onToggle,\n  delay: propsDelay,\n  placement,\n  flip = placement && placement.indexOf('auto') !== -1,\n  ...props\n}) => {\n  const triggerNodeRef = useRef(null);\n  const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n  const timeout = useTimeout();\n  const hoverStateRef = useRef('');\n  const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n  const delay = normalizeDelay(propsDelay);\n  const {\n    onFocus,\n    onBlur,\n    onClick\n  } = typeof children !== 'function' ? React.Children.only(children).props : {};\n  const attachRef = r => {\n    mergedRef(safeFindDOMNode(r));\n  };\n  const handleShow = useCallback(() => {\n    timeout.clear();\n    hoverStateRef.current = 'show';\n    if (!delay.show) {\n      setShow(true);\n      return;\n    }\n    timeout.set(() => {\n      if (hoverStateRef.current === 'show') setShow(true);\n    }, delay.show);\n  }, [delay.show, setShow, timeout]);\n  const handleHide = useCallback(() => {\n    timeout.clear();\n    hoverStateRef.current = 'hide';\n    if (!delay.hide) {\n      setShow(false);\n      return;\n    }\n    timeout.set(() => {\n      if (hoverStateRef.current === 'hide') setShow(false);\n    }, delay.hide);\n  }, [delay.hide, setShow, timeout]);\n  const handleFocus = useCallback((...args) => {\n    handleShow();\n    onFocus == null ? void 0 : onFocus(...args);\n  }, [handleShow, onFocus]);\n  const handleBlur = useCallback((...args) => {\n    handleHide();\n    onBlur == null ? void 0 : onBlur(...args);\n  }, [handleHide, onBlur]);\n  const handleClick = useCallback((...args) => {\n    setShow(!show);\n    onClick == null ? void 0 : onClick(...args);\n  }, [onClick, setShow, show]);\n  const handleMouseOver = useCallback((...args) => {\n    handleMouseOverOut(handleShow, args, 'fromElement');\n  }, [handleShow]);\n  const handleMouseOut = useCallback((...args) => {\n    handleMouseOverOut(handleHide, args, 'toElement');\n  }, [handleHide]);\n  const triggers = trigger == null ? [] : [].concat(trigger);\n  const triggerProps = {\n    ref: attachRef\n  };\n  if (triggers.indexOf('click') !== -1) {\n    triggerProps.onClick = handleClick;\n  }\n  if (triggers.indexOf('focus') !== -1) {\n    triggerProps.onFocus = handleFocus;\n    triggerProps.onBlur = handleBlur;\n  }\n  if (triggers.indexOf('hover') !== -1) {\n    process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n    triggerProps.onMouseOver = handleMouseOver;\n    triggerProps.onMouseOut = handleMouseOut;\n  }\n  return /*#__PURE__*/_jsxs(_Fragment, {\n    children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, {\n      ...props,\n      show: show,\n      onHide: handleHide,\n      flip: flip,\n      placement: placement,\n      popperConfig: popperConfig,\n      target: triggerNodeRef.current,\n      children: overlay\n    })]\n  });\n};\nexport default OverlayTrigger;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  active,\n  disabled,\n  eventKey,\n  className,\n  variant,\n  action,\n  as,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n  const [navItemProps, meta] = useNavItem({\n    key: makeEventKey(eventKey, props.href),\n    active,\n    ...props\n  });\n  const handleClick = useEventCallback(event => {\n    if (disabled) {\n      event.preventDefault();\n      event.stopPropagation();\n      return;\n    }\n    navItemProps.onClick(event);\n  });\n  if (disabled && props.tabIndex === undefined) {\n    props.tabIndex = -1;\n    props['aria-disabled'] = true;\n  }\n\n  // eslint-disable-next-line no-nested-ternary\n  const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n  process.env.NODE_ENV !== \"production\" ? warning(as || !(!action && props.href), '`action=false` and `href` should not be used together.') : void 0;\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    ...props,\n    ...navItemProps,\n    onClick: handleClick,\n    className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n  });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n  const {\n    className,\n    bsPrefix: initialBsPrefix,\n    variant,\n    horizontal,\n    numbered,\n    // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n    as = 'div',\n    ...controlledProps\n  } = useUncontrolled(props, {\n    activeKey: 'onSelect'\n  });\n  const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n  let horizontalVariant;\n  if (horizontal) {\n    horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n  }\n  process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n  return /*#__PURE__*/_jsx(BaseNav, {\n    ref: ref,\n    ...controlledProps,\n    as: as,\n    className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)\n  });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n  Item: ListGroupItem\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  variant,\n  animation = 'border',\n  size,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  className,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n  const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    ...props,\n    className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n  });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import React, {useState, forwardRef} from \"react\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Stack, Spinner} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\n\nconst StaticCovidDataItem = forwardRef((props, ref) => {\n\n    return (\n      <Col xs= {12} md={4} ref={ref}>\n      <Card border=\"light\" style={{ width: '5rem' }, {height: '8rem'}} className=\"mx-2 my-2 shadow1\">\n        <Card.Body>\n        <Card.Title className=\"text-center text-info\">{props.last.lastData ? <div>{ isNaN(props.last.lastData) ? <p>нет данных</p> : <h3>{props.last.lastData}</h3> }</div> : <Spinner style={{position: 'absolute', top: '10%'}} size=\"sm\" animation=\"border\" variant=\"info\" />}</Card.Title>\n        <Card.Text className=\"text-center\">\n        <small>{props.last.name}</small>\n        </Card.Text>\n        </Card.Body>\n      <Card.Footer className=\"bg-white shadow1 mx-3 \" style={{ width: '12rem' }}>\n      <small className=\"text-muted\"><small className=\"text-center\">По данным на {props.last.lastDatadate? props.last.lastDatadate : <div></div>}</small></small>\n      </Card.Footer>\n      </Card></Col>\n    )\n})\nconst MSCDItem = motion(StaticCovidDataItem);\nexport default MSCDItem;\nexport {StaticCovidDataItem}\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n  let id = 0;\n  return function() {\n    return id++;\n  };\n}());\nfunction isNullOrUndef(value) {\n  return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n  if (Array.isArray && Array.isArray(value)) {\n    return true;\n  }\n  const type = Object.prototype.toString.call(value);\n  if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n    return true;\n  }\n  return false;\n}\nfunction isObject(value) {\n  return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n  return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n  return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n  typeof value === 'string' && value.endsWith('%') ?\n    parseFloat(value) / 100\n    : value / dimension;\nconst toDimension = (value, dimension) =>\n  typeof value === 'string' && value.endsWith('%') ?\n    parseFloat(value) / 100 * dimension\n    : +value;\nfunction callback(fn, args, thisArg) {\n  if (fn && typeof fn.call === 'function') {\n    return fn.apply(thisArg, args);\n  }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n  let i, len, keys;\n  if (isArray(loopable)) {\n    len = loopable.length;\n    if (reverse) {\n      for (i = len - 1; i >= 0; i--) {\n        fn.call(thisArg, loopable[i], i);\n      }\n    } else {\n      for (i = 0; i < len; i++) {\n        fn.call(thisArg, loopable[i], i);\n      }\n    }\n  } else if (isObject(loopable)) {\n    keys = Object.keys(loopable);\n    len = keys.length;\n    for (i = 0; i < len; i++) {\n      fn.call(thisArg, loopable[keys[i]], keys[i]);\n    }\n  }\n}\nfunction _elementsEqual(a0, a1) {\n  let i, ilen, v0, v1;\n  if (!a0 || !a1 || a0.length !== a1.length) {\n    return false;\n  }\n  for (i = 0, ilen = a0.length; i < ilen; ++i) {\n    v0 = a0[i];\n    v1 = a1[i];\n    if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction clone$1(source) {\n  if (isArray(source)) {\n    return source.map(clone$1);\n  }\n  if (isObject(source)) {\n    const target = Object.create(null);\n    const keys = Object.keys(source);\n    const klen = keys.length;\n    let k = 0;\n    for (; k < klen; ++k) {\n      target[keys[k]] = clone$1(source[keys[k]]);\n    }\n    return target;\n  }\n  return source;\n}\nfunction isValidKey(key) {\n  return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n  if (!isValidKey(key)) {\n    return;\n  }\n  const tval = target[key];\n  const sval = source[key];\n  if (isObject(tval) && isObject(sval)) {\n    merge(tval, sval, options);\n  } else {\n    target[key] = clone$1(sval);\n  }\n}\nfunction merge(target, source, options) {\n  const sources = isArray(source) ? source : [source];\n  const ilen = sources.length;\n  if (!isObject(target)) {\n    return target;\n  }\n  options = options || {};\n  const merger = options.merger || _merger;\n  for (let i = 0; i < ilen; ++i) {\n    source = sources[i];\n    if (!isObject(source)) {\n      continue;\n    }\n    const keys = Object.keys(source);\n    for (let k = 0, klen = keys.length; k < klen; ++k) {\n      merger(keys[k], target, source, options);\n    }\n  }\n  return target;\n}\nfunction mergeIf(target, source) {\n  return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n  if (!isValidKey(key)) {\n    return;\n  }\n  const tval = target[key];\n  const sval = source[key];\n  if (isObject(tval) && isObject(sval)) {\n    mergeIf(tval, sval);\n  } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n    target[key] = clone$1(sval);\n  }\n}\nfunction _deprecated(scope, value, previous, current) {\n  if (value !== undefined) {\n    console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n  }\n}\nconst keyResolvers = {\n  '': v => v,\n  x: o => o.x,\n  y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n  const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n  return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n  const keys = _splitKey(key);\n  return obj => {\n    for (const k of keys) {\n      if (k === '') {\n        break;\n      }\n      obj = obj && obj[k];\n    }\n    return obj;\n  };\n}\nfunction _splitKey(key) {\n  const parts = key.split('.');\n  const keys = [];\n  let tmp = '';\n  for (const part of parts) {\n    tmp += part;\n    if (tmp.endsWith('\\\\')) {\n      tmp = tmp.slice(0, -1) + '.';\n    } else {\n      keys.push(tmp);\n      tmp = '';\n    }\n  }\n  return keys;\n}\nfunction _capitalize(str) {\n  return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n  if (a.size !== b.size) {\n    return false;\n  }\n  for (const item of a) {\n    if (!b.has(item)) {\n      return false;\n    }\n  }\n  return true;\n};\nfunction _isClickEvent(e) {\n  return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n  const roundedRange = Math.round(range);\n  range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n  const niceRange = Math.pow(10, Math.floor(log10(range)));\n  const fraction = range / niceRange;\n  const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n  return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n  const result = [];\n  const sqrt = Math.sqrt(value);\n  let i;\n  for (i = 1; i < sqrt; i++) {\n    if (value % i === 0) {\n      result.push(i);\n      result.push(value / i);\n    }\n  }\n  if (sqrt === (sqrt | 0)) {\n    result.push(sqrt);\n  }\n  result.sort((a, b) => a - b).pop();\n  return result;\n}\nfunction isNumber(n) {\n  return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n  return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n  const rounded = Math.round(x);\n  return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n  let i, ilen, value;\n  for (i = 0, ilen = array.length; i < ilen; i++) {\n    value = array[i][property];\n    if (!isNaN(value)) {\n      target.min = Math.min(target.min, value);\n      target.max = Math.max(target.max, value);\n    }\n  }\n}\nfunction toRadians(degrees) {\n  return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n  return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n  if (!isNumberFinite(x)) {\n    return;\n  }\n  let e = 1;\n  let p = 0;\n  while (Math.round(x * e) / e !== x) {\n    e *= 10;\n    p++;\n  }\n  return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n  const distanceFromXCenter = anglePoint.x - centrePoint.x;\n  const distanceFromYCenter = anglePoint.y - centrePoint.y;\n  const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n  let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n  if (angle < (-0.5 * PI)) {\n    angle += TAU;\n  }\n  return {\n    angle,\n    distance: radialDistanceFromCenter\n  };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n  return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n  return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n  return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n  const a = _normalizeAngle(angle);\n  const s = _normalizeAngle(start);\n  const e = _normalizeAngle(end);\n  const angleToStart = _normalizeAngle(s - a);\n  const angleToEnd = _normalizeAngle(e - a);\n  const startToAngle = _normalizeAngle(a - s);\n  const endToAngle = _normalizeAngle(a - e);\n  return a === s || a === e || (sameAngleIsFullCircle && s === e)\n    || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n  return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n  return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n  return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n  cmp = cmp || ((index) => table[index] < value);\n  let hi = table.length - 1;\n  let lo = 0;\n  let mid;\n  while (hi - lo > 1) {\n    mid = (lo + hi) >> 1;\n    if (cmp(mid)) {\n      lo = mid;\n    } else {\n      hi = mid;\n    }\n  }\n  return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n  _lookup(table, value, last\n    ? index => table[index][key] <= value\n    : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n  _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n  let start = 0;\n  let end = values.length;\n  while (start < end && values[start] < min) {\n    start++;\n  }\n  while (end > start && values[end - 1] > max) {\n    end--;\n  }\n  return start > 0 || end < values.length\n    ? values.slice(start, end)\n    : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n  if (array._chartjs) {\n    array._chartjs.listeners.push(listener);\n    return;\n  }\n  Object.defineProperty(array, '_chartjs', {\n    configurable: true,\n    enumerable: false,\n    value: {\n      listeners: [listener]\n    }\n  });\n  arrayEvents.forEach((key) => {\n    const method = '_onData' + _capitalize(key);\n    const base = array[key];\n    Object.defineProperty(array, key, {\n      configurable: true,\n      enumerable: false,\n      value(...args) {\n        const res = base.apply(this, args);\n        array._chartjs.listeners.forEach((object) => {\n          if (typeof object[method] === 'function') {\n            object[method](...args);\n          }\n        });\n        return res;\n      }\n    });\n  });\n}\nfunction unlistenArrayEvents(array, listener) {\n  const stub = array._chartjs;\n  if (!stub) {\n    return;\n  }\n  const listeners = stub.listeners;\n  const index = listeners.indexOf(listener);\n  if (index !== -1) {\n    listeners.splice(index, 1);\n  }\n  if (listeners.length > 0) {\n    return;\n  }\n  arrayEvents.forEach((key) => {\n    delete array[key];\n  });\n  delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n  const set = new Set();\n  let i, ilen;\n  for (i = 0, ilen = items.length; i < ilen; ++i) {\n    set.add(items[i]);\n  }\n  if (set.size === ilen) {\n    return items;\n  }\n  return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n  return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n  if (typeof window === 'undefined') {\n    return function(callback) {\n      return callback();\n    };\n  }\n  return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n  const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n  let ticking = false;\n  let args = [];\n  return function(...rest) {\n    args = updateArgs(rest);\n    if (!ticking) {\n      ticking = true;\n      requestAnimFrame.call(window, () => {\n        ticking = false;\n        fn.apply(thisArg, args);\n      });\n    }\n  };\n}\nfunction debounce(fn, delay) {\n  let timeout;\n  return function(...args) {\n    if (delay) {\n      clearTimeout(timeout);\n      timeout = setTimeout(fn, delay, args);\n    } else {\n      fn.apply(this, args);\n    }\n    return delay;\n  };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n  const check = rtl ? 'left' : 'right';\n  return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n  const pointCount = points.length;\n  let start = 0;\n  let count = pointCount;\n  if (meta._sorted) {\n    const {iScale, _parsed} = meta;\n    const axis = iScale.axis;\n    const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n    if (minDefined) {\n      start = _limitValue(Math.min(\n        _lookupByKey(_parsed, iScale.axis, min).lo,\n        animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n      0, pointCount - 1);\n    }\n    if (maxDefined) {\n      count = _limitValue(Math.max(\n        _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n        animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n      start, pointCount) - start;\n    } else {\n      count = pointCount - start;\n    }\n  }\n  return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n  const {xScale, yScale, _scaleRanges} = meta;\n  const newRanges = {\n    xmin: xScale.min,\n    xmax: xScale.max,\n    ymin: yScale.min,\n    ymax: yScale.max\n  };\n  if (!_scaleRanges) {\n    meta._scaleRanges = newRanges;\n    return true;\n  }\n  const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n  Object.assign(_scaleRanges, newRanges);\n  return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n  linear: t => t,\n  easeInQuad: t => t * t,\n  easeOutQuad: t => -t * (t - 2),\n  easeInOutQuad: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t\n    : -0.5 * ((--t) * (t - 2) - 1),\n  easeInCubic: t => t * t * t,\n  easeOutCubic: t => (t -= 1) * t * t + 1,\n  easeInOutCubic: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t * t\n    : 0.5 * ((t -= 2) * t * t + 2),\n  easeInQuart: t => t * t * t * t,\n  easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n  easeInOutQuart: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t * t * t\n    : -0.5 * ((t -= 2) * t * t * t - 2),\n  easeInQuint: t => t * t * t * t * t,\n  easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n  easeInOutQuint: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t * t * t * t\n    : 0.5 * ((t -= 2) * t * t * t * t + 2),\n  easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n  easeOutSine: t => Math.sin(t * HALF_PI),\n  easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n  easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n  easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n  easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n    ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n    : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n  easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n  easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n  easeInOutCirc: t => ((t /= 0.5) < 1)\n    ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n    : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n  easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n  easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n  easeInOutElastic(t) {\n    const s = 0.1125;\n    const p = 0.45;\n    return atEdge(t) ? t :\n      t < 0.5\n        ? 0.5 * elasticIn(t * 2, s, p)\n        : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n  },\n  easeInBack(t) {\n    const s = 1.70158;\n    return t * t * ((s + 1) * t - s);\n  },\n  easeOutBack(t) {\n    const s = 1.70158;\n    return (t -= 1) * t * ((s + 1) * t + s) + 1;\n  },\n  easeInOutBack(t) {\n    let s = 1.70158;\n    if ((t /= 0.5) < 1) {\n      return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n    }\n    return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n  },\n  easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n  easeOutBounce(t) {\n    const m = 7.5625;\n    const d = 2.75;\n    if (t < (1 / d)) {\n      return m * t * t;\n    }\n    if (t < (2 / d)) {\n      return m * (t -= (1.5 / d)) * t + 0.75;\n    }\n    if (t < (2.5 / d)) {\n      return m * (t -= (2.25 / d)) * t + 0.9375;\n    }\n    return m * (t -= (2.625 / d)) * t + 0.984375;\n  },\n  easeInOutBounce: t => (t < 0.5)\n    ? effects.easeInBounce(t * 2) * 0.5\n    : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n  return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n  return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n  return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n  return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n  return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n  var len = str.length;\n  var ret;\n  if (str[0] === '#') {\n    if (len === 4 || len === 5) {\n      ret = {\n        r: 255 & map$1[str[1]] * 17,\n        g: 255 & map$1[str[2]] * 17,\n        b: 255 & map$1[str[3]] * 17,\n        a: len === 5 ? map$1[str[4]] * 17 : 255\n      };\n    } else if (len === 7 || len === 9) {\n      ret = {\n        r: map$1[str[1]] << 4 | map$1[str[2]],\n        g: map$1[str[3]] << 4 | map$1[str[4]],\n        b: map$1[str[5]] << 4 | map$1[str[6]],\n        a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n      };\n    }\n  }\n  return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n  var f = isShort(v) ? h1 : h2;\n  return v\n    ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n    : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n  const a = s * Math.min(l, 1 - l);\n  const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n  return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n  const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n  return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n  const rgb = hsl2rgbn(h, 1, 0.5);\n  let i;\n  if (w + b > 1) {\n    i = 1 / (w + b);\n    w *= i;\n    b *= i;\n  }\n  for (i = 0; i < 3; i++) {\n    rgb[i] *= 1 - w - b;\n    rgb[i] += w;\n  }\n  return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n  if (r === max) {\n    return ((g - b) / d) + (g < b ? 6 : 0);\n  }\n  if (g === max) {\n    return (b - r) / d + 2;\n  }\n  return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n  const range = 255;\n  const r = v.r / range;\n  const g = v.g / range;\n  const b = v.b / range;\n  const max = Math.max(r, g, b);\n  const min = Math.min(r, g, b);\n  const l = (max + min) / 2;\n  let h, s, d;\n  if (max !== min) {\n    d = max - min;\n    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n    h = hueValue(r, g, b, d, max);\n    h = h * 60 + 0.5;\n  }\n  return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n  return (\n    Array.isArray(a)\n      ? f(a[0], a[1], a[2])\n      : f(a, b, c)\n  ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n  return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n  return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n  return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n  return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n  const m = HUE_RE.exec(str);\n  let a = 255;\n  let v;\n  if (!m) {\n    return;\n  }\n  if (m[5] !== v) {\n    a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n  }\n  const h = hue(+m[2]);\n  const p1 = +m[3] / 100;\n  const p2 = +m[4] / 100;\n  if (m[1] === 'hwb') {\n    v = hwb2rgb(h, p1, p2);\n  } else if (m[1] === 'hsv') {\n    v = hsv2rgb(h, p1, p2);\n  } else {\n    v = hsl2rgb(h, p1, p2);\n  }\n  return {\n    r: v[0],\n    g: v[1],\n    b: v[2],\n    a: a\n  };\n}\nfunction rotate(v, deg) {\n  var h = rgb2hsl(v);\n  h[0] = hue(h[0] + deg);\n  h = hsl2rgb(h);\n  v.r = h[0];\n  v.g = h[1];\n  v.b = h[2];\n}\nfunction hslString(v) {\n  if (!v) {\n    return;\n  }\n  const a = rgb2hsl(v);\n  const h = a[0];\n  const s = n2p(a[1]);\n  const l = n2p(a[2]);\n  return v.a < 255\n    ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n    : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n  x: 'dark',\n  Z: 'light',\n  Y: 're',\n  X: 'blu',\n  W: 'gr',\n  V: 'medium',\n  U: 'slate',\n  A: 'ee',\n  T: 'ol',\n  S: 'or',\n  B: 'ra',\n  C: 'lateg',\n  D: 'ights',\n  R: 'in',\n  Q: 'turquois',\n  E: 'hi',\n  P: 'ro',\n  O: 'al',\n  N: 'le',\n  M: 'de',\n  L: 'yello',\n  F: 'en',\n  K: 'ch',\n  G: 'arks',\n  H: 'ea',\n  I: 'ightg',\n  J: 'wh'\n};\nconst names$1 = {\n  OiceXe: 'f0f8ff',\n  antiquewEte: 'faebd7',\n  aqua: 'ffff',\n  aquamarRe: '7fffd4',\n  azuY: 'f0ffff',\n  beige: 'f5f5dc',\n  bisque: 'ffe4c4',\n  black: '0',\n  blanKedOmond: 'ffebcd',\n  Xe: 'ff',\n  XeviTet: '8a2be2',\n  bPwn: 'a52a2a',\n  burlywood: 'deb887',\n  caMtXe: '5f9ea0',\n  KartYuse: '7fff00',\n  KocTate: 'd2691e',\n  cSO: 'ff7f50',\n  cSnflowerXe: '6495ed',\n  cSnsilk: 'fff8dc',\n  crimson: 'dc143c',\n  cyan: 'ffff',\n  xXe: '8b',\n  xcyan: '8b8b',\n  xgTMnPd: 'b8860b',\n  xWay: 'a9a9a9',\n  xgYF: '6400',\n  xgYy: 'a9a9a9',\n  xkhaki: 'bdb76b',\n  xmagFta: '8b008b',\n  xTivegYF: '556b2f',\n  xSange: 'ff8c00',\n  xScEd: '9932cc',\n  xYd: '8b0000',\n  xsOmon: 'e9967a',\n  xsHgYF: '8fbc8f',\n  xUXe: '483d8b',\n  xUWay: '2f4f4f',\n  xUgYy: '2f4f4f',\n  xQe: 'ced1',\n  xviTet: '9400d3',\n  dAppRk: 'ff1493',\n  dApskyXe: 'bfff',\n  dimWay: '696969',\n  dimgYy: '696969',\n  dodgerXe: '1e90ff',\n  fiYbrick: 'b22222',\n  flSOwEte: 'fffaf0',\n  foYstWAn: '228b22',\n  fuKsia: 'ff00ff',\n  gaRsbSo: 'dcdcdc',\n  ghostwEte: 'f8f8ff',\n  gTd: 'ffd700',\n  gTMnPd: 'daa520',\n  Way: '808080',\n  gYF: '8000',\n  gYFLw: 'adff2f',\n  gYy: '808080',\n  honeyMw: 'f0fff0',\n  hotpRk: 'ff69b4',\n  RdianYd: 'cd5c5c',\n  Rdigo: '4b0082',\n  ivSy: 'fffff0',\n  khaki: 'f0e68c',\n  lavFMr: 'e6e6fa',\n  lavFMrXsh: 'fff0f5',\n  lawngYF: '7cfc00',\n  NmoncEffon: 'fffacd',\n  ZXe: 'add8e6',\n  ZcSO: 'f08080',\n  Zcyan: 'e0ffff',\n  ZgTMnPdLw: 'fafad2',\n  ZWay: 'd3d3d3',\n  ZgYF: '90ee90',\n  ZgYy: 'd3d3d3',\n  ZpRk: 'ffb6c1',\n  ZsOmon: 'ffa07a',\n  ZsHgYF: '20b2aa',\n  ZskyXe: '87cefa',\n  ZUWay: '778899',\n  ZUgYy: '778899',\n  ZstAlXe: 'b0c4de',\n  ZLw: 'ffffe0',\n  lime: 'ff00',\n  limegYF: '32cd32',\n  lRF: 'faf0e6',\n  magFta: 'ff00ff',\n  maPon: '800000',\n  VaquamarRe: '66cdaa',\n  VXe: 'cd',\n  VScEd: 'ba55d3',\n  VpurpN: '9370db',\n  VsHgYF: '3cb371',\n  VUXe: '7b68ee',\n  VsprRggYF: 'fa9a',\n  VQe: '48d1cc',\n  VviTetYd: 'c71585',\n  midnightXe: '191970',\n  mRtcYam: 'f5fffa',\n  mistyPse: 'ffe4e1',\n  moccasR: 'ffe4b5',\n  navajowEte: 'ffdead',\n  navy: '80',\n  Tdlace: 'fdf5e6',\n  Tive: '808000',\n  TivedBb: '6b8e23',\n  Sange: 'ffa500',\n  SangeYd: 'ff4500',\n  ScEd: 'da70d6',\n  pOegTMnPd: 'eee8aa',\n  pOegYF: '98fb98',\n  pOeQe: 'afeeee',\n  pOeviTetYd: 'db7093',\n  papayawEp: 'ffefd5',\n  pHKpuff: 'ffdab9',\n  peru: 'cd853f',\n  pRk: 'ffc0cb',\n  plum: 'dda0dd',\n  powMrXe: 'b0e0e6',\n  purpN: '800080',\n  YbeccapurpN: '663399',\n  Yd: 'ff0000',\n  Psybrown: 'bc8f8f',\n  PyOXe: '4169e1',\n  saddNbPwn: '8b4513',\n  sOmon: 'fa8072',\n  sandybPwn: 'f4a460',\n  sHgYF: '2e8b57',\n  sHshell: 'fff5ee',\n  siFna: 'a0522d',\n  silver: 'c0c0c0',\n  skyXe: '87ceeb',\n  UXe: '6a5acd',\n  UWay: '708090',\n  UgYy: '708090',\n  snow: 'fffafa',\n  sprRggYF: 'ff7f',\n  stAlXe: '4682b4',\n  tan: 'd2b48c',\n  teO: '8080',\n  tEstN: 'd8bfd8',\n  tomato: 'ff6347',\n  Qe: '40e0d0',\n  viTet: 'ee82ee',\n  JHt: 'f5deb3',\n  wEte: 'ffffff',\n  wEtesmoke: 'f5f5f5',\n  Lw: 'ffff00',\n  LwgYF: '9acd32'\n};\nfunction unpack() {\n  const unpacked = {};\n  const keys = Object.keys(names$1);\n  const tkeys = Object.keys(map);\n  let i, j, k, ok, nk;\n  for (i = 0; i < keys.length; i++) {\n    ok = nk = keys[i];\n    for (j = 0; j < tkeys.length; j++) {\n      k = tkeys[j];\n      nk = nk.replace(k, map[k]);\n    }\n    k = parseInt(names$1[ok], 16);\n    unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n  }\n  return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n  if (!names) {\n    names = unpack();\n    names.transparent = [0, 0, 0, 0];\n  }\n  const a = names[str.toLowerCase()];\n  return a && {\n    r: a[0],\n    g: a[1],\n    b: a[2],\n    a: a.length === 4 ? a[3] : 255\n  };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n  const m = RGB_RE.exec(str);\n  let a = 255;\n  let r, g, b;\n  if (!m) {\n    return;\n  }\n  if (m[7] !== r) {\n    const v = +m[7];\n    a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n  }\n  r = +m[1];\n  g = +m[3];\n  b = +m[5];\n  r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n  g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n  b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n  return {\n    r: r,\n    g: g,\n    b: b,\n    a: a\n  };\n}\nfunction rgbString(v) {\n  return v && (\n    v.a < 255\n      ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n      : `rgb(${v.r}, ${v.g}, ${v.b})`\n  );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n  const r = from(b2n(rgb1.r));\n  const g = from(b2n(rgb1.g));\n  const b = from(b2n(rgb1.b));\n  return {\n    r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n    g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n    b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n    a: rgb1.a + t * (rgb2.a - rgb1.a)\n  };\n}\nfunction modHSL(v, i, ratio) {\n  if (v) {\n    let tmp = rgb2hsl(v);\n    tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n    tmp = hsl2rgb(tmp);\n    v.r = tmp[0];\n    v.g = tmp[1];\n    v.b = tmp[2];\n  }\n}\nfunction clone(v, proto) {\n  return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n  var v = {r: 0, g: 0, b: 0, a: 255};\n  if (Array.isArray(input)) {\n    if (input.length >= 3) {\n      v = {r: input[0], g: input[1], b: input[2], a: 255};\n      if (input.length > 3) {\n        v.a = n2b(input[3]);\n      }\n    }\n  } else {\n    v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n    v.a = n2b(v.a);\n  }\n  return v;\n}\nfunction functionParse(str) {\n  if (str.charAt(0) === 'r') {\n    return rgbParse(str);\n  }\n  return hueParse(str);\n}\nclass Color {\n  constructor(input) {\n    if (input instanceof Color) {\n      return input;\n    }\n    const type = typeof input;\n    let v;\n    if (type === 'object') {\n      v = fromObject(input);\n    } else if (type === 'string') {\n      v = hexParse(input) || nameParse(input) || functionParse(input);\n    }\n    this._rgb = v;\n    this._valid = !!v;\n  }\n  get valid() {\n    return this._valid;\n  }\n  get rgb() {\n    var v = clone(this._rgb);\n    if (v) {\n      v.a = b2n(v.a);\n    }\n    return v;\n  }\n  set rgb(obj) {\n    this._rgb = fromObject(obj);\n  }\n  rgbString() {\n    return this._valid ? rgbString(this._rgb) : undefined;\n  }\n  hexString() {\n    return this._valid ? hexString(this._rgb) : undefined;\n  }\n  hslString() {\n    return this._valid ? hslString(this._rgb) : undefined;\n  }\n  mix(color, weight) {\n    if (color) {\n      const c1 = this.rgb;\n      const c2 = color.rgb;\n      let w2;\n      const p = weight === w2 ? 0.5 : weight;\n      const w = 2 * p - 1;\n      const a = c1.a - c2.a;\n      const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n      w2 = 1 - w1;\n      c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n      c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n      c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n      c1.a = p * c1.a + (1 - p) * c2.a;\n      this.rgb = c1;\n    }\n    return this;\n  }\n  interpolate(color, t) {\n    if (color) {\n      this._rgb = interpolate(this._rgb, color._rgb, t);\n    }\n    return this;\n  }\n  clone() {\n    return new Color(this.rgb);\n  }\n  alpha(a) {\n    this._rgb.a = n2b(a);\n    return this;\n  }\n  clearer(ratio) {\n    const rgb = this._rgb;\n    rgb.a *= 1 - ratio;\n    return this;\n  }\n  greyscale() {\n    const rgb = this._rgb;\n    const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n    rgb.r = rgb.g = rgb.b = val;\n    return this;\n  }\n  opaquer(ratio) {\n    const rgb = this._rgb;\n    rgb.a *= 1 + ratio;\n    return this;\n  }\n  negate() {\n    const v = this._rgb;\n    v.r = 255 - v.r;\n    v.g = 255 - v.g;\n    v.b = 255 - v.b;\n    return this;\n  }\n  lighten(ratio) {\n    modHSL(this._rgb, 2, ratio);\n    return this;\n  }\n  darken(ratio) {\n    modHSL(this._rgb, 2, -ratio);\n    return this;\n  }\n  saturate(ratio) {\n    modHSL(this._rgb, 1, ratio);\n    return this;\n  }\n  desaturate(ratio) {\n    modHSL(this._rgb, 1, -ratio);\n    return this;\n  }\n  rotate(deg) {\n    rotate(this._rgb, deg);\n    return this;\n  }\n}\nfunction index_esm(input) {\n  return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n  if (value && typeof value === 'object') {\n    const type = value.toString();\n    return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n  }\n  return false;\n}\nfunction color(value) {\n  return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n  return isPatternOrGradient(value)\n    ? value\n    : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n  if (!key) {\n    return node;\n  }\n  const keys = key.split('.');\n  for (let i = 0, n = keys.length; i < n; ++i) {\n    const k = keys[i];\n    node = node[k] || (node[k] = Object.create(null));\n  }\n  return node;\n}\nfunction set(root, scope, values) {\n  if (typeof scope === 'string') {\n    return merge(getScope$1(root, scope), values);\n  }\n  return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n  constructor(_descriptors) {\n    this.animation = undefined;\n    this.backgroundColor = 'rgba(0,0,0,0.1)';\n    this.borderColor = 'rgba(0,0,0,0.1)';\n    this.color = '#666';\n    this.datasets = {};\n    this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n    this.elements = {};\n    this.events = [\n      'mousemove',\n      'mouseout',\n      'click',\n      'touchstart',\n      'touchmove'\n    ];\n    this.font = {\n      family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n      size: 12,\n      style: 'normal',\n      lineHeight: 1.2,\n      weight: null\n    };\n    this.hover = {};\n    this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n    this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n    this.hoverColor = (ctx, options) => getHoverColor(options.color);\n    this.indexAxis = 'x';\n    this.interaction = {\n      mode: 'nearest',\n      intersect: true,\n      includeInvisible: false\n    };\n    this.maintainAspectRatio = true;\n    this.onHover = null;\n    this.onClick = null;\n    this.parsing = true;\n    this.plugins = {};\n    this.responsive = true;\n    this.scale = undefined;\n    this.scales = {};\n    this.showLine = true;\n    this.drawActiveElementsOnTop = true;\n    this.describe(_descriptors);\n  }\n  set(scope, values) {\n    return set(this, scope, values);\n  }\n  get(scope) {\n    return getScope$1(this, scope);\n  }\n  describe(scope, values) {\n    return set(descriptors, scope, values);\n  }\n  override(scope, values) {\n    return set(overrides, scope, values);\n  }\n  route(scope, name, targetScope, targetName) {\n    const scopeObject = getScope$1(this, scope);\n    const targetScopeObject = getScope$1(this, targetScope);\n    const privateName = '_' + name;\n    Object.defineProperties(scopeObject, {\n      [privateName]: {\n        value: scopeObject[name],\n        writable: true\n      },\n      [name]: {\n        enumerable: true,\n        get() {\n          const local = this[privateName];\n          const target = targetScopeObject[targetName];\n          if (isObject(local)) {\n            return Object.assign({}, target, local);\n          }\n          return valueOrDefault(local, target);\n        },\n        set(value) {\n          this[privateName] = value;\n        }\n      }\n    });\n  }\n}\nvar defaults = new Defaults({\n  _scriptable: (name) => !name.startsWith('on'),\n  _indexable: (name) => name !== 'events',\n  hover: {\n    _fallback: 'interaction'\n  },\n  interaction: {\n    _scriptable: false,\n    _indexable: false,\n  }\n});\n\nfunction toFontString(font) {\n  if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n    return null;\n  }\n  return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n  let textWidth = data[string];\n  if (!textWidth) {\n    textWidth = data[string] = ctx.measureText(string).width;\n    gc.push(string);\n  }\n  if (textWidth > longest) {\n    longest = textWidth;\n  }\n  return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n  cache = cache || {};\n  let data = cache.data = cache.data || {};\n  let gc = cache.garbageCollect = cache.garbageCollect || [];\n  if (cache.font !== font) {\n    data = cache.data = {};\n    gc = cache.garbageCollect = [];\n    cache.font = font;\n  }\n  ctx.save();\n  ctx.font = font;\n  let longest = 0;\n  const ilen = arrayOfThings.length;\n  let i, j, jlen, thing, nestedThing;\n  for (i = 0; i < ilen; i++) {\n    thing = arrayOfThings[i];\n    if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n      longest = _measureText(ctx, data, gc, longest, thing);\n    } else if (isArray(thing)) {\n      for (j = 0, jlen = thing.length; j < jlen; j++) {\n        nestedThing = thing[j];\n        if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n          longest = _measureText(ctx, data, gc, longest, nestedThing);\n        }\n      }\n    }\n  }\n  ctx.restore();\n  const gcLen = gc.length / 2;\n  if (gcLen > arrayOfThings.length) {\n    for (i = 0; i < gcLen; i++) {\n      delete data[gc[i]];\n    }\n    gc.splice(0, gcLen);\n  }\n  return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n  const devicePixelRatio = chart.currentDevicePixelRatio;\n  const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n  return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n  ctx = ctx || canvas.getContext('2d');\n  ctx.save();\n  ctx.resetTransform();\n  ctx.clearRect(0, 0, canvas.width, canvas.height);\n  ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n  drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n  let type, xOffset, yOffset, size, cornerRadius, width;\n  const style = options.pointStyle;\n  const rotation = options.rotation;\n  const radius = options.radius;\n  let rad = (rotation || 0) * RAD_PER_DEG;\n  if (style && typeof style === 'object') {\n    type = style.toString();\n    if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n      ctx.save();\n      ctx.translate(x, y);\n      ctx.rotate(rad);\n      ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n      ctx.restore();\n      return;\n    }\n  }\n  if (isNaN(radius) || radius <= 0) {\n    return;\n  }\n  ctx.beginPath();\n  switch (style) {\n  default:\n    if (w) {\n      ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n    } else {\n      ctx.arc(x, y, radius, 0, TAU);\n    }\n    ctx.closePath();\n    break;\n  case 'triangle':\n    ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n    rad += TWO_THIRDS_PI;\n    ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n    rad += TWO_THIRDS_PI;\n    ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n    ctx.closePath();\n    break;\n  case 'rectRounded':\n    cornerRadius = radius * 0.516;\n    size = radius - cornerRadius;\n    xOffset = Math.cos(rad + QUARTER_PI) * size;\n    yOffset = Math.sin(rad + QUARTER_PI) * size;\n    ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n    ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n    ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n    ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n    ctx.closePath();\n    break;\n  case 'rect':\n    if (!rotation) {\n      size = Math.SQRT1_2 * radius;\n      width = w ? w / 2 : size;\n      ctx.rect(x - width, y - size, 2 * width, 2 * size);\n      break;\n    }\n    rad += QUARTER_PI;\n  case 'rectRot':\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    ctx.closePath();\n    break;\n  case 'crossRot':\n    rad += QUARTER_PI;\n  case 'cross':\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.moveTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    break;\n  case 'star':\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.moveTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    rad += QUARTER_PI;\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.moveTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    break;\n  case 'line':\n    xOffset = w ? w / 2 : Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    break;\n  case 'dash':\n    ctx.moveTo(x, y);\n    ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n    break;\n  }\n  ctx.fill();\n  if (options.borderWidth > 0) {\n    ctx.stroke();\n  }\n}\nfunction _isPointInArea(point, area, margin) {\n  margin = margin || 0.5;\n  return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n  ctx.save();\n  ctx.beginPath();\n  ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n  ctx.clip();\n}\nfunction unclipArea(ctx) {\n  ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n  if (!previous) {\n    return ctx.lineTo(target.x, target.y);\n  }\n  if (mode === 'middle') {\n    const midpoint = (previous.x + target.x) / 2.0;\n    ctx.lineTo(midpoint, previous.y);\n    ctx.lineTo(midpoint, target.y);\n  } else if (mode === 'after' !== !!flip) {\n    ctx.lineTo(previous.x, target.y);\n  } else {\n    ctx.lineTo(target.x, previous.y);\n  }\n  ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n  if (!previous) {\n    return ctx.lineTo(target.x, target.y);\n  }\n  ctx.bezierCurveTo(\n    flip ? previous.cp1x : previous.cp2x,\n    flip ? previous.cp1y : previous.cp2y,\n    flip ? target.cp2x : target.cp1x,\n    flip ? target.cp2y : target.cp1y,\n    target.x,\n    target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n  const lines = isArray(text) ? text : [text];\n  const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n  let i, line;\n  ctx.save();\n  ctx.font = font.string;\n  setRenderOpts(ctx, opts);\n  for (i = 0; i < lines.length; ++i) {\n    line = lines[i];\n    if (stroke) {\n      if (opts.strokeColor) {\n        ctx.strokeStyle = opts.strokeColor;\n      }\n      if (!isNullOrUndef(opts.strokeWidth)) {\n        ctx.lineWidth = opts.strokeWidth;\n      }\n      ctx.strokeText(line, x, y, opts.maxWidth);\n    }\n    ctx.fillText(line, x, y, opts.maxWidth);\n    decorateText(ctx, x, y, line, opts);\n    y += font.lineHeight;\n  }\n  ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n  if (opts.translation) {\n    ctx.translate(opts.translation[0], opts.translation[1]);\n  }\n  if (!isNullOrUndef(opts.rotation)) {\n    ctx.rotate(opts.rotation);\n  }\n  if (opts.color) {\n    ctx.fillStyle = opts.color;\n  }\n  if (opts.textAlign) {\n    ctx.textAlign = opts.textAlign;\n  }\n  if (opts.textBaseline) {\n    ctx.textBaseline = opts.textBaseline;\n  }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n  if (opts.strikethrough || opts.underline) {\n    const metrics = ctx.measureText(line);\n    const left = x - metrics.actualBoundingBoxLeft;\n    const right = x + metrics.actualBoundingBoxRight;\n    const top = y - metrics.actualBoundingBoxAscent;\n    const bottom = y + metrics.actualBoundingBoxDescent;\n    const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n    ctx.strokeStyle = ctx.fillStyle;\n    ctx.beginPath();\n    ctx.lineWidth = opts.decorationWidth || 2;\n    ctx.moveTo(left, yDecoration);\n    ctx.lineTo(right, yDecoration);\n    ctx.stroke();\n  }\n}\nfunction addRoundedRectPath(ctx, rect) {\n  const {x, y, w, h, radius} = rect;\n  ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n  ctx.lineTo(x, y + h - radius.bottomLeft);\n  ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n  ctx.lineTo(x + w - radius.bottomRight, y + h);\n  ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n  ctx.lineTo(x + w, y + radius.topRight);\n  ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n  ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n  const matches = ('' + value).match(LINE_HEIGHT);\n  if (!matches || matches[1] === 'normal') {\n    return size * 1.2;\n  }\n  value = +matches[2];\n  switch (matches[3]) {\n  case 'px':\n    return value;\n  case '%':\n    value /= 100;\n    break;\n  }\n  return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n  const ret = {};\n  const objProps = isObject(props);\n  const keys = objProps ? Object.keys(props) : props;\n  const read = isObject(value)\n    ? objProps\n      ? prop => valueOrDefault(value[prop], value[props[prop]])\n      : prop => value[prop]\n    : () => value;\n  for (const prop of keys) {\n    ret[prop] = numberOrZero(read(prop));\n  }\n  return ret;\n}\nfunction toTRBL(value) {\n  return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n  return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n  const obj = toTRBL(value);\n  obj.width = obj.left + obj.right;\n  obj.height = obj.top + obj.bottom;\n  return obj;\n}\nfunction toFont(options, fallback) {\n  options = options || {};\n  fallback = fallback || defaults.font;\n  let size = valueOrDefault(options.size, fallback.size);\n  if (typeof size === 'string') {\n    size = parseInt(size, 10);\n  }\n  let style = valueOrDefault(options.style, fallback.style);\n  if (style && !('' + style).match(FONT_STYLE)) {\n    console.warn('Invalid font style specified: \"' + style + '\"');\n    style = '';\n  }\n  const font = {\n    family: valueOrDefault(options.family, fallback.family),\n    lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n    size,\n    style,\n    weight: valueOrDefault(options.weight, fallback.weight),\n    string: ''\n  };\n  font.string = toFontString(font);\n  return font;\n}\nfunction resolve(inputs, context, index, info) {\n  let cacheable = true;\n  let i, ilen, value;\n  for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n    value = inputs[i];\n    if (value === undefined) {\n      continue;\n    }\n    if (context !== undefined && typeof value === 'function') {\n      value = value(context);\n      cacheable = false;\n    }\n    if (index !== undefined && isArray(value)) {\n      value = value[index % value.length];\n      cacheable = false;\n    }\n    if (value !== undefined) {\n      if (info && !cacheable) {\n        info.cacheable = false;\n      }\n      return value;\n    }\n  }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n  const {min, max} = minmax;\n  const change = toDimension(grace, (max - min) / 2);\n  const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n  return {\n    min: keepZero(min, -Math.abs(change)),\n    max: keepZero(max, change)\n  };\n}\nfunction createContext(parentContext, context) {\n  return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n  if (!defined(fallback)) {\n    fallback = _resolve('_fallback', scopes);\n  }\n  const cache = {\n    [Symbol.toStringTag]: 'Object',\n    _cacheable: true,\n    _scopes: scopes,\n    _rootScopes: rootScopes,\n    _fallback: fallback,\n    _getTarget: getTarget,\n    override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n  };\n  return new Proxy(cache, {\n    deleteProperty(target, prop) {\n      delete target[prop];\n      delete target._keys;\n      delete scopes[0][prop];\n      return true;\n    },\n    get(target, prop) {\n      return _cached(target, prop,\n        () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n    },\n    getOwnPropertyDescriptor(target, prop) {\n      return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n    },\n    getPrototypeOf() {\n      return Reflect.getPrototypeOf(scopes[0]);\n    },\n    has(target, prop) {\n      return getKeysFromAllScopes(target).includes(prop);\n    },\n    ownKeys(target) {\n      return getKeysFromAllScopes(target);\n    },\n    set(target, prop, value) {\n      const storage = target._storage || (target._storage = getTarget());\n      target[prop] = storage[prop] = value;\n      delete target._keys;\n      return true;\n    }\n  });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n  const cache = {\n    _cacheable: false,\n    _proxy: proxy,\n    _context: context,\n    _subProxy: subProxy,\n    _stack: new Set(),\n    _descriptors: _descriptors(proxy, descriptorDefaults),\n    setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n    override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n  };\n  return new Proxy(cache, {\n    deleteProperty(target, prop) {\n      delete target[prop];\n      delete proxy[prop];\n      return true;\n    },\n    get(target, prop, receiver) {\n      return _cached(target, prop,\n        () => _resolveWithContext(target, prop, receiver));\n    },\n    getOwnPropertyDescriptor(target, prop) {\n      return target._descriptors.allKeys\n        ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n        : Reflect.getOwnPropertyDescriptor(proxy, prop);\n    },\n    getPrototypeOf() {\n      return Reflect.getPrototypeOf(proxy);\n    },\n    has(target, prop) {\n      return Reflect.has(proxy, prop);\n    },\n    ownKeys() {\n      return Reflect.ownKeys(proxy);\n    },\n    set(target, prop, value) {\n      proxy[prop] = value;\n      delete target[prop];\n      return true;\n    }\n  });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n  const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n  return {\n    allKeys: _allKeys,\n    scriptable: _scriptable,\n    indexable: _indexable,\n    isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n    isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n  };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n  (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n  if (Object.prototype.hasOwnProperty.call(target, prop)) {\n    return target[prop];\n  }\n  const value = resolve();\n  target[prop] = value;\n  return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n  const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n  let value = _proxy[prop];\n  if (isFunction(value) && descriptors.isScriptable(prop)) {\n    value = _resolveScriptable(prop, value, target, receiver);\n  }\n  if (isArray(value) && value.length) {\n    value = _resolveArray(prop, value, target, descriptors.isIndexable);\n  }\n  if (needsSubResolver(prop, value)) {\n    value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n  }\n  return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n  const {_proxy, _context, _subProxy, _stack} = target;\n  if (_stack.has(prop)) {\n    throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n  }\n  _stack.add(prop);\n  value = value(_context, _subProxy || receiver);\n  _stack.delete(prop);\n  if (needsSubResolver(prop, value)) {\n    value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n  }\n  return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n  const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n  if (defined(_context.index) && isIndexable(prop)) {\n    value = value[_context.index % value.length];\n  } else if (isObject(value[0])) {\n    const arr = value;\n    const scopes = _proxy._scopes.filter(s => s !== arr);\n    value = [];\n    for (const item of arr) {\n      const resolver = createSubResolver(scopes, _proxy, prop, item);\n      value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n    }\n  }\n  return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n  return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n  : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n  for (const parent of parentScopes) {\n    const scope = getScope(key, parent);\n    if (scope) {\n      set.add(scope);\n      const fallback = resolveFallback(scope._fallback, key, value);\n      if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n        return fallback;\n      }\n    } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n      return null;\n    }\n  }\n  return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n  const rootScopes = resolver._rootScopes;\n  const fallback = resolveFallback(resolver._fallback, prop, value);\n  const allScopes = [...parentScopes, ...rootScopes];\n  const set = new Set();\n  set.add(value);\n  let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n  if (key === null) {\n    return false;\n  }\n  if (defined(fallback) && fallback !== prop) {\n    key = addScopesFromKey(set, allScopes, fallback, key, value);\n    if (key === null) {\n      return false;\n    }\n  }\n  return _createResolver(Array.from(set), [''], rootScopes, fallback,\n    () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n  while (key) {\n    key = addScopes(set, allScopes, key, fallback, item);\n  }\n  return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n  const parent = resolver._getTarget();\n  if (!(prop in parent)) {\n    parent[prop] = {};\n  }\n  const target = parent[prop];\n  if (isArray(target) && isObject(value)) {\n    return value;\n  }\n  return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n  let value;\n  for (const prefix of prefixes) {\n    value = _resolve(readKey(prefix, prop), scopes);\n    if (defined(value)) {\n      return needsSubResolver(prop, value)\n        ? createSubResolver(scopes, proxy, prop, value)\n        : value;\n    }\n  }\n}\nfunction _resolve(key, scopes) {\n  for (const scope of scopes) {\n    if (!scope) {\n      continue;\n    }\n    const value = scope[key];\n    if (defined(value)) {\n      return value;\n    }\n  }\n}\nfunction getKeysFromAllScopes(target) {\n  let keys = target._keys;\n  if (!keys) {\n    keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n  }\n  return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n  const set = new Set();\n  for (const scope of scopes) {\n    for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n      set.add(key);\n    }\n  }\n  return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n  const {iScale} = meta;\n  const {key = 'r'} = this._parsing;\n  const parsed = new Array(count);\n  let i, ilen, index, item;\n  for (i = 0, ilen = count; i < ilen; ++i) {\n    index = i + start;\n    item = data[index];\n    parsed[i] = {\n      r: iScale.parse(resolveObjectKey(item, key), index)\n    };\n  }\n  return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n  const previous = firstPoint.skip ? middlePoint : firstPoint;\n  const current = middlePoint;\n  const next = afterPoint.skip ? middlePoint : afterPoint;\n  const d01 = distanceBetweenPoints(current, previous);\n  const d12 = distanceBetweenPoints(next, current);\n  let s01 = d01 / (d01 + d12);\n  let s12 = d12 / (d01 + d12);\n  s01 = isNaN(s01) ? 0 : s01;\n  s12 = isNaN(s12) ? 0 : s12;\n  const fa = t * s01;\n  const fb = t * s12;\n  return {\n    previous: {\n      x: current.x - fa * (next.x - previous.x),\n      y: current.y - fa * (next.y - previous.y)\n    },\n    next: {\n      x: current.x + fb * (next.x - previous.x),\n      y: current.y + fb * (next.y - previous.y)\n    }\n  };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n  const pointsLen = points.length;\n  let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n  let pointAfter = getPoint(points, 0);\n  for (let i = 0; i < pointsLen - 1; ++i) {\n    pointCurrent = pointAfter;\n    pointAfter = getPoint(points, i + 1);\n    if (!pointCurrent || !pointAfter) {\n      continue;\n    }\n    if (almostEquals(deltaK[i], 0, EPSILON)) {\n      mK[i] = mK[i + 1] = 0;\n      continue;\n    }\n    alphaK = mK[i] / deltaK[i];\n    betaK = mK[i + 1] / deltaK[i];\n    squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n    if (squaredMagnitude <= 9) {\n      continue;\n    }\n    tauK = 3 / Math.sqrt(squaredMagnitude);\n    mK[i] = alphaK * tauK * deltaK[i];\n    mK[i + 1] = betaK * tauK * deltaK[i];\n  }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n  const valueAxis = getValueAxis(indexAxis);\n  const pointsLen = points.length;\n  let delta, pointBefore, pointCurrent;\n  let pointAfter = getPoint(points, 0);\n  for (let i = 0; i < pointsLen; ++i) {\n    pointBefore = pointCurrent;\n    pointCurrent = pointAfter;\n    pointAfter = getPoint(points, i + 1);\n    if (!pointCurrent) {\n      continue;\n    }\n    const iPixel = pointCurrent[indexAxis];\n    const vPixel = pointCurrent[valueAxis];\n    if (pointBefore) {\n      delta = (iPixel - pointBefore[indexAxis]) / 3;\n      pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n      pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n    }\n    if (pointAfter) {\n      delta = (pointAfter[indexAxis] - iPixel) / 3;\n      pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n      pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n    }\n  }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n  const valueAxis = getValueAxis(indexAxis);\n  const pointsLen = points.length;\n  const deltaK = Array(pointsLen).fill(0);\n  const mK = Array(pointsLen);\n  let i, pointBefore, pointCurrent;\n  let pointAfter = getPoint(points, 0);\n  for (i = 0; i < pointsLen; ++i) {\n    pointBefore = pointCurrent;\n    pointCurrent = pointAfter;\n    pointAfter = getPoint(points, i + 1);\n    if (!pointCurrent) {\n      continue;\n    }\n    if (pointAfter) {\n      const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n      deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n    }\n    mK[i] = !pointBefore ? deltaK[i]\n      : !pointAfter ? deltaK[i - 1]\n      : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n      : (deltaK[i - 1] + deltaK[i]) / 2;\n  }\n  monotoneAdjust(points, deltaK, mK);\n  monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n  return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n  let i, ilen, point, inArea, inAreaPrev;\n  let inAreaNext = _isPointInArea(points[0], area);\n  for (i = 0, ilen = points.length; i < ilen; ++i) {\n    inAreaPrev = inArea;\n    inArea = inAreaNext;\n    inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n    if (!inArea) {\n      continue;\n    }\n    point = points[i];\n    if (inAreaPrev) {\n      point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n      point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n    }\n    if (inAreaNext) {\n      point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n      point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n    }\n  }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n  let i, ilen, point, controlPoints;\n  if (options.spanGaps) {\n    points = points.filter((pt) => !pt.skip);\n  }\n  if (options.cubicInterpolationMode === 'monotone') {\n    splineCurveMonotone(points, indexAxis);\n  } else {\n    let prev = loop ? points[points.length - 1] : points[0];\n    for (i = 0, ilen = points.length; i < ilen; ++i) {\n      point = points[i];\n      controlPoints = splineCurve(\n        prev,\n        point,\n        points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n        options.tension\n      );\n      point.cp1x = controlPoints.previous.x;\n      point.cp1y = controlPoints.previous.y;\n      point.cp2x = controlPoints.next.x;\n      point.cp2y = controlPoints.next.y;\n      prev = point;\n    }\n  }\n  if (options.capBezierPoints) {\n    capBezierPoints(points, area);\n  }\n}\n\nfunction _isDomSupported() {\n  return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n  let parent = domNode.parentNode;\n  if (parent && parent.toString() === '[object ShadowRoot]') {\n    parent = parent.host;\n  }\n  return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n  let valueInPixels;\n  if (typeof styleValue === 'string') {\n    valueInPixels = parseInt(styleValue, 10);\n    if (styleValue.indexOf('%') !== -1) {\n      valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n    }\n  } else {\n    valueInPixels = styleValue;\n  }\n  return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n  return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n  const result = {};\n  suffix = suffix ? '-' + suffix : '';\n  for (let i = 0; i < 4; i++) {\n    const pos = positions[i];\n    result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n  }\n  result.width = result.left + result.right;\n  result.height = result.top + result.bottom;\n  return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n  const touches = e.touches;\n  const source = touches && touches.length ? touches[0] : e;\n  const {offsetX, offsetY} = source;\n  let box = false;\n  let x, y;\n  if (useOffsetPos(offsetX, offsetY, e.target)) {\n    x = offsetX;\n    y = offsetY;\n  } else {\n    const rect = canvas.getBoundingClientRect();\n    x = source.clientX - rect.left;\n    y = source.clientY - rect.top;\n    box = true;\n  }\n  return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n  if ('native' in evt) {\n    return evt;\n  }\n  const {canvas, currentDevicePixelRatio} = chart;\n  const style = getComputedStyle(canvas);\n  const borderBox = style.boxSizing === 'border-box';\n  const paddings = getPositionedStyle(style, 'padding');\n  const borders = getPositionedStyle(style, 'border', 'width');\n  const {x, y, box} = getCanvasPosition(evt, canvas);\n  const xOffset = paddings.left + (box && borders.left);\n  const yOffset = paddings.top + (box && borders.top);\n  let {width, height} = chart;\n  if (borderBox) {\n    width -= paddings.width + borders.width;\n    height -= paddings.height + borders.height;\n  }\n  return {\n    x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n    y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n  };\n}\nfunction getContainerSize(canvas, width, height) {\n  let maxWidth, maxHeight;\n  if (width === undefined || height === undefined) {\n    const container = _getParentNode(canvas);\n    if (!container) {\n      width = canvas.clientWidth;\n      height = canvas.clientHeight;\n    } else {\n      const rect = container.getBoundingClientRect();\n      const containerStyle = getComputedStyle(container);\n      const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n      const containerPadding = getPositionedStyle(containerStyle, 'padding');\n      width = rect.width - containerPadding.width - containerBorder.width;\n      height = rect.height - containerPadding.height - containerBorder.height;\n      maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n      maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n    }\n  }\n  return {\n    width,\n    height,\n    maxWidth: maxWidth || INFINITY,\n    maxHeight: maxHeight || INFINITY\n  };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n  const style = getComputedStyle(canvas);\n  const margins = getPositionedStyle(style, 'margin');\n  const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n  const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n  const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n  let {width, height} = containerSize;\n  if (style.boxSizing === 'content-box') {\n    const borders = getPositionedStyle(style, 'border', 'width');\n    const paddings = getPositionedStyle(style, 'padding');\n    width -= paddings.width + borders.width;\n    height -= paddings.height + borders.height;\n  }\n  width = Math.max(0, width - margins.width);\n  height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n  width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n  height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n  if (width && !height) {\n    height = round1(width / 2);\n  }\n  return {\n    width,\n    height\n  };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n  const pixelRatio = forceRatio || 1;\n  const deviceHeight = Math.floor(chart.height * pixelRatio);\n  const deviceWidth = Math.floor(chart.width * pixelRatio);\n  chart.height = deviceHeight / pixelRatio;\n  chart.width = deviceWidth / pixelRatio;\n  const canvas = chart.canvas;\n  if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n    canvas.style.height = `${chart.height}px`;\n    canvas.style.width = `${chart.width}px`;\n  }\n  if (chart.currentDevicePixelRatio !== pixelRatio\n      || canvas.height !== deviceHeight\n      || canvas.width !== deviceWidth) {\n    chart.currentDevicePixelRatio = pixelRatio;\n    canvas.height = deviceHeight;\n    canvas.width = deviceWidth;\n    chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n    return true;\n  }\n  return false;\n}\nconst supportsEventListenerOptions = (function() {\n  let passiveSupported = false;\n  try {\n    const options = {\n      get passive() {\n        passiveSupported = true;\n        return false;\n      }\n    };\n    window.addEventListener('test', null, options);\n    window.removeEventListener('test', null, options);\n  } catch (e) {\n  }\n  return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n  const value = getStyle(element, property);\n  const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n  return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n  return {\n    x: p1.x + t * (p2.x - p1.x),\n    y: p1.y + t * (p2.y - p1.y)\n  };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n  return {\n    x: p1.x + t * (p2.x - p1.x),\n    y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n    : mode === 'after' ? t < 1 ? p1.y : p2.y\n    : t > 0 ? p2.y : p1.y\n  };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n  const cp1 = {x: p1.cp2x, y: p1.cp2y};\n  const cp2 = {x: p2.cp1x, y: p2.cp1y};\n  const a = _pointInLine(p1, cp1, t);\n  const b = _pointInLine(cp1, cp2, t);\n  const c = _pointInLine(cp2, p2, t);\n  const d = _pointInLine(a, b, t);\n  const e = _pointInLine(b, c, t);\n  return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n  options = options || {};\n  const cacheKey = locale + JSON.stringify(options);\n  let formatter = intlCache.get(cacheKey);\n  if (!formatter) {\n    formatter = new Intl.NumberFormat(locale, options);\n    intlCache.set(cacheKey, formatter);\n  }\n  return formatter;\n}\nfunction formatNumber(num, locale, options) {\n  return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n  return {\n    x(x) {\n      return rectX + rectX + width - x;\n    },\n    setWidth(w) {\n      width = w;\n    },\n    textAlign(align) {\n      if (align === 'center') {\n        return align;\n      }\n      return align === 'right' ? 'left' : 'right';\n    },\n    xPlus(x, value) {\n      return x - value;\n    },\n    leftForLtr(x, itemWidth) {\n      return x - itemWidth;\n    },\n  };\n};\nconst getLeftToRightAdapter = function() {\n  return {\n    x(x) {\n      return x;\n    },\n    setWidth(w) {\n    },\n    textAlign(align) {\n      return align;\n    },\n    xPlus(x, value) {\n      return x + value;\n    },\n    leftForLtr(x, _itemWidth) {\n      return x;\n    },\n  };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n  return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n  let style, original;\n  if (direction === 'ltr' || direction === 'rtl') {\n    style = ctx.canvas.style;\n    original = [\n      style.getPropertyValue('direction'),\n      style.getPropertyPriority('direction'),\n    ];\n    style.setProperty('direction', direction, 'important');\n    ctx.prevTextDirection = original;\n  }\n}\nfunction restoreTextDirection(ctx, original) {\n  if (original !== undefined) {\n    delete ctx.prevTextDirection;\n    ctx.canvas.style.setProperty('direction', original[0], original[1]);\n  }\n}\n\nfunction propertyFn(property) {\n  if (property === 'angle') {\n    return {\n      between: _angleBetween,\n      compare: _angleDiff,\n      normalize: _normalizeAngle,\n    };\n  }\n  return {\n    between: _isBetween,\n    compare: (a, b) => a - b,\n    normalize: x => x\n  };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n  return {\n    start: start % count,\n    end: end % count,\n    loop: loop && (end - start + 1) % count === 0,\n    style\n  };\n}\nfunction getSegment(segment, points, bounds) {\n  const {property, start: startBound, end: endBound} = bounds;\n  const {between, normalize} = propertyFn(property);\n  const count = points.length;\n  let {start, end, loop} = segment;\n  let i, ilen;\n  if (loop) {\n    start += count;\n    end += count;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n        break;\n      }\n      start--;\n      end--;\n    }\n    start %= count;\n    end %= count;\n  }\n  if (end < start) {\n    end += count;\n  }\n  return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n  if (!bounds) {\n    return [segment];\n  }\n  const {property, start: startBound, end: endBound} = bounds;\n  const count = points.length;\n  const {compare, between, normalize} = propertyFn(property);\n  const {start, end, loop, style} = getSegment(segment, points, bounds);\n  const result = [];\n  let inside = false;\n  let subStart = null;\n  let value, point, prevValue;\n  const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n  const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n  const shouldStart = () => inside || startIsBefore();\n  const shouldStop = () => !inside || endIsBefore();\n  for (let i = start, prev = start; i <= end; ++i) {\n    point = points[i % count];\n    if (point.skip) {\n      continue;\n    }\n    value = normalize(point[property]);\n    if (value === prevValue) {\n      continue;\n    }\n    inside = between(value, startBound, endBound);\n    if (subStart === null && shouldStart()) {\n      subStart = compare(value, startBound) === 0 ? i : prev;\n    }\n    if (subStart !== null && shouldStop()) {\n      result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n      subStart = null;\n    }\n    prev = i;\n    prevValue = value;\n  }\n  if (subStart !== null) {\n    result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n  }\n  return result;\n}\nfunction _boundSegments(line, bounds) {\n  const result = [];\n  const segments = line.segments;\n  for (let i = 0; i < segments.length; i++) {\n    const sub = _boundSegment(segments[i], line.points, bounds);\n    if (sub.length) {\n      result.push(...sub);\n    }\n  }\n  return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n  let start = 0;\n  let end = count - 1;\n  if (loop && !spanGaps) {\n    while (start < count && !points[start].skip) {\n      start++;\n    }\n  }\n  while (start < count && points[start].skip) {\n    start++;\n  }\n  start %= count;\n  if (loop) {\n    end += start;\n  }\n  while (end > start && points[end % count].skip) {\n    end--;\n  }\n  end %= count;\n  return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n  const count = points.length;\n  const result = [];\n  let last = start;\n  let prev = points[start];\n  let end;\n  for (end = start + 1; end <= max; ++end) {\n    const cur = points[end % count];\n    if (cur.skip || cur.stop) {\n      if (!prev.skip) {\n        loop = false;\n        result.push({start: start % count, end: (end - 1) % count, loop});\n        start = last = cur.stop ? end : null;\n      }\n    } else {\n      last = end;\n      if (prev.skip) {\n        start = end;\n      }\n    }\n    prev = cur;\n  }\n  if (last !== null) {\n    result.push({start: start % count, end: last % count, loop});\n  }\n  return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n  const points = line.points;\n  const spanGaps = line.options.spanGaps;\n  const count = points.length;\n  if (!count) {\n    return [];\n  }\n  const loop = !!line._loop;\n  const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n  if (spanGaps === true) {\n    return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n  }\n  const max = end < start ? end + count : end;\n  const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n  return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n  if (!segmentOptions || !segmentOptions.setContext || !points) {\n    return segments;\n  }\n  return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n  const chartContext = line._chart.getContext();\n  const baseStyle = readStyle(line.options);\n  const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n  const count = points.length;\n  const result = [];\n  let prevStyle = baseStyle;\n  let start = segments[0].start;\n  let i = start;\n  function addStyle(s, e, l, st) {\n    const dir = spanGaps ? -1 : 1;\n    if (s === e) {\n      return;\n    }\n    s += count;\n    while (points[s % count].skip) {\n      s -= dir;\n    }\n    while (points[e % count].skip) {\n      e += dir;\n    }\n    if (s % count !== e % count) {\n      result.push({start: s % count, end: e % count, loop: l, style: st});\n      prevStyle = st;\n      start = e % count;\n    }\n  }\n  for (const segment of segments) {\n    start = spanGaps ? start : segment.start;\n    let prev = points[start % count];\n    let style;\n    for (i = start + 1; i <= segment.end; i++) {\n      const pt = points[i % count];\n      style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n        type: 'segment',\n        p0: prev,\n        p1: pt,\n        p0DataIndex: (i - 1) % count,\n        p1DataIndex: i % count,\n        datasetIndex\n      })));\n      if (styleChanged(style, prevStyle)) {\n        addStyle(start, i - 1, segment.loop, prevStyle);\n      }\n      prev = pt;\n      prevStyle = style;\n    }\n    if (start < i - 1) {\n      addStyle(start, i - 1, segment.loop, prevStyle);\n    }\n  }\n  return result;\n}\nfunction readStyle(options) {\n  return {\n    backgroundColor: options.backgroundColor,\n    borderCapStyle: options.borderCapStyle,\n    borderDash: options.borderDash,\n    borderDashOffset: options.borderDashOffset,\n    borderJoinStyle: options.borderJoinStyle,\n    borderWidth: options.borderWidth,\n    borderColor: options.borderColor\n  };\n}\nfunction styleChanged(style, prevStyle) {\n  return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n  constructor() {\n    this._request = null;\n    this._charts = new Map();\n    this._running = false;\n    this._lastDate = undefined;\n  }\n  _notify(chart, anims, date, type) {\n    const callbacks = anims.listeners[type];\n    const numSteps = anims.duration;\n    callbacks.forEach(fn => fn({\n      chart,\n      initial: anims.initial,\n      numSteps,\n      currentStep: Math.min(date - anims.start, numSteps)\n    }));\n  }\n  _refresh() {\n    if (this._request) {\n      return;\n    }\n    this._running = true;\n    this._request = requestAnimFrame.call(window, () => {\n      this._update();\n      this._request = null;\n      if (this._running) {\n        this._refresh();\n      }\n    });\n  }\n  _update(date = Date.now()) {\n    let remaining = 0;\n    this._charts.forEach((anims, chart) => {\n      if (!anims.running || !anims.items.length) {\n        return;\n      }\n      const items = anims.items;\n      let i = items.length - 1;\n      let draw = false;\n      let item;\n      for (; i >= 0; --i) {\n        item = items[i];\n        if (item._active) {\n          if (item._total > anims.duration) {\n            anims.duration = item._total;\n          }\n          item.tick(date);\n          draw = true;\n        } else {\n          items[i] = items[items.length - 1];\n          items.pop();\n        }\n      }\n      if (draw) {\n        chart.draw();\n        this._notify(chart, anims, date, 'progress');\n      }\n      if (!items.length) {\n        anims.running = false;\n        this._notify(chart, anims, date, 'complete');\n        anims.initial = false;\n      }\n      remaining += items.length;\n    });\n    this._lastDate = date;\n    if (remaining === 0) {\n      this._running = false;\n    }\n  }\n  _getAnims(chart) {\n    const charts = this._charts;\n    let anims = charts.get(chart);\n    if (!anims) {\n      anims = {\n        running: false,\n        initial: true,\n        items: [],\n        listeners: {\n          complete: [],\n          progress: []\n        }\n      };\n      charts.set(chart, anims);\n    }\n    return anims;\n  }\n  listen(chart, event, cb) {\n    this._getAnims(chart).listeners[event].push(cb);\n  }\n  add(chart, items) {\n    if (!items || !items.length) {\n      return;\n    }\n    this._getAnims(chart).items.push(...items);\n  }\n  has(chart) {\n    return this._getAnims(chart).items.length > 0;\n  }\n  start(chart) {\n    const anims = this._charts.get(chart);\n    if (!anims) {\n      return;\n    }\n    anims.running = true;\n    anims.start = Date.now();\n    anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n    this._refresh();\n  }\n  running(chart) {\n    if (!this._running) {\n      return false;\n    }\n    const anims = this._charts.get(chart);\n    if (!anims || !anims.running || !anims.items.length) {\n      return false;\n    }\n    return true;\n  }\n  stop(chart) {\n    const anims = this._charts.get(chart);\n    if (!anims || !anims.items.length) {\n      return;\n    }\n    const items = anims.items;\n    let i = items.length - 1;\n    for (; i >= 0; --i) {\n      items[i].cancel();\n    }\n    anims.items = [];\n    this._notify(chart, anims, Date.now(), 'complete');\n  }\n  remove(chart) {\n    return this._charts.delete(chart);\n  }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n  boolean(from, to, factor) {\n    return factor > 0.5 ? to : from;\n  },\n  color(from, to, factor) {\n    const c0 = color(from || transparent);\n    const c1 = c0.valid && color(to || transparent);\n    return c1 && c1.valid\n      ? c1.mix(c0, factor).hexString()\n      : to;\n  },\n  number(from, to, factor) {\n    return from + (to - from) * factor;\n  }\n};\nclass Animation {\n  constructor(cfg, target, prop, to) {\n    const currentValue = target[prop];\n    to = resolve([cfg.to, to, currentValue, cfg.from]);\n    const from = resolve([cfg.from, currentValue, to]);\n    this._active = true;\n    this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n    this._easing = effects[cfg.easing] || effects.linear;\n    this._start = Math.floor(Date.now() + (cfg.delay || 0));\n    this._duration = this._total = Math.floor(cfg.duration);\n    this._loop = !!cfg.loop;\n    this._target = target;\n    this._prop = prop;\n    this._from = from;\n    this._to = to;\n    this._promises = undefined;\n  }\n  active() {\n    return this._active;\n  }\n  update(cfg, to, date) {\n    if (this._active) {\n      this._notify(false);\n      const currentValue = this._target[this._prop];\n      const elapsed = date - this._start;\n      const remain = this._duration - elapsed;\n      this._start = date;\n      this._duration = Math.floor(Math.max(remain, cfg.duration));\n      this._total += elapsed;\n      this._loop = !!cfg.loop;\n      this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n      this._from = resolve([cfg.from, currentValue, to]);\n    }\n  }\n  cancel() {\n    if (this._active) {\n      this.tick(Date.now());\n      this._active = false;\n      this._notify(false);\n    }\n  }\n  tick(date) {\n    const elapsed = date - this._start;\n    const duration = this._duration;\n    const prop = this._prop;\n    const from = this._from;\n    const loop = this._loop;\n    const to = this._to;\n    let factor;\n    this._active = from !== to && (loop || (elapsed < duration));\n    if (!this._active) {\n      this._target[prop] = to;\n      this._notify(true);\n      return;\n    }\n    if (elapsed < 0) {\n      this._target[prop] = from;\n      return;\n    }\n    factor = (elapsed / duration) % 2;\n    factor = loop && factor > 1 ? 2 - factor : factor;\n    factor = this._easing(Math.min(1, Math.max(0, factor)));\n    this._target[prop] = this._fn(from, to, factor);\n  }\n  wait() {\n    const promises = this._promises || (this._promises = []);\n    return new Promise((res, rej) => {\n      promises.push({res, rej});\n    });\n  }\n  _notify(resolved) {\n    const method = resolved ? 'res' : 'rej';\n    const promises = this._promises || [];\n    for (let i = 0; i < promises.length; i++) {\n      promises[i][method]();\n    }\n  }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n  delay: undefined,\n  duration: 1000,\n  easing: 'easeOutQuart',\n  fn: undefined,\n  from: undefined,\n  loop: undefined,\n  to: undefined,\n  type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n  _fallback: false,\n  _indexable: false,\n  _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n  colors: {\n    type: 'color',\n    properties: colors\n  },\n  numbers: {\n    type: 'number',\n    properties: numbers\n  },\n});\ndefaults.describe('animations', {\n  _fallback: 'animation',\n});\ndefaults.set('transitions', {\n  active: {\n    animation: {\n      duration: 400\n    }\n  },\n  resize: {\n    animation: {\n      duration: 0\n    }\n  },\n  show: {\n    animations: {\n      colors: {\n        from: 'transparent'\n      },\n      visible: {\n        type: 'boolean',\n        duration: 0\n      },\n    }\n  },\n  hide: {\n    animations: {\n      colors: {\n        to: 'transparent'\n      },\n      visible: {\n        type: 'boolean',\n        easing: 'linear',\n        fn: v => v | 0\n      },\n    }\n  }\n});\nclass Animations {\n  constructor(chart, config) {\n    this._chart = chart;\n    this._properties = new Map();\n    this.configure(config);\n  }\n  configure(config) {\n    if (!isObject(config)) {\n      return;\n    }\n    const animatedProps = this._properties;\n    Object.getOwnPropertyNames(config).forEach(key => {\n      const cfg = config[key];\n      if (!isObject(cfg)) {\n        return;\n      }\n      const resolved = {};\n      for (const option of animationOptions) {\n        resolved[option] = cfg[option];\n      }\n      (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n        if (prop === key || !animatedProps.has(prop)) {\n          animatedProps.set(prop, resolved);\n        }\n      });\n    });\n  }\n  _animateOptions(target, values) {\n    const newOptions = values.options;\n    const options = resolveTargetOptions(target, newOptions);\n    if (!options) {\n      return [];\n    }\n    const animations = this._createAnimations(options, newOptions);\n    if (newOptions.$shared) {\n      awaitAll(target.options.$animations, newOptions).then(() => {\n        target.options = newOptions;\n      }, () => {\n      });\n    }\n    return animations;\n  }\n  _createAnimations(target, values) {\n    const animatedProps = this._properties;\n    const animations = [];\n    const running = target.$animations || (target.$animations = {});\n    const props = Object.keys(values);\n    const date = Date.now();\n    let i;\n    for (i = props.length - 1; i >= 0; --i) {\n      const prop = props[i];\n      if (prop.charAt(0) === '$') {\n        continue;\n      }\n      if (prop === 'options') {\n        animations.push(...this._animateOptions(target, values));\n        continue;\n      }\n      const value = values[prop];\n      let animation = running[prop];\n      const cfg = animatedProps.get(prop);\n      if (animation) {\n        if (cfg && animation.active()) {\n          animation.update(cfg, value, date);\n          continue;\n        } else {\n          animation.cancel();\n        }\n      }\n      if (!cfg || !cfg.duration) {\n        target[prop] = value;\n        continue;\n      }\n      running[prop] = animation = new Animation(cfg, target, prop, value);\n      animations.push(animation);\n    }\n    return animations;\n  }\n  update(target, values) {\n    if (this._properties.size === 0) {\n      Object.assign(target, values);\n      return;\n    }\n    const animations = this._createAnimations(target, values);\n    if (animations.length) {\n      animator.add(this._chart, animations);\n      return true;\n    }\n  }\n}\nfunction awaitAll(animations, properties) {\n  const running = [];\n  const keys = Object.keys(properties);\n  for (let i = 0; i < keys.length; i++) {\n    const anim = animations[keys[i]];\n    if (anim && anim.active()) {\n      running.push(anim.wait());\n    }\n  }\n  return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n  if (!newOptions) {\n    return;\n  }\n  let options = target.options;\n  if (!options) {\n    target.options = newOptions;\n    return;\n  }\n  if (options.$shared) {\n    target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n  }\n  return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n  const opts = scale && scale.options || {};\n  const reverse = opts.reverse;\n  const min = opts.min === undefined ? allowedOverflow : 0;\n  const max = opts.max === undefined ? allowedOverflow : 0;\n  return {\n    start: reverse ? max : min,\n    end: reverse ? min : max\n  };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n  if (allowedOverflow === false) {\n    return false;\n  }\n  const x = scaleClip(xScale, allowedOverflow);\n  const y = scaleClip(yScale, allowedOverflow);\n  return {\n    top: y.end,\n    right: x.end,\n    bottom: y.start,\n    left: x.start\n  };\n}\nfunction toClip(value) {\n  let t, r, b, l;\n  if (isObject(value)) {\n    t = value.top;\n    r = value.right;\n    b = value.bottom;\n    l = value.left;\n  } else {\n    t = r = b = l = value;\n  }\n  return {\n    top: t,\n    right: r,\n    bottom: b,\n    left: l,\n    disabled: value === false\n  };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n  const keys = [];\n  const metasets = chart._getSortedDatasetMetas(filterVisible);\n  let i, ilen;\n  for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n    keys.push(metasets[i].index);\n  }\n  return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n  const keys = stack.keys;\n  const singleMode = options.mode === 'single';\n  let i, ilen, datasetIndex, otherValue;\n  if (value === null) {\n    return;\n  }\n  for (i = 0, ilen = keys.length; i < ilen; ++i) {\n    datasetIndex = +keys[i];\n    if (datasetIndex === dsIndex) {\n      if (options.all) {\n        continue;\n      }\n      break;\n    }\n    otherValue = stack.values[datasetIndex];\n    if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n      value += otherValue;\n    }\n  }\n  return value;\n}\nfunction convertObjectDataToArray(data) {\n  const keys = Object.keys(data);\n  const adata = new Array(keys.length);\n  let i, ilen, key;\n  for (i = 0, ilen = keys.length; i < ilen; ++i) {\n    key = keys[i];\n    adata[i] = {\n      x: key,\n      y: data[key]\n    };\n  }\n  return adata;\n}\nfunction isStacked(scale, meta) {\n  const stacked = scale && scale.options.stacked;\n  return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n  return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n  const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n  return {\n    min: minDefined ? min : Number.NEGATIVE_INFINITY,\n    max: maxDefined ? max : Number.POSITIVE_INFINITY\n  };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n  const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n  return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n  for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n    const value = stack[meta.index];\n    if ((positive && value > 0) || (!positive && value < 0)) {\n      return meta.index;\n    }\n  }\n  return null;\n}\nfunction updateStacks(controller, parsed) {\n  const {chart, _cachedMeta: meta} = controller;\n  const stacks = chart._stacks || (chart._stacks = {});\n  const {iScale, vScale, index: datasetIndex} = meta;\n  const iAxis = iScale.axis;\n  const vAxis = vScale.axis;\n  const key = getStackKey(iScale, vScale, meta);\n  const ilen = parsed.length;\n  let stack;\n  for (let i = 0; i < ilen; ++i) {\n    const item = parsed[i];\n    const {[iAxis]: index, [vAxis]: value} = item;\n    const itemStacks = item._stacks || (item._stacks = {});\n    stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n    stack[datasetIndex] = value;\n    stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n    stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n  }\n}\nfunction getFirstScaleId(chart, axis) {\n  const scales = chart.scales;\n  return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n  return createContext(parent,\n    {\n      active: false,\n      dataset: undefined,\n      datasetIndex: index,\n      index,\n      mode: 'default',\n      type: 'dataset'\n    }\n  );\n}\nfunction createDataContext(parent, index, element) {\n  return createContext(parent, {\n    active: false,\n    dataIndex: index,\n    parsed: undefined,\n    raw: undefined,\n    element,\n    index,\n    mode: 'default',\n    type: 'data'\n  });\n}\nfunction clearStacks(meta, items) {\n  const datasetIndex = meta.controller.index;\n  const axis = meta.vScale && meta.vScale.axis;\n  if (!axis) {\n    return;\n  }\n  items = items || meta._parsed;\n  for (const parsed of items) {\n    const stacks = parsed._stacks;\n    if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n      return;\n    }\n    delete stacks[axis][datasetIndex];\n  }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n  && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n  constructor(chart, datasetIndex) {\n    this.chart = chart;\n    this._ctx = chart.ctx;\n    this.index = datasetIndex;\n    this._cachedDataOpts = {};\n    this._cachedMeta = this.getMeta();\n    this._type = this._cachedMeta.type;\n    this.options = undefined;\n    this._parsing = false;\n    this._data = undefined;\n    this._objectData = undefined;\n    this._sharedOptions = undefined;\n    this._drawStart = undefined;\n    this._drawCount = undefined;\n    this.enableOptionSharing = false;\n    this.supportsDecimation = false;\n    this.$context = undefined;\n    this._syncList = [];\n    this.initialize();\n  }\n  initialize() {\n    const meta = this._cachedMeta;\n    this.configure();\n    this.linkScales();\n    meta._stacked = isStacked(meta.vScale, meta);\n    this.addElements();\n  }\n  updateIndex(datasetIndex) {\n    if (this.index !== datasetIndex) {\n      clearStacks(this._cachedMeta);\n    }\n    this.index = datasetIndex;\n  }\n  linkScales() {\n    const chart = this.chart;\n    const meta = this._cachedMeta;\n    const dataset = this.getDataset();\n    const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n    const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n    const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n    const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n    const indexAxis = meta.indexAxis;\n    const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n    const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n    meta.xScale = this.getScaleForId(xid);\n    meta.yScale = this.getScaleForId(yid);\n    meta.rScale = this.getScaleForId(rid);\n    meta.iScale = this.getScaleForId(iid);\n    meta.vScale = this.getScaleForId(vid);\n  }\n  getDataset() {\n    return this.chart.data.datasets[this.index];\n  }\n  getMeta() {\n    return this.chart.getDatasetMeta(this.index);\n  }\n  getScaleForId(scaleID) {\n    return this.chart.scales[scaleID];\n  }\n  _getOtherScale(scale) {\n    const meta = this._cachedMeta;\n    return scale === meta.iScale\n      ? meta.vScale\n      : meta.iScale;\n  }\n  reset() {\n    this._update('reset');\n  }\n  _destroy() {\n    const meta = this._cachedMeta;\n    if (this._data) {\n      unlistenArrayEvents(this._data, this);\n    }\n    if (meta._stacked) {\n      clearStacks(meta);\n    }\n  }\n  _dataCheck() {\n    const dataset = this.getDataset();\n    const data = dataset.data || (dataset.data = []);\n    const _data = this._data;\n    if (isObject(data)) {\n      this._data = convertObjectDataToArray(data);\n    } else if (_data !== data) {\n      if (_data) {\n        unlistenArrayEvents(_data, this);\n        const meta = this._cachedMeta;\n        clearStacks(meta);\n        meta._parsed = [];\n      }\n      if (data && Object.isExtensible(data)) {\n        listenArrayEvents(data, this);\n      }\n      this._syncList = [];\n      this._data = data;\n    }\n  }\n  addElements() {\n    const meta = this._cachedMeta;\n    this._dataCheck();\n    if (this.datasetElementType) {\n      meta.dataset = new this.datasetElementType();\n    }\n  }\n  buildOrUpdateElements(resetNewElements) {\n    const meta = this._cachedMeta;\n    const dataset = this.getDataset();\n    let stackChanged = false;\n    this._dataCheck();\n    const oldStacked = meta._stacked;\n    meta._stacked = isStacked(meta.vScale, meta);\n    if (meta.stack !== dataset.stack) {\n      stackChanged = true;\n      clearStacks(meta);\n      meta.stack = dataset.stack;\n    }\n    this._resyncElements(resetNewElements);\n    if (stackChanged || oldStacked !== meta._stacked) {\n      updateStacks(this, meta._parsed);\n    }\n  }\n  configure() {\n    const config = this.chart.config;\n    const scopeKeys = config.datasetScopeKeys(this._type);\n    const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n    this.options = config.createResolver(scopes, this.getContext());\n    this._parsing = this.options.parsing;\n    this._cachedDataOpts = {};\n  }\n  parse(start, count) {\n    const {_cachedMeta: meta, _data: data} = this;\n    const {iScale, _stacked} = meta;\n    const iAxis = iScale.axis;\n    let sorted = start === 0 && count === data.length ? true : meta._sorted;\n    let prev = start > 0 && meta._parsed[start - 1];\n    let i, cur, parsed;\n    if (this._parsing === false) {\n      meta._parsed = data;\n      meta._sorted = true;\n      parsed = data;\n    } else {\n      if (isArray(data[start])) {\n        parsed = this.parseArrayData(meta, data, start, count);\n      } else if (isObject(data[start])) {\n        parsed = this.parseObjectData(meta, data, start, count);\n      } else {\n        parsed = this.parsePrimitiveData(meta, data, start, count);\n      }\n      const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n      for (i = 0; i < count; ++i) {\n        meta._parsed[i + start] = cur = parsed[i];\n        if (sorted) {\n          if (isNotInOrderComparedToPrev()) {\n            sorted = false;\n          }\n          prev = cur;\n        }\n      }\n      meta._sorted = sorted;\n    }\n    if (_stacked) {\n      updateStacks(this, parsed);\n    }\n  }\n  parsePrimitiveData(meta, data, start, count) {\n    const {iScale, vScale} = meta;\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const labels = iScale.getLabels();\n    const singleScale = iScale === vScale;\n    const parsed = new Array(count);\n    let i, ilen, index;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      index = i + start;\n      parsed[i] = {\n        [iAxis]: singleScale || iScale.parse(labels[index], index),\n        [vAxis]: vScale.parse(data[index], index)\n      };\n    }\n    return parsed;\n  }\n  parseArrayData(meta, data, start, count) {\n    const {xScale, yScale} = meta;\n    const parsed = new Array(count);\n    let i, ilen, index, item;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      index = i + start;\n      item = data[index];\n      parsed[i] = {\n        x: xScale.parse(item[0], index),\n        y: yScale.parse(item[1], index)\n      };\n    }\n    return parsed;\n  }\n  parseObjectData(meta, data, start, count) {\n    const {xScale, yScale} = meta;\n    const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n    const parsed = new Array(count);\n    let i, ilen, index, item;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      index = i + start;\n      item = data[index];\n      parsed[i] = {\n        x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n        y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n      };\n    }\n    return parsed;\n  }\n  getParsed(index) {\n    return this._cachedMeta._parsed[index];\n  }\n  getDataElement(index) {\n    return this._cachedMeta.data[index];\n  }\n  applyStack(scale, parsed, mode) {\n    const chart = this.chart;\n    const meta = this._cachedMeta;\n    const value = parsed[scale.axis];\n    const stack = {\n      keys: getSortedDatasetIndices(chart, true),\n      values: parsed._stacks[scale.axis]\n    };\n    return applyStack(stack, value, meta.index, {mode});\n  }\n  updateRangeFromParsed(range, scale, parsed, stack) {\n    const parsedValue = parsed[scale.axis];\n    let value = parsedValue === null ? NaN : parsedValue;\n    const values = stack && parsed._stacks[scale.axis];\n    if (stack && values) {\n      stack.values = values;\n      value = applyStack(stack, parsedValue, this._cachedMeta.index);\n    }\n    range.min = Math.min(range.min, value);\n    range.max = Math.max(range.max, value);\n  }\n  getMinMax(scale, canStack) {\n    const meta = this._cachedMeta;\n    const _parsed = meta._parsed;\n    const sorted = meta._sorted && scale === meta.iScale;\n    const ilen = _parsed.length;\n    const otherScale = this._getOtherScale(scale);\n    const stack = createStack(canStack, meta, this.chart);\n    const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n    const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n    let i, parsed;\n    function _skip() {\n      parsed = _parsed[i];\n      const otherValue = parsed[otherScale.axis];\n      return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n    }\n    for (i = 0; i < ilen; ++i) {\n      if (_skip()) {\n        continue;\n      }\n      this.updateRangeFromParsed(range, scale, parsed, stack);\n      if (sorted) {\n        break;\n      }\n    }\n    if (sorted) {\n      for (i = ilen - 1; i >= 0; --i) {\n        if (_skip()) {\n          continue;\n        }\n        this.updateRangeFromParsed(range, scale, parsed, stack);\n        break;\n      }\n    }\n    return range;\n  }\n  getAllParsedValues(scale) {\n    const parsed = this._cachedMeta._parsed;\n    const values = [];\n    let i, ilen, value;\n    for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n      value = parsed[i][scale.axis];\n      if (isNumberFinite(value)) {\n        values.push(value);\n      }\n    }\n    return values;\n  }\n  getMaxOverflow() {\n    return false;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const iScale = meta.iScale;\n    const vScale = meta.vScale;\n    const parsed = this.getParsed(index);\n    return {\n      label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n      value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n    };\n  }\n  _update(mode) {\n    const meta = this._cachedMeta;\n    this.update(mode || 'default');\n    meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n  }\n  update(mode) {}\n  draw() {\n    const ctx = this._ctx;\n    const chart = this.chart;\n    const meta = this._cachedMeta;\n    const elements = meta.data || [];\n    const area = chart.chartArea;\n    const active = [];\n    const start = this._drawStart || 0;\n    const count = this._drawCount || (elements.length - start);\n    const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n    let i;\n    if (meta.dataset) {\n      meta.dataset.draw(ctx, area, start, count);\n    }\n    for (i = start; i < start + count; ++i) {\n      const element = elements[i];\n      if (element.hidden) {\n        continue;\n      }\n      if (element.active && drawActiveElementsOnTop) {\n        active.push(element);\n      } else {\n        element.draw(ctx, area);\n      }\n    }\n    for (i = 0; i < active.length; ++i) {\n      active[i].draw(ctx, area);\n    }\n  }\n  getStyle(index, active) {\n    const mode = active ? 'active' : 'default';\n    return index === undefined && this._cachedMeta.dataset\n      ? this.resolveDatasetElementOptions(mode)\n      : this.resolveDataElementOptions(index || 0, mode);\n  }\n  getContext(index, active, mode) {\n    const dataset = this.getDataset();\n    let context;\n    if (index >= 0 && index < this._cachedMeta.data.length) {\n      const element = this._cachedMeta.data[index];\n      context = element.$context ||\n        (element.$context = createDataContext(this.getContext(), index, element));\n      context.parsed = this.getParsed(index);\n      context.raw = dataset.data[index];\n      context.index = context.dataIndex = index;\n    } else {\n      context = this.$context ||\n        (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n      context.dataset = dataset;\n      context.index = context.datasetIndex = this.index;\n    }\n    context.active = !!active;\n    context.mode = mode;\n    return context;\n  }\n  resolveDatasetElementOptions(mode) {\n    return this._resolveElementOptions(this.datasetElementType.id, mode);\n  }\n  resolveDataElementOptions(index, mode) {\n    return this._resolveElementOptions(this.dataElementType.id, mode, index);\n  }\n  _resolveElementOptions(elementType, mode = 'default', index) {\n    const active = mode === 'active';\n    const cache = this._cachedDataOpts;\n    const cacheKey = elementType + '-' + mode;\n    const cached = cache[cacheKey];\n    const sharing = this.enableOptionSharing && defined(index);\n    if (cached) {\n      return cloneIfNotShared(cached, sharing);\n    }\n    const config = this.chart.config;\n    const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n    const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n    const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n    const names = Object.keys(defaults.elements[elementType]);\n    const context = () => this.getContext(index, active);\n    const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n    if (values.$shared) {\n      values.$shared = sharing;\n      cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n    }\n    return values;\n  }\n  _resolveAnimations(index, transition, active) {\n    const chart = this.chart;\n    const cache = this._cachedDataOpts;\n    const cacheKey = `animation-${transition}`;\n    const cached = cache[cacheKey];\n    if (cached) {\n      return cached;\n    }\n    let options;\n    if (chart.options.animation !== false) {\n      const config = this.chart.config;\n      const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n      const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n      options = config.createResolver(scopes, this.getContext(index, active, transition));\n    }\n    const animations = new Animations(chart, options && options.animations);\n    if (options && options._cacheable) {\n      cache[cacheKey] = Object.freeze(animations);\n    }\n    return animations;\n  }\n  getSharedOptions(options) {\n    if (!options.$shared) {\n      return;\n    }\n    return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n  }\n  includeOptions(mode, sharedOptions) {\n    return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n  }\n  _getSharedOptions(start, mode) {\n    const firstOpts = this.resolveDataElementOptions(start, mode);\n    const previouslySharedOptions = this._sharedOptions;\n    const sharedOptions = this.getSharedOptions(firstOpts);\n    const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n    this.updateSharedOptions(sharedOptions, mode, firstOpts);\n    return {sharedOptions, includeOptions};\n  }\n  updateElement(element, index, properties, mode) {\n    if (isDirectUpdateMode(mode)) {\n      Object.assign(element, properties);\n    } else {\n      this._resolveAnimations(index, mode).update(element, properties);\n    }\n  }\n  updateSharedOptions(sharedOptions, mode, newOptions) {\n    if (sharedOptions && !isDirectUpdateMode(mode)) {\n      this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n    }\n  }\n  _setStyle(element, index, mode, active) {\n    element.active = active;\n    const options = this.getStyle(index, active);\n    this._resolveAnimations(index, mode, active).update(element, {\n      options: (!active && this.getSharedOptions(options)) || options\n    });\n  }\n  removeHoverStyle(element, datasetIndex, index) {\n    this._setStyle(element, index, 'active', false);\n  }\n  setHoverStyle(element, datasetIndex, index) {\n    this._setStyle(element, index, 'active', true);\n  }\n  _removeDatasetHoverStyle() {\n    const element = this._cachedMeta.dataset;\n    if (element) {\n      this._setStyle(element, undefined, 'active', false);\n    }\n  }\n  _setDatasetHoverStyle() {\n    const element = this._cachedMeta.dataset;\n    if (element) {\n      this._setStyle(element, undefined, 'active', true);\n    }\n  }\n  _resyncElements(resetNewElements) {\n    const data = this._data;\n    const elements = this._cachedMeta.data;\n    for (const [method, arg1, arg2] of this._syncList) {\n      this[method](arg1, arg2);\n    }\n    this._syncList = [];\n    const numMeta = elements.length;\n    const numData = data.length;\n    const count = Math.min(numData, numMeta);\n    if (count) {\n      this.parse(0, count);\n    }\n    if (numData > numMeta) {\n      this._insertElements(numMeta, numData - numMeta, resetNewElements);\n    } else if (numData < numMeta) {\n      this._removeElements(numData, numMeta - numData);\n    }\n  }\n  _insertElements(start, count, resetNewElements = true) {\n    const meta = this._cachedMeta;\n    const data = meta.data;\n    const end = start + count;\n    let i;\n    const move = (arr) => {\n      arr.length += count;\n      for (i = arr.length - 1; i >= end; i--) {\n        arr[i] = arr[i - count];\n      }\n    };\n    move(data);\n    for (i = start; i < end; ++i) {\n      data[i] = new this.dataElementType();\n    }\n    if (this._parsing) {\n      move(meta._parsed);\n    }\n    this.parse(start, count);\n    if (resetNewElements) {\n      this.updateElements(data, start, count, 'reset');\n    }\n  }\n  updateElements(element, start, count, mode) {}\n  _removeElements(start, count) {\n    const meta = this._cachedMeta;\n    if (this._parsing) {\n      const removed = meta._parsed.splice(start, count);\n      if (meta._stacked) {\n        clearStacks(meta, removed);\n      }\n    }\n    meta.data.splice(start, count);\n  }\n  _sync(args) {\n    if (this._parsing) {\n      this._syncList.push(args);\n    } else {\n      const [method, arg1, arg2] = args;\n      this[method](arg1, arg2);\n    }\n    this.chart._dataChanges.push([this.index, ...args]);\n  }\n  _onDataPush() {\n    const count = arguments.length;\n    this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n  }\n  _onDataPop() {\n    this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n  }\n  _onDataShift() {\n    this._sync(['_removeElements', 0, 1]);\n  }\n  _onDataSplice(start, count) {\n    if (count) {\n      this._sync(['_removeElements', start, count]);\n    }\n    const newCount = arguments.length - 2;\n    if (newCount) {\n      this._sync(['_insertElements', start, newCount]);\n    }\n  }\n  _onDataUnshift() {\n    this._sync(['_insertElements', 0, arguments.length]);\n  }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n  if (!scale._cache.$bar) {\n    const visibleMetas = scale.getMatchingVisibleMetas(type);\n    let values = [];\n    for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n      values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n    }\n    scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n  }\n  return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n  const scale = meta.iScale;\n  const values = getAllScaleValues(scale, meta.type);\n  let min = scale._length;\n  let i, ilen, curr, prev;\n  const updateMinAndPrev = () => {\n    if (curr === 32767 || curr === -32768) {\n      return;\n    }\n    if (defined(prev)) {\n      min = Math.min(min, Math.abs(curr - prev) || min);\n    }\n    prev = curr;\n  };\n  for (i = 0, ilen = values.length; i < ilen; ++i) {\n    curr = scale.getPixelForValue(values[i]);\n    updateMinAndPrev();\n  }\n  prev = undefined;\n  for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n    curr = scale.getPixelForTick(i);\n    updateMinAndPrev();\n  }\n  return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n  const thickness = options.barThickness;\n  let size, ratio;\n  if (isNullOrUndef(thickness)) {\n    size = ruler.min * options.categoryPercentage;\n    ratio = options.barPercentage;\n  } else {\n    size = thickness * stackCount;\n    ratio = 1;\n  }\n  return {\n    chunk: size / stackCount,\n    ratio,\n    start: ruler.pixels[index] - (size / 2)\n  };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n  const pixels = ruler.pixels;\n  const curr = pixels[index];\n  let prev = index > 0 ? pixels[index - 1] : null;\n  let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n  const percent = options.categoryPercentage;\n  if (prev === null) {\n    prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n  }\n  if (next === null) {\n    next = curr + curr - prev;\n  }\n  const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n  const size = Math.abs(next - prev) / 2 * percent;\n  return {\n    chunk: size / stackCount,\n    ratio: options.barPercentage,\n    start\n  };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n  const startValue = vScale.parse(entry[0], i);\n  const endValue = vScale.parse(entry[1], i);\n  const min = Math.min(startValue, endValue);\n  const max = Math.max(startValue, endValue);\n  let barStart = min;\n  let barEnd = max;\n  if (Math.abs(min) > Math.abs(max)) {\n    barStart = max;\n    barEnd = min;\n  }\n  item[vScale.axis] = barEnd;\n  item._custom = {\n    barStart,\n    barEnd,\n    start: startValue,\n    end: endValue,\n    min,\n    max\n  };\n}\nfunction parseValue(entry, item, vScale, i) {\n  if (isArray(entry)) {\n    parseFloatBar(entry, item, vScale, i);\n  } else {\n    item[vScale.axis] = vScale.parse(entry, i);\n  }\n  return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n  const iScale = meta.iScale;\n  const vScale = meta.vScale;\n  const labels = iScale.getLabels();\n  const singleScale = iScale === vScale;\n  const parsed = [];\n  let i, ilen, item, entry;\n  for (i = start, ilen = start + count; i < ilen; ++i) {\n    entry = data[i];\n    item = {};\n    item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n    parsed.push(parseValue(entry, item, vScale, i));\n  }\n  return parsed;\n}\nfunction isFloatBar(custom) {\n  return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n  if (size !== 0) {\n    return sign(size);\n  }\n  return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n  let reverse, start, end, top, bottom;\n  if (properties.horizontal) {\n    reverse = properties.base > properties.x;\n    start = 'left';\n    end = 'right';\n  } else {\n    reverse = properties.base < properties.y;\n    start = 'bottom';\n    end = 'top';\n  }\n  if (reverse) {\n    top = 'end';\n    bottom = 'start';\n  } else {\n    top = 'start';\n    bottom = 'end';\n  }\n  return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n  let edge = options.borderSkipped;\n  const res = {};\n  if (!edge) {\n    properties.borderSkipped = res;\n    return;\n  }\n  if (edge === true) {\n    properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n    return;\n  }\n  const {start, end, reverse, top, bottom} = borderProps(properties);\n  if (edge === 'middle' && stack) {\n    properties.enableBorderRadius = true;\n    if ((stack._top || 0) === index) {\n      edge = top;\n    } else if ((stack._bottom || 0) === index) {\n      edge = bottom;\n    } else {\n      res[parseEdge(bottom, start, end, reverse)] = true;\n      edge = top;\n    }\n  }\n  res[parseEdge(edge, start, end, reverse)] = true;\n  properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n  if (reverse) {\n    edge = swap(edge, a, b);\n    edge = startEnd(edge, b, a);\n  } else {\n    edge = startEnd(edge, a, b);\n  }\n  return edge;\n}\nfunction swap(orig, v1, v2) {\n  return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n  return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n  properties.inflateAmount = inflateAmount === 'auto'\n    ? ratio === 1 ? 0.33 : 0\n    : inflateAmount;\n}\nclass BarController extends DatasetController {\n  parsePrimitiveData(meta, data, start, count) {\n    return parseArrayOrPrimitive(meta, data, start, count);\n  }\n  parseArrayData(meta, data, start, count) {\n    return parseArrayOrPrimitive(meta, data, start, count);\n  }\n  parseObjectData(meta, data, start, count) {\n    const {iScale, vScale} = meta;\n    const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n    const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n    const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n    const parsed = [];\n    let i, ilen, item, obj;\n    for (i = start, ilen = start + count; i < ilen; ++i) {\n      obj = data[i];\n      item = {};\n      item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n      parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n    }\n    return parsed;\n  }\n  updateRangeFromParsed(range, scale, parsed, stack) {\n    super.updateRangeFromParsed(range, scale, parsed, stack);\n    const custom = parsed._custom;\n    if (custom && scale === this._cachedMeta.vScale) {\n      range.min = Math.min(range.min, custom.min);\n      range.max = Math.max(range.max, custom.max);\n    }\n  }\n  getMaxOverflow() {\n    return 0;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const {iScale, vScale} = meta;\n    const parsed = this.getParsed(index);\n    const custom = parsed._custom;\n    const value = isFloatBar(custom)\n      ? '[' + custom.start + ', ' + custom.end + ']'\n      : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n    return {\n      label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n      value\n    };\n  }\n  initialize() {\n    this.enableOptionSharing = true;\n    super.initialize();\n    const meta = this._cachedMeta;\n    meta.stack = this.getDataset().stack;\n  }\n  update(mode) {\n    const meta = this._cachedMeta;\n    this.updateElements(meta.data, 0, meta.data.length, mode);\n  }\n  updateElements(bars, start, count, mode) {\n    const reset = mode === 'reset';\n    const {index, _cachedMeta: {vScale}} = this;\n    const base = vScale.getBasePixel();\n    const horizontal = vScale.isHorizontal();\n    const ruler = this._getRuler();\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    for (let i = start; i < start + count; i++) {\n      const parsed = this.getParsed(i);\n      const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n      const ipixels = this._calculateBarIndexPixels(i, ruler);\n      const stack = (parsed._stacks || {})[vScale.axis];\n      const properties = {\n        horizontal,\n        base: vpixels.base,\n        enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n        x: horizontal ? vpixels.head : ipixels.center,\n        y: horizontal ? ipixels.center : vpixels.head,\n        height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n        width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n      };\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n      }\n      const options = properties.options || bars[i].options;\n      setBorderSkipped(properties, options, stack, index);\n      setInflateAmount(properties, options, ruler.ratio);\n      this.updateElement(bars[i], i, properties, mode);\n    }\n  }\n  _getStacks(last, dataIndex) {\n    const {iScale} = this._cachedMeta;\n    const metasets = iScale.getMatchingVisibleMetas(this._type)\n      .filter(meta => meta.controller.options.grouped);\n    const stacked = iScale.options.stacked;\n    const stacks = [];\n    const skipNull = (meta) => {\n      const parsed = meta.controller.getParsed(dataIndex);\n      const val = parsed && parsed[meta.vScale.axis];\n      if (isNullOrUndef(val) || isNaN(val)) {\n        return true;\n      }\n    };\n    for (const meta of metasets) {\n      if (dataIndex !== undefined && skipNull(meta)) {\n        continue;\n      }\n      if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n        stacks.push(meta.stack);\n      }\n      if (meta.index === last) {\n        break;\n      }\n    }\n    if (!stacks.length) {\n      stacks.push(undefined);\n    }\n    return stacks;\n  }\n  _getStackCount(index) {\n    return this._getStacks(undefined, index).length;\n  }\n  _getStackIndex(datasetIndex, name, dataIndex) {\n    const stacks = this._getStacks(datasetIndex, dataIndex);\n    const index = (name !== undefined)\n      ? stacks.indexOf(name)\n      : -1;\n    return (index === -1)\n      ? stacks.length - 1\n      : index;\n  }\n  _getRuler() {\n    const opts = this.options;\n    const meta = this._cachedMeta;\n    const iScale = meta.iScale;\n    const pixels = [];\n    let i, ilen;\n    for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n      pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n    }\n    const barThickness = opts.barThickness;\n    const min = barThickness || computeMinSampleSize(meta);\n    return {\n      min,\n      pixels,\n      start: iScale._startPixel,\n      end: iScale._endPixel,\n      stackCount: this._getStackCount(),\n      scale: iScale,\n      grouped: opts.grouped,\n      ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n    };\n  }\n  _calculateBarValuePixels(index) {\n    const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n    const actualBase = baseValue || 0;\n    const parsed = this.getParsed(index);\n    const custom = parsed._custom;\n    const floating = isFloatBar(custom);\n    let value = parsed[vScale.axis];\n    let start = 0;\n    let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n    let head, size;\n    if (length !== value) {\n      start = length - value;\n      length = value;\n    }\n    if (floating) {\n      value = custom.barStart;\n      length = custom.barEnd - custom.barStart;\n      if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n        start = 0;\n      }\n      start += value;\n    }\n    const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n    let base = vScale.getPixelForValue(startValue);\n    if (this.chart.getDataVisibility(index)) {\n      head = vScale.getPixelForValue(start + length);\n    } else {\n      head = base;\n    }\n    size = head - base;\n    if (Math.abs(size) < minBarLength) {\n      size = barSign(size, vScale, actualBase) * minBarLength;\n      if (value === actualBase) {\n        base -= size / 2;\n      }\n      const startPixel = vScale.getPixelForDecimal(0);\n      const endPixel = vScale.getPixelForDecimal(1);\n      const min = Math.min(startPixel, endPixel);\n      const max = Math.max(startPixel, endPixel);\n      base = Math.max(Math.min(base, max), min);\n      head = base + size;\n    }\n    if (base === vScale.getPixelForValue(actualBase)) {\n      const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n      base += halfGrid;\n      size -= halfGrid;\n    }\n    return {\n      size,\n      base,\n      head,\n      center: head + size / 2\n    };\n  }\n  _calculateBarIndexPixels(index, ruler) {\n    const scale = ruler.scale;\n    const options = this.options;\n    const skipNull = options.skipNull;\n    const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n    let center, size;\n    if (ruler.grouped) {\n      const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n      const range = options.barThickness === 'flex'\n        ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n        : computeFitCategoryTraits(index, ruler, options, stackCount);\n      const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n      center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n      size = Math.min(maxBarThickness, range.chunk * range.ratio);\n    } else {\n      center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n      size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n    }\n    return {\n      base: center - size / 2,\n      head: center + size / 2,\n      center,\n      size\n    };\n  }\n  draw() {\n    const meta = this._cachedMeta;\n    const vScale = meta.vScale;\n    const rects = meta.data;\n    const ilen = rects.length;\n    let i = 0;\n    for (; i < ilen; ++i) {\n      if (this.getParsed(i)[vScale.axis] !== null) {\n        rects[i].draw(this._ctx);\n      }\n    }\n  }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'bar',\n  categoryPercentage: 0.8,\n  barPercentage: 0.9,\n  grouped: true,\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['x', 'y', 'base', 'width', 'height']\n    }\n  }\n};\nBarController.overrides = {\n  scales: {\n    _index_: {\n      type: 'category',\n      offset: true,\n      grid: {\n        offset: true\n      }\n    },\n    _value_: {\n      type: 'linear',\n      beginAtZero: true,\n    }\n  }\n};\n\nclass BubbleController extends DatasetController {\n  initialize() {\n    this.enableOptionSharing = true;\n    super.initialize();\n  }\n  parsePrimitiveData(meta, data, start, count) {\n    const parsed = super.parsePrimitiveData(meta, data, start, count);\n    for (let i = 0; i < parsed.length; i++) {\n      parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n    }\n    return parsed;\n  }\n  parseArrayData(meta, data, start, count) {\n    const parsed = super.parseArrayData(meta, data, start, count);\n    for (let i = 0; i < parsed.length; i++) {\n      const item = data[start + i];\n      parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n    }\n    return parsed;\n  }\n  parseObjectData(meta, data, start, count) {\n    const parsed = super.parseObjectData(meta, data, start, count);\n    for (let i = 0; i < parsed.length; i++) {\n      const item = data[start + i];\n      parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n    }\n    return parsed;\n  }\n  getMaxOverflow() {\n    const data = this._cachedMeta.data;\n    let max = 0;\n    for (let i = data.length - 1; i >= 0; --i) {\n      max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n    }\n    return max > 0 && max;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const {xScale, yScale} = meta;\n    const parsed = this.getParsed(index);\n    const x = xScale.getLabelForValue(parsed.x);\n    const y = yScale.getLabelForValue(parsed.y);\n    const r = parsed._custom;\n    return {\n      label: meta.label,\n      value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n    };\n  }\n  update(mode) {\n    const points = this._cachedMeta.data;\n    this.updateElements(points, 0, points.length, mode);\n  }\n  updateElements(points, start, count, mode) {\n    const reset = mode === 'reset';\n    const {iScale, vScale} = this._cachedMeta;\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    for (let i = start; i < start + count; i++) {\n      const point = points[i];\n      const parsed = !reset && this.getParsed(i);\n      const properties = {};\n      const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n      const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n      properties.skip = isNaN(iPixel) || isNaN(vPixel);\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n        if (reset) {\n          properties.options.radius = 0;\n        }\n      }\n      this.updateElement(point, i, properties, mode);\n    }\n  }\n  resolveDataElementOptions(index, mode) {\n    const parsed = this.getParsed(index);\n    let values = super.resolveDataElementOptions(index, mode);\n    if (values.$shared) {\n      values = Object.assign({}, values, {$shared: false});\n    }\n    const radius = values.radius;\n    if (mode !== 'active') {\n      values.radius = 0;\n    }\n    values.radius += valueOrDefault(parsed && parsed._custom, radius);\n    return values;\n  }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'point',\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['x', 'y', 'borderWidth', 'radius']\n    }\n  }\n};\nBubbleController.overrides = {\n  scales: {\n    x: {\n      type: 'linear'\n    },\n    y: {\n      type: 'linear'\n    }\n  },\n  plugins: {\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        }\n      }\n    }\n  }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n  let ratioX = 1;\n  let ratioY = 1;\n  let offsetX = 0;\n  let offsetY = 0;\n  if (circumference < TAU) {\n    const startAngle = rotation;\n    const endAngle = startAngle + circumference;\n    const startX = Math.cos(startAngle);\n    const startY = Math.sin(startAngle);\n    const endX = Math.cos(endAngle);\n    const endY = Math.sin(endAngle);\n    const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n    const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n    const maxX = calcMax(0, startX, endX);\n    const maxY = calcMax(HALF_PI, startY, endY);\n    const minX = calcMin(PI, startX, endX);\n    const minY = calcMin(PI + HALF_PI, startY, endY);\n    ratioX = (maxX - minX) / 2;\n    ratioY = (maxY - minY) / 2;\n    offsetX = -(maxX + minX) / 2;\n    offsetY = -(maxY + minY) / 2;\n  }\n  return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n  constructor(chart, datasetIndex) {\n    super(chart, datasetIndex);\n    this.enableOptionSharing = true;\n    this.innerRadius = undefined;\n    this.outerRadius = undefined;\n    this.offsetX = undefined;\n    this.offsetY = undefined;\n  }\n  linkScales() {}\n  parse(start, count) {\n    const data = this.getDataset().data;\n    const meta = this._cachedMeta;\n    if (this._parsing === false) {\n      meta._parsed = data;\n    } else {\n      let getter = (i) => +data[i];\n      if (isObject(data[start])) {\n        const {key = 'value'} = this._parsing;\n        getter = (i) => +resolveObjectKey(data[i], key);\n      }\n      let i, ilen;\n      for (i = start, ilen = start + count; i < ilen; ++i) {\n        meta._parsed[i] = getter(i);\n      }\n    }\n  }\n  _getRotation() {\n    return toRadians(this.options.rotation - 90);\n  }\n  _getCircumference() {\n    return toRadians(this.options.circumference);\n  }\n  _getRotationExtents() {\n    let min = TAU;\n    let max = -TAU;\n    for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n      if (this.chart.isDatasetVisible(i)) {\n        const controller = this.chart.getDatasetMeta(i).controller;\n        const rotation = controller._getRotation();\n        const circumference = controller._getCircumference();\n        min = Math.min(min, rotation);\n        max = Math.max(max, rotation + circumference);\n      }\n    }\n    return {\n      rotation: min,\n      circumference: max - min,\n    };\n  }\n  update(mode) {\n    const chart = this.chart;\n    const {chartArea} = chart;\n    const meta = this._cachedMeta;\n    const arcs = meta.data;\n    const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n    const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n    const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n    const chartWeight = this._getRingWeight(this.index);\n    const {circumference, rotation} = this._getRotationExtents();\n    const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n    const maxWidth = (chartArea.width - spacing) / ratioX;\n    const maxHeight = (chartArea.height - spacing) / ratioY;\n    const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n    const outerRadius = toDimension(this.options.radius, maxRadius);\n    const innerRadius = Math.max(outerRadius * cutout, 0);\n    const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n    this.offsetX = offsetX * outerRadius;\n    this.offsetY = offsetY * outerRadius;\n    meta.total = this.calculateTotal();\n    this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n    this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n    this.updateElements(arcs, 0, arcs.length, mode);\n  }\n  _circumference(i, reset) {\n    const opts = this.options;\n    const meta = this._cachedMeta;\n    const circumference = this._getCircumference();\n    if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n      return 0;\n    }\n    return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n  }\n  updateElements(arcs, start, count, mode) {\n    const reset = mode === 'reset';\n    const chart = this.chart;\n    const chartArea = chart.chartArea;\n    const opts = chart.options;\n    const animationOpts = opts.animation;\n    const centerX = (chartArea.left + chartArea.right) / 2;\n    const centerY = (chartArea.top + chartArea.bottom) / 2;\n    const animateScale = reset && animationOpts.animateScale;\n    const innerRadius = animateScale ? 0 : this.innerRadius;\n    const outerRadius = animateScale ? 0 : this.outerRadius;\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    let startAngle = this._getRotation();\n    let i;\n    for (i = 0; i < start; ++i) {\n      startAngle += this._circumference(i, reset);\n    }\n    for (i = start; i < start + count; ++i) {\n      const circumference = this._circumference(i, reset);\n      const arc = arcs[i];\n      const properties = {\n        x: centerX + this.offsetX,\n        y: centerY + this.offsetY,\n        startAngle,\n        endAngle: startAngle + circumference,\n        circumference,\n        outerRadius,\n        innerRadius\n      };\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n      }\n      startAngle += circumference;\n      this.updateElement(arc, i, properties, mode);\n    }\n  }\n  calculateTotal() {\n    const meta = this._cachedMeta;\n    const metaData = meta.data;\n    let total = 0;\n    let i;\n    for (i = 0; i < metaData.length; i++) {\n      const value = meta._parsed[i];\n      if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n        total += Math.abs(value);\n      }\n    }\n    return total;\n  }\n  calculateCircumference(value) {\n    const total = this._cachedMeta.total;\n    if (total > 0 && !isNaN(value)) {\n      return TAU * (Math.abs(value) / total);\n    }\n    return 0;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const chart = this.chart;\n    const labels = chart.data.labels || [];\n    const value = formatNumber(meta._parsed[index], chart.options.locale);\n    return {\n      label: labels[index] || '',\n      value,\n    };\n  }\n  getMaxBorderWidth(arcs) {\n    let max = 0;\n    const chart = this.chart;\n    let i, ilen, meta, controller, options;\n    if (!arcs) {\n      for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n        if (chart.isDatasetVisible(i)) {\n          meta = chart.getDatasetMeta(i);\n          arcs = meta.data;\n          controller = meta.controller;\n          break;\n        }\n      }\n    }\n    if (!arcs) {\n      return 0;\n    }\n    for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n      options = controller.resolveDataElementOptions(i);\n      if (options.borderAlign !== 'inner') {\n        max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n      }\n    }\n    return max;\n  }\n  getMaxOffset(arcs) {\n    let max = 0;\n    for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n      const options = this.resolveDataElementOptions(i);\n      max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n    }\n    return max;\n  }\n  _getRingWeightOffset(datasetIndex) {\n    let ringWeightOffset = 0;\n    for (let i = 0; i < datasetIndex; ++i) {\n      if (this.chart.isDatasetVisible(i)) {\n        ringWeightOffset += this._getRingWeight(i);\n      }\n    }\n    return ringWeightOffset;\n  }\n  _getRingWeight(datasetIndex) {\n    return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n  }\n  _getVisibleDatasetWeightTotal() {\n    return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n  }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'arc',\n  animation: {\n    animateRotate: true,\n    animateScale: false\n  },\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n    },\n  },\n  cutout: '50%',\n  rotation: 0,\n  circumference: 360,\n  radius: '100%',\n  spacing: 0,\n  indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n  _scriptable: (name) => name !== 'spacing',\n  _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n  aspectRatio: 1,\n  plugins: {\n    legend: {\n      labels: {\n        generateLabels(chart) {\n          const data = chart.data;\n          if (data.labels.length && data.datasets.length) {\n            const {labels: {pointStyle}} = chart.legend.options;\n            return data.labels.map((label, i) => {\n              const meta = chart.getDatasetMeta(0);\n              const style = meta.controller.getStyle(i);\n              return {\n                text: label,\n                fillStyle: style.backgroundColor,\n                strokeStyle: style.borderColor,\n                lineWidth: style.borderWidth,\n                pointStyle: pointStyle,\n                hidden: !chart.getDataVisibility(i),\n                index: i\n              };\n            });\n          }\n          return [];\n        }\n      },\n      onClick(e, legendItem, legend) {\n        legend.chart.toggleDataVisibility(legendItem.index);\n        legend.chart.update();\n      }\n    },\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        },\n        label(tooltipItem) {\n          let dataLabel = tooltipItem.label;\n          const value = ': ' + tooltipItem.formattedValue;\n          if (isArray(dataLabel)) {\n            dataLabel = dataLabel.slice();\n            dataLabel[0] += value;\n          } else {\n            dataLabel += value;\n          }\n          return dataLabel;\n        }\n      }\n    }\n  }\n};\n\nclass LineController extends DatasetController {\n  initialize() {\n    this.enableOptionSharing = true;\n    this.supportsDecimation = true;\n    super.initialize();\n  }\n  update(mode) {\n    const meta = this._cachedMeta;\n    const {dataset: line, data: points = [], _dataset} = meta;\n    const animationsDisabled = this.chart._animationsDisabled;\n    let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n    this._drawStart = start;\n    this._drawCount = count;\n    if (_scaleRangesChanged(meta)) {\n      start = 0;\n      count = points.length;\n    }\n    line._chart = this.chart;\n    line._datasetIndex = this.index;\n    line._decimated = !!_dataset._decimated;\n    line.points = points;\n    const options = this.resolveDatasetElementOptions(mode);\n    if (!this.options.showLine) {\n      options.borderWidth = 0;\n    }\n    options.segment = this.options.segment;\n    this.updateElement(line, undefined, {\n      animated: !animationsDisabled,\n      options\n    }, mode);\n    this.updateElements(points, start, count, mode);\n  }\n  updateElements(points, start, count, mode) {\n    const reset = mode === 'reset';\n    const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const {spanGaps, segment} = this.options;\n    const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n    const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n    let prevParsed = start > 0 && this.getParsed(start - 1);\n    for (let i = start; i < start + count; ++i) {\n      const point = points[i];\n      const parsed = this.getParsed(i);\n      const properties = directUpdate ? point : {};\n      const nullData = isNullOrUndef(parsed[vAxis]);\n      const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n      const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n      properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n      properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n      if (segment) {\n        properties.parsed = parsed;\n        properties.raw = _dataset.data[i];\n      }\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n      }\n      if (!directUpdate) {\n        this.updateElement(point, i, properties, mode);\n      }\n      prevParsed = parsed;\n    }\n  }\n  getMaxOverflow() {\n    const meta = this._cachedMeta;\n    const dataset = meta.dataset;\n    const border = dataset.options && dataset.options.borderWidth || 0;\n    const data = meta.data || [];\n    if (!data.length) {\n      return border;\n    }\n    const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n    const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n    return Math.max(border, firstPoint, lastPoint) / 2;\n  }\n  draw() {\n    const meta = this._cachedMeta;\n    meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n    super.draw();\n  }\n}\nLineController.id = 'line';\nLineController.defaults = {\n  datasetElementType: 'line',\n  dataElementType: 'point',\n  showLine: true,\n  spanGaps: false,\n};\nLineController.overrides = {\n  scales: {\n    _index_: {\n      type: 'category',\n    },\n    _value_: {\n      type: 'linear',\n    },\n  }\n};\n\nclass PolarAreaController extends DatasetController {\n  constructor(chart, datasetIndex) {\n    super(chart, datasetIndex);\n    this.innerRadius = undefined;\n    this.outerRadius = undefined;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const chart = this.chart;\n    const labels = chart.data.labels || [];\n    const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n    return {\n      label: labels[index] || '',\n      value,\n    };\n  }\n  parseObjectData(meta, data, start, count) {\n    return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n  }\n  update(mode) {\n    const arcs = this._cachedMeta.data;\n    this._updateRadius();\n    this.updateElements(arcs, 0, arcs.length, mode);\n  }\n  getMinMax() {\n    const meta = this._cachedMeta;\n    const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n    meta.data.forEach((element, index) => {\n      const parsed = this.getParsed(index).r;\n      if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n        if (parsed < range.min) {\n          range.min = parsed;\n        }\n        if (parsed > range.max) {\n          range.max = parsed;\n        }\n      }\n    });\n    return range;\n  }\n  _updateRadius() {\n    const chart = this.chart;\n    const chartArea = chart.chartArea;\n    const opts = chart.options;\n    const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n    const outerRadius = Math.max(minSize / 2, 0);\n    const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n    const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n    this.outerRadius = outerRadius - (radiusLength * this.index);\n    this.innerRadius = this.outerRadius - radiusLength;\n  }\n  updateElements(arcs, start, count, mode) {\n    const reset = mode === 'reset';\n    const chart = this.chart;\n    const opts = chart.options;\n    const animationOpts = opts.animation;\n    const scale = this._cachedMeta.rScale;\n    const centerX = scale.xCenter;\n    const centerY = scale.yCenter;\n    const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n    let angle = datasetStartAngle;\n    let i;\n    const defaultAngle = 360 / this.countVisibleElements();\n    for (i = 0; i < start; ++i) {\n      angle += this._computeAngle(i, mode, defaultAngle);\n    }\n    for (i = start; i < start + count; i++) {\n      const arc = arcs[i];\n      let startAngle = angle;\n      let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n      let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n      angle = endAngle;\n      if (reset) {\n        if (animationOpts.animateScale) {\n          outerRadius = 0;\n        }\n        if (animationOpts.animateRotate) {\n          startAngle = endAngle = datasetStartAngle;\n        }\n      }\n      const properties = {\n        x: centerX,\n        y: centerY,\n        innerRadius: 0,\n        outerRadius,\n        startAngle,\n        endAngle,\n        options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n      };\n      this.updateElement(arc, i, properties, mode);\n    }\n  }\n  countVisibleElements() {\n    const meta = this._cachedMeta;\n    let count = 0;\n    meta.data.forEach((element, index) => {\n      if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n        count++;\n      }\n    });\n    return count;\n  }\n  _computeAngle(index, mode, defaultAngle) {\n    return this.chart.getDataVisibility(index)\n      ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n      : 0;\n  }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n  dataElementType: 'arc',\n  animation: {\n    animateRotate: true,\n    animateScale: true\n  },\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n    },\n  },\n  indexAxis: 'r',\n  startAngle: 0,\n};\nPolarAreaController.overrides = {\n  aspectRatio: 1,\n  plugins: {\n    legend: {\n      labels: {\n        generateLabels(chart) {\n          const data = chart.data;\n          if (data.labels.length && data.datasets.length) {\n            const {labels: {pointStyle}} = chart.legend.options;\n            return data.labels.map((label, i) => {\n              const meta = chart.getDatasetMeta(0);\n              const style = meta.controller.getStyle(i);\n              return {\n                text: label,\n                fillStyle: style.backgroundColor,\n                strokeStyle: style.borderColor,\n                lineWidth: style.borderWidth,\n                pointStyle: pointStyle,\n                hidden: !chart.getDataVisibility(i),\n                index: i\n              };\n            });\n          }\n          return [];\n        }\n      },\n      onClick(e, legendItem, legend) {\n        legend.chart.toggleDataVisibility(legendItem.index);\n        legend.chart.update();\n      }\n    },\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        },\n        label(context) {\n          return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n        }\n      }\n    }\n  },\n  scales: {\n    r: {\n      type: 'radialLinear',\n      angleLines: {\n        display: false\n      },\n      beginAtZero: true,\n      grid: {\n        circular: true\n      },\n      pointLabels: {\n        display: false\n      },\n      startAngle: 0\n    }\n  }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n  cutout: 0,\n  rotation: 0,\n  circumference: 360,\n  radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n  getLabelAndValue(index) {\n    const vScale = this._cachedMeta.vScale;\n    const parsed = this.getParsed(index);\n    return {\n      label: vScale.getLabels()[index],\n      value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n    };\n  }\n  parseObjectData(meta, data, start, count) {\n    return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n  }\n  update(mode) {\n    const meta = this._cachedMeta;\n    const line = meta.dataset;\n    const points = meta.data || [];\n    const labels = meta.iScale.getLabels();\n    line.points = points;\n    if (mode !== 'resize') {\n      const options = this.resolveDatasetElementOptions(mode);\n      if (!this.options.showLine) {\n        options.borderWidth = 0;\n      }\n      const properties = {\n        _loop: true,\n        _fullLoop: labels.length === points.length,\n        options\n      };\n      this.updateElement(line, undefined, properties, mode);\n    }\n    this.updateElements(points, 0, points.length, mode);\n  }\n  updateElements(points, start, count, mode) {\n    const scale = this._cachedMeta.rScale;\n    const reset = mode === 'reset';\n    for (let i = start; i < start + count; i++) {\n      const point = points[i];\n      const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n      const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n      const x = reset ? scale.xCenter : pointPosition.x;\n      const y = reset ? scale.yCenter : pointPosition.y;\n      const properties = {\n        x,\n        y,\n        angle: pointPosition.angle,\n        skip: isNaN(x) || isNaN(y),\n        options\n      };\n      this.updateElement(point, i, properties, mode);\n    }\n  }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n  datasetElementType: 'line',\n  dataElementType: 'point',\n  indexAxis: 'r',\n  showLine: true,\n  elements: {\n    line: {\n      fill: 'start'\n    }\n  },\n};\nRadarController.overrides = {\n  aspectRatio: 1,\n  scales: {\n    r: {\n      type: 'radialLinear',\n    }\n  }\n};\n\nclass Element {\n  constructor() {\n    this.x = undefined;\n    this.y = undefined;\n    this.active = false;\n    this.options = undefined;\n    this.$animations = undefined;\n  }\n  tooltipPosition(useFinalPosition) {\n    const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n    return {x, y};\n  }\n  hasValue() {\n    return isNumber(this.x) && isNumber(this.y);\n  }\n  getProps(props, final) {\n    const anims = this.$animations;\n    if (!final || !anims) {\n      return this;\n    }\n    const ret = {};\n    props.forEach(prop => {\n      ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n    });\n    return ret;\n  }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n  values(value) {\n    return isArray(value) ? value : '' + value;\n  },\n  numeric(tickValue, index, ticks) {\n    if (tickValue === 0) {\n      return '0';\n    }\n    const locale = this.chart.options.locale;\n    let notation;\n    let delta = tickValue;\n    if (ticks.length > 1) {\n      const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n      if (maxTick < 1e-4 || maxTick > 1e+15) {\n        notation = 'scientific';\n      }\n      delta = calculateDelta(tickValue, ticks);\n    }\n    const logDelta = log10(Math.abs(delta));\n    const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n    const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n    Object.assign(options, this.options.ticks.format);\n    return formatNumber(tickValue, locale, options);\n  },\n  logarithmic(tickValue, index, ticks) {\n    if (tickValue === 0) {\n      return '0';\n    }\n    const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n    if (remain === 1 || remain === 2 || remain === 5) {\n      return formatters.numeric.call(this, tickValue, index, ticks);\n    }\n    return '';\n  }\n};\nfunction calculateDelta(tickValue, ticks) {\n  let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n  if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n    delta = tickValue - Math.floor(tickValue);\n  }\n  return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n  display: true,\n  offset: false,\n  reverse: false,\n  beginAtZero: false,\n  bounds: 'ticks',\n  grace: 0,\n  grid: {\n    display: true,\n    lineWidth: 1,\n    drawBorder: true,\n    drawOnChartArea: true,\n    drawTicks: true,\n    tickLength: 8,\n    tickWidth: (_ctx, options) => options.lineWidth,\n    tickColor: (_ctx, options) => options.color,\n    offset: false,\n    borderDash: [],\n    borderDashOffset: 0.0,\n    borderWidth: 1\n  },\n  title: {\n    display: false,\n    text: '',\n    padding: {\n      top: 4,\n      bottom: 4\n    }\n  },\n  ticks: {\n    minRotation: 0,\n    maxRotation: 50,\n    mirror: false,\n    textStrokeWidth: 0,\n    textStrokeColor: '',\n    padding: 3,\n    display: true,\n    autoSkip: true,\n    autoSkipPadding: 3,\n    labelOffset: 0,\n    callback: Ticks.formatters.values,\n    minor: {},\n    major: {},\n    align: 'center',\n    crossAlign: 'near',\n    showLabelBackdrop: false,\n    backdropColor: 'rgba(255, 255, 255, 0.75)',\n    backdropPadding: 2,\n  }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n  _fallback: false,\n  _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n  _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n  _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n  _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n  _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n  const tickOpts = scale.options.ticks;\n  const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n  const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n  const numMajorIndices = majorIndices.length;\n  const first = majorIndices[0];\n  const last = majorIndices[numMajorIndices - 1];\n  const newTicks = [];\n  if (numMajorIndices > ticksLimit) {\n    skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n    return newTicks;\n  }\n  const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n  if (numMajorIndices > 0) {\n    let i, ilen;\n    const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n    skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n    for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n      skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n    }\n    skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n    return newTicks;\n  }\n  skip(ticks, newTicks, spacing);\n  return newTicks;\n}\nfunction determineMaxTicks(scale) {\n  const offset = scale.options.offset;\n  const tickLength = scale._tickSize();\n  const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n  const maxChart = scale._maxLength / tickLength;\n  return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n  const evenMajorSpacing = getEvenSpacing(majorIndices);\n  const spacing = ticks.length / ticksLimit;\n  if (!evenMajorSpacing) {\n    return Math.max(spacing, 1);\n  }\n  const factors = _factorize(evenMajorSpacing);\n  for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n    const factor = factors[i];\n    if (factor > spacing) {\n      return factor;\n    }\n  }\n  return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n  const result = [];\n  let i, ilen;\n  for (i = 0, ilen = ticks.length; i < ilen; i++) {\n    if (ticks[i].major) {\n      result.push(i);\n    }\n  }\n  return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n  let count = 0;\n  let next = majorIndices[0];\n  let i;\n  spacing = Math.ceil(spacing);\n  for (i = 0; i < ticks.length; i++) {\n    if (i === next) {\n      newTicks.push(ticks[i]);\n      count++;\n      next = majorIndices[count * spacing];\n    }\n  }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n  const start = valueOrDefault(majorStart, 0);\n  const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n  let count = 0;\n  let length, i, next;\n  spacing = Math.ceil(spacing);\n  if (majorEnd) {\n    length = majorEnd - majorStart;\n    spacing = length / Math.floor(length / spacing);\n  }\n  next = start;\n  while (next < 0) {\n    count++;\n    next = Math.round(start + count * spacing);\n  }\n  for (i = Math.max(start, 0); i < end; i++) {\n    if (i === next) {\n      newTicks.push(ticks[i]);\n      count++;\n      next = Math.round(start + count * spacing);\n    }\n  }\n}\nfunction getEvenSpacing(arr) {\n  const len = arr.length;\n  let i, diff;\n  if (len < 2) {\n    return false;\n  }\n  for (diff = arr[0], i = 1; i < len; ++i) {\n    if (arr[i] - arr[i - 1] !== diff) {\n      return false;\n    }\n  }\n  return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n  const result = [];\n  const increment = arr.length / numItems;\n  const len = arr.length;\n  let i = 0;\n  for (; i < len; i += increment) {\n    result.push(arr[Math.floor(i)]);\n  }\n  return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n  const length = scale.ticks.length;\n  const validIndex = Math.min(index, length - 1);\n  const start = scale._startPixel;\n  const end = scale._endPixel;\n  const epsilon = 1e-6;\n  let lineValue = scale.getPixelForTick(validIndex);\n  let offset;\n  if (offsetGridLines) {\n    if (length === 1) {\n      offset = Math.max(lineValue - start, end - lineValue);\n    } else if (index === 0) {\n      offset = (scale.getPixelForTick(1) - lineValue) / 2;\n    } else {\n      offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n    }\n    lineValue += validIndex < index ? offset : -offset;\n    if (lineValue < start - epsilon || lineValue > end + epsilon) {\n      return;\n    }\n  }\n  return lineValue;\n}\nfunction garbageCollect(caches, length) {\n  each(caches, (cache) => {\n    const gc = cache.gc;\n    const gcLen = gc.length / 2;\n    let i;\n    if (gcLen > length) {\n      for (i = 0; i < gcLen; ++i) {\n        delete cache.data[gc[i]];\n      }\n      gc.splice(0, gcLen);\n    }\n  });\n}\nfunction getTickMarkLength(options) {\n  return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n  if (!options.display) {\n    return 0;\n  }\n  const font = toFont(options.font, fallback);\n  const padding = toPadding(options.padding);\n  const lines = isArray(options.text) ? options.text.length : 1;\n  return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n  return createContext(parent, {\n    scale,\n    type: 'scale'\n  });\n}\nfunction createTickContext(parent, index, tick) {\n  return createContext(parent, {\n    tick,\n    index,\n    type: 'tick'\n  });\n}\nfunction titleAlign(align, position, reverse) {\n  let ret = _toLeftRightCenter(align);\n  if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n    ret = reverseAlign(ret);\n  }\n  return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n  const {top, left, bottom, right, chart} = scale;\n  const {chartArea, scales} = chart;\n  let rotation = 0;\n  let maxWidth, titleX, titleY;\n  const height = bottom - top;\n  const width = right - left;\n  if (scale.isHorizontal()) {\n    titleX = _alignStartEnd(align, left, right);\n    if (isObject(position)) {\n      const positionAxisID = Object.keys(position)[0];\n      const value = position[positionAxisID];\n      titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n    } else if (position === 'center') {\n      titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n    } else {\n      titleY = offsetFromEdge(scale, position, offset);\n    }\n    maxWidth = right - left;\n  } else {\n    if (isObject(position)) {\n      const positionAxisID = Object.keys(position)[0];\n      const value = position[positionAxisID];\n      titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n    } else if (position === 'center') {\n      titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n    } else {\n      titleX = offsetFromEdge(scale, position, offset);\n    }\n    titleY = _alignStartEnd(align, bottom, top);\n    rotation = position === 'left' ? -HALF_PI : HALF_PI;\n  }\n  return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n  constructor(cfg) {\n    super();\n    this.id = cfg.id;\n    this.type = cfg.type;\n    this.options = undefined;\n    this.ctx = cfg.ctx;\n    this.chart = cfg.chart;\n    this.top = undefined;\n    this.bottom = undefined;\n    this.left = undefined;\n    this.right = undefined;\n    this.width = undefined;\n    this.height = undefined;\n    this._margins = {\n      left: 0,\n      right: 0,\n      top: 0,\n      bottom: 0\n    };\n    this.maxWidth = undefined;\n    this.maxHeight = undefined;\n    this.paddingTop = undefined;\n    this.paddingBottom = undefined;\n    this.paddingLeft = undefined;\n    this.paddingRight = undefined;\n    this.axis = undefined;\n    this.labelRotation = undefined;\n    this.min = undefined;\n    this.max = undefined;\n    this._range = undefined;\n    this.ticks = [];\n    this._gridLineItems = null;\n    this._labelItems = null;\n    this._labelSizes = null;\n    this._length = 0;\n    this._maxLength = 0;\n    this._longestTextCache = {};\n    this._startPixel = undefined;\n    this._endPixel = undefined;\n    this._reversePixels = false;\n    this._userMax = undefined;\n    this._userMin = undefined;\n    this._suggestedMax = undefined;\n    this._suggestedMin = undefined;\n    this._ticksLength = 0;\n    this._borderValue = 0;\n    this._cache = {};\n    this._dataLimitsCached = false;\n    this.$context = undefined;\n  }\n  init(options) {\n    this.options = options.setContext(this.getContext());\n    this.axis = options.axis;\n    this._userMin = this.parse(options.min);\n    this._userMax = this.parse(options.max);\n    this._suggestedMin = this.parse(options.suggestedMin);\n    this._suggestedMax = this.parse(options.suggestedMax);\n  }\n  parse(raw, index) {\n    return raw;\n  }\n  getUserBounds() {\n    let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n    _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n    _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n    _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n    _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n    return {\n      min: finiteOrDefault(_userMin, _suggestedMin),\n      max: finiteOrDefault(_userMax, _suggestedMax),\n      minDefined: isNumberFinite(_userMin),\n      maxDefined: isNumberFinite(_userMax)\n    };\n  }\n  getMinMax(canStack) {\n    let {min, max, minDefined, maxDefined} = this.getUserBounds();\n    let range;\n    if (minDefined && maxDefined) {\n      return {min, max};\n    }\n    const metas = this.getMatchingVisibleMetas();\n    for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n      range = metas[i].controller.getMinMax(this, canStack);\n      if (!minDefined) {\n        min = Math.min(min, range.min);\n      }\n      if (!maxDefined) {\n        max = Math.max(max, range.max);\n      }\n    }\n    min = maxDefined && min > max ? max : min;\n    max = minDefined && min > max ? min : max;\n    return {\n      min: finiteOrDefault(min, finiteOrDefault(max, min)),\n      max: finiteOrDefault(max, finiteOrDefault(min, max))\n    };\n  }\n  getPadding() {\n    return {\n      left: this.paddingLeft || 0,\n      top: this.paddingTop || 0,\n      right: this.paddingRight || 0,\n      bottom: this.paddingBottom || 0\n    };\n  }\n  getTicks() {\n    return this.ticks;\n  }\n  getLabels() {\n    const data = this.chart.data;\n    return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n  }\n  beforeLayout() {\n    this._cache = {};\n    this._dataLimitsCached = false;\n  }\n  beforeUpdate() {\n    callback(this.options.beforeUpdate, [this]);\n  }\n  update(maxWidth, maxHeight, margins) {\n    const {beginAtZero, grace, ticks: tickOpts} = this.options;\n    const sampleSize = tickOpts.sampleSize;\n    this.beforeUpdate();\n    this.maxWidth = maxWidth;\n    this.maxHeight = maxHeight;\n    this._margins = margins = Object.assign({\n      left: 0,\n      right: 0,\n      top: 0,\n      bottom: 0\n    }, margins);\n    this.ticks = null;\n    this._labelSizes = null;\n    this._gridLineItems = null;\n    this._labelItems = null;\n    this.beforeSetDimensions();\n    this.setDimensions();\n    this.afterSetDimensions();\n    this._maxLength = this.isHorizontal()\n      ? this.width + margins.left + margins.right\n      : this.height + margins.top + margins.bottom;\n    if (!this._dataLimitsCached) {\n      this.beforeDataLimits();\n      this.determineDataLimits();\n      this.afterDataLimits();\n      this._range = _addGrace(this, grace, beginAtZero);\n      this._dataLimitsCached = true;\n    }\n    this.beforeBuildTicks();\n    this.ticks = this.buildTicks() || [];\n    this.afterBuildTicks();\n    const samplingEnabled = sampleSize < this.ticks.length;\n    this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n    this.configure();\n    this.beforeCalculateLabelRotation();\n    this.calculateLabelRotation();\n    this.afterCalculateLabelRotation();\n    if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n      this.ticks = autoSkip(this, this.ticks);\n      this._labelSizes = null;\n      this.afterAutoSkip();\n    }\n    if (samplingEnabled) {\n      this._convertTicksToLabels(this.ticks);\n    }\n    this.beforeFit();\n    this.fit();\n    this.afterFit();\n    this.afterUpdate();\n  }\n  configure() {\n    let reversePixels = this.options.reverse;\n    let startPixel, endPixel;\n    if (this.isHorizontal()) {\n      startPixel = this.left;\n      endPixel = this.right;\n    } else {\n      startPixel = this.top;\n      endPixel = this.bottom;\n      reversePixels = !reversePixels;\n    }\n    this._startPixel = startPixel;\n    this._endPixel = endPixel;\n    this._reversePixels = reversePixels;\n    this._length = endPixel - startPixel;\n    this._alignToPixels = this.options.alignToPixels;\n  }\n  afterUpdate() {\n    callback(this.options.afterUpdate, [this]);\n  }\n  beforeSetDimensions() {\n    callback(this.options.beforeSetDimensions, [this]);\n  }\n  setDimensions() {\n    if (this.isHorizontal()) {\n      this.width = this.maxWidth;\n      this.left = 0;\n      this.right = this.width;\n    } else {\n      this.height = this.maxHeight;\n      this.top = 0;\n      this.bottom = this.height;\n    }\n    this.paddingLeft = 0;\n    this.paddingTop = 0;\n    this.paddingRight = 0;\n    this.paddingBottom = 0;\n  }\n  afterSetDimensions() {\n    callback(this.options.afterSetDimensions, [this]);\n  }\n  _callHooks(name) {\n    this.chart.notifyPlugins(name, this.getContext());\n    callback(this.options[name], [this]);\n  }\n  beforeDataLimits() {\n    this._callHooks('beforeDataLimits');\n  }\n  determineDataLimits() {}\n  afterDataLimits() {\n    this._callHooks('afterDataLimits');\n  }\n  beforeBuildTicks() {\n    this._callHooks('beforeBuildTicks');\n  }\n  buildTicks() {\n    return [];\n  }\n  afterBuildTicks() {\n    this._callHooks('afterBuildTicks');\n  }\n  beforeTickToLabelConversion() {\n    callback(this.options.beforeTickToLabelConversion, [this]);\n  }\n  generateTickLabels(ticks) {\n    const tickOpts = this.options.ticks;\n    let i, ilen, tick;\n    for (i = 0, ilen = ticks.length; i < ilen; i++) {\n      tick = ticks[i];\n      tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n    }\n  }\n  afterTickToLabelConversion() {\n    callback(this.options.afterTickToLabelConversion, [this]);\n  }\n  beforeCalculateLabelRotation() {\n    callback(this.options.beforeCalculateLabelRotation, [this]);\n  }\n  calculateLabelRotation() {\n    const options = this.options;\n    const tickOpts = options.ticks;\n    const numTicks = this.ticks.length;\n    const minRotation = tickOpts.minRotation || 0;\n    const maxRotation = tickOpts.maxRotation;\n    let labelRotation = minRotation;\n    let tickWidth, maxHeight, maxLabelDiagonal;\n    if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n      this.labelRotation = minRotation;\n      return;\n    }\n    const labelSizes = this._getLabelSizes();\n    const maxLabelWidth = labelSizes.widest.width;\n    const maxLabelHeight = labelSizes.highest.height;\n    const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n    tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n    if (maxLabelWidth + 6 > tickWidth) {\n      tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n      maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n      maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n      labelRotation = toDegrees(Math.min(\n        Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n        Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n      ));\n      labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n    }\n    this.labelRotation = labelRotation;\n  }\n  afterCalculateLabelRotation() {\n    callback(this.options.afterCalculateLabelRotation, [this]);\n  }\n  afterAutoSkip() {}\n  beforeFit() {\n    callback(this.options.beforeFit, [this]);\n  }\n  fit() {\n    const minSize = {\n      width: 0,\n      height: 0\n    };\n    const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n    const display = this._isVisible();\n    const isHorizontal = this.isHorizontal();\n    if (display) {\n      const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n      if (isHorizontal) {\n        minSize.width = this.maxWidth;\n        minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n      } else {\n        minSize.height = this.maxHeight;\n        minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n      }\n      if (tickOpts.display && this.ticks.length) {\n        const {first, last, widest, highest} = this._getLabelSizes();\n        const tickPadding = tickOpts.padding * 2;\n        const angleRadians = toRadians(this.labelRotation);\n        const cos = Math.cos(angleRadians);\n        const sin = Math.sin(angleRadians);\n        if (isHorizontal) {\n          const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n          minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n        } else {\n          const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n          minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n        }\n        this._calculatePadding(first, last, sin, cos);\n      }\n    }\n    this._handleMargins();\n    if (isHorizontal) {\n      this.width = this._length = chart.width - this._margins.left - this._margins.right;\n      this.height = minSize.height;\n    } else {\n      this.width = minSize.width;\n      this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n    }\n  }\n  _calculatePadding(first, last, sin, cos) {\n    const {ticks: {align, padding}, position} = this.options;\n    const isRotated = this.labelRotation !== 0;\n    const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n    if (this.isHorizontal()) {\n      const offsetLeft = this.getPixelForTick(0) - this.left;\n      const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n      let paddingLeft = 0;\n      let paddingRight = 0;\n      if (isRotated) {\n        if (labelsBelowTicks) {\n          paddingLeft = cos * first.width;\n          paddingRight = sin * last.height;\n        } else {\n          paddingLeft = sin * first.height;\n          paddingRight = cos * last.width;\n        }\n      } else if (align === 'start') {\n        paddingRight = last.width;\n      } else if (align === 'end') {\n        paddingLeft = first.width;\n      } else if (align !== 'inner') {\n        paddingLeft = first.width / 2;\n        paddingRight = last.width / 2;\n      }\n      this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n      this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n    } else {\n      let paddingTop = last.height / 2;\n      let paddingBottom = first.height / 2;\n      if (align === 'start') {\n        paddingTop = 0;\n        paddingBottom = first.height;\n      } else if (align === 'end') {\n        paddingTop = last.height;\n        paddingBottom = 0;\n      }\n      this.paddingTop = paddingTop + padding;\n      this.paddingBottom = paddingBottom + padding;\n    }\n  }\n  _handleMargins() {\n    if (this._margins) {\n      this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n      this._margins.top = Math.max(this.paddingTop, this._margins.top);\n      this._margins.right = Math.max(this.paddingRight, this._margins.right);\n      this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n    }\n  }\n  afterFit() {\n    callback(this.options.afterFit, [this]);\n  }\n  isHorizontal() {\n    const {axis, position} = this.options;\n    return position === 'top' || position === 'bottom' || axis === 'x';\n  }\n  isFullSize() {\n    return this.options.fullSize;\n  }\n  _convertTicksToLabels(ticks) {\n    this.beforeTickToLabelConversion();\n    this.generateTickLabels(ticks);\n    let i, ilen;\n    for (i = 0, ilen = ticks.length; i < ilen; i++) {\n      if (isNullOrUndef(ticks[i].label)) {\n        ticks.splice(i, 1);\n        ilen--;\n        i--;\n      }\n    }\n    this.afterTickToLabelConversion();\n  }\n  _getLabelSizes() {\n    let labelSizes = this._labelSizes;\n    if (!labelSizes) {\n      const sampleSize = this.options.ticks.sampleSize;\n      let ticks = this.ticks;\n      if (sampleSize < ticks.length) {\n        ticks = sample(ticks, sampleSize);\n      }\n      this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n    }\n    return labelSizes;\n  }\n  _computeLabelSizes(ticks, length) {\n    const {ctx, _longestTextCache: caches} = this;\n    const widths = [];\n    const heights = [];\n    let widestLabelSize = 0;\n    let highestLabelSize = 0;\n    let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n    for (i = 0; i < length; ++i) {\n      label = ticks[i].label;\n      tickFont = this._resolveTickFontOptions(i);\n      ctx.font = fontString = tickFont.string;\n      cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n      lineHeight = tickFont.lineHeight;\n      width = height = 0;\n      if (!isNullOrUndef(label) && !isArray(label)) {\n        width = _measureText(ctx, cache.data, cache.gc, width, label);\n        height = lineHeight;\n      } else if (isArray(label)) {\n        for (j = 0, jlen = label.length; j < jlen; ++j) {\n          nestedLabel = label[j];\n          if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n            width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n            height += lineHeight;\n          }\n        }\n      }\n      widths.push(width);\n      heights.push(height);\n      widestLabelSize = Math.max(width, widestLabelSize);\n      highestLabelSize = Math.max(height, highestLabelSize);\n    }\n    garbageCollect(caches, length);\n    const widest = widths.indexOf(widestLabelSize);\n    const highest = heights.indexOf(highestLabelSize);\n    const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n    return {\n      first: valueAt(0),\n      last: valueAt(length - 1),\n      widest: valueAt(widest),\n      highest: valueAt(highest),\n      widths,\n      heights,\n    };\n  }\n  getLabelForValue(value) {\n    return value;\n  }\n  getPixelForValue(value, index) {\n    return NaN;\n  }\n  getValueForPixel(pixel) {}\n  getPixelForTick(index) {\n    const ticks = this.ticks;\n    if (index < 0 || index > ticks.length - 1) {\n      return null;\n    }\n    return this.getPixelForValue(ticks[index].value);\n  }\n  getPixelForDecimal(decimal) {\n    if (this._reversePixels) {\n      decimal = 1 - decimal;\n    }\n    const pixel = this._startPixel + decimal * this._length;\n    return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n  }\n  getDecimalForPixel(pixel) {\n    const decimal = (pixel - this._startPixel) / this._length;\n    return this._reversePixels ? 1 - decimal : decimal;\n  }\n  getBasePixel() {\n    return this.getPixelForValue(this.getBaseValue());\n  }\n  getBaseValue() {\n    const {min, max} = this;\n    return min < 0 && max < 0 ? max :\n      min > 0 && max > 0 ? min :\n      0;\n  }\n  getContext(index) {\n    const ticks = this.ticks || [];\n    if (index >= 0 && index < ticks.length) {\n      const tick = ticks[index];\n      return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n    }\n    return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n  }\n  _tickSize() {\n    const optionTicks = this.options.ticks;\n    const rot = toRadians(this.labelRotation);\n    const cos = Math.abs(Math.cos(rot));\n    const sin = Math.abs(Math.sin(rot));\n    const labelSizes = this._getLabelSizes();\n    const padding = optionTicks.autoSkipPadding || 0;\n    const w = labelSizes ? labelSizes.widest.width + padding : 0;\n    const h = labelSizes ? labelSizes.highest.height + padding : 0;\n    return this.isHorizontal()\n      ? h * cos > w * sin ? w / cos : h / sin\n      : h * sin < w * cos ? h / cos : w / sin;\n  }\n  _isVisible() {\n    const display = this.options.display;\n    if (display !== 'auto') {\n      return !!display;\n    }\n    return this.getMatchingVisibleMetas().length > 0;\n  }\n  _computeGridLineItems(chartArea) {\n    const axis = this.axis;\n    const chart = this.chart;\n    const options = this.options;\n    const {grid, position} = options;\n    const offset = grid.offset;\n    const isHorizontal = this.isHorizontal();\n    const ticks = this.ticks;\n    const ticksLength = ticks.length + (offset ? 1 : 0);\n    const tl = getTickMarkLength(grid);\n    const items = [];\n    const borderOpts = grid.setContext(this.getContext());\n    const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n    const axisHalfWidth = axisWidth / 2;\n    const alignBorderValue = function(pixel) {\n      return _alignPixel(chart, pixel, axisWidth);\n    };\n    let borderValue, i, lineValue, alignedLineValue;\n    let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n    if (position === 'top') {\n      borderValue = alignBorderValue(this.bottom);\n      ty1 = this.bottom - tl;\n      ty2 = borderValue - axisHalfWidth;\n      y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n      y2 = chartArea.bottom;\n    } else if (position === 'bottom') {\n      borderValue = alignBorderValue(this.top);\n      y1 = chartArea.top;\n      y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n      ty1 = borderValue + axisHalfWidth;\n      ty2 = this.top + tl;\n    } else if (position === 'left') {\n      borderValue = alignBorderValue(this.right);\n      tx1 = this.right - tl;\n      tx2 = borderValue - axisHalfWidth;\n      x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n      x2 = chartArea.right;\n    } else if (position === 'right') {\n      borderValue = alignBorderValue(this.left);\n      x1 = chartArea.left;\n      x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n      tx1 = borderValue + axisHalfWidth;\n      tx2 = this.left + tl;\n    } else if (axis === 'x') {\n      if (position === 'center') {\n        borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n      }\n      y1 = chartArea.top;\n      y2 = chartArea.bottom;\n      ty1 = borderValue + axisHalfWidth;\n      ty2 = ty1 + tl;\n    } else if (axis === 'y') {\n      if (position === 'center') {\n        borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n      }\n      tx1 = borderValue - axisHalfWidth;\n      tx2 = tx1 - tl;\n      x1 = chartArea.left;\n      x2 = chartArea.right;\n    }\n    const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n    const step = Math.max(1, Math.ceil(ticksLength / limit));\n    for (i = 0; i < ticksLength; i += step) {\n      const optsAtIndex = grid.setContext(this.getContext(i));\n      const lineWidth = optsAtIndex.lineWidth;\n      const lineColor = optsAtIndex.color;\n      const borderDash = optsAtIndex.borderDash || [];\n      const borderDashOffset = optsAtIndex.borderDashOffset;\n      const tickWidth = optsAtIndex.tickWidth;\n      const tickColor = optsAtIndex.tickColor;\n      const tickBorderDash = optsAtIndex.tickBorderDash || [];\n      const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n      lineValue = getPixelForGridLine(this, i, offset);\n      if (lineValue === undefined) {\n        continue;\n      }\n      alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n      if (isHorizontal) {\n        tx1 = tx2 = x1 = x2 = alignedLineValue;\n      } else {\n        ty1 = ty2 = y1 = y2 = alignedLineValue;\n      }\n      items.push({\n        tx1,\n        ty1,\n        tx2,\n        ty2,\n        x1,\n        y1,\n        x2,\n        y2,\n        width: lineWidth,\n        color: lineColor,\n        borderDash,\n        borderDashOffset,\n        tickWidth,\n        tickColor,\n        tickBorderDash,\n        tickBorderDashOffset,\n      });\n    }\n    this._ticksLength = ticksLength;\n    this._borderValue = borderValue;\n    return items;\n  }\n  _computeLabelItems(chartArea) {\n    const axis = this.axis;\n    const options = this.options;\n    const {position, ticks: optionTicks} = options;\n    const isHorizontal = this.isHorizontal();\n    const ticks = this.ticks;\n    const {align, crossAlign, padding, mirror} = optionTicks;\n    const tl = getTickMarkLength(options.grid);\n    const tickAndPadding = tl + padding;\n    const hTickAndPadding = mirror ? -padding : tickAndPadding;\n    const rotation = -toRadians(this.labelRotation);\n    const items = [];\n    let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n    let textBaseline = 'middle';\n    if (position === 'top') {\n      y = this.bottom - hTickAndPadding;\n      textAlign = this._getXAxisLabelAlignment();\n    } else if (position === 'bottom') {\n      y = this.top + hTickAndPadding;\n      textAlign = this._getXAxisLabelAlignment();\n    } else if (position === 'left') {\n      const ret = this._getYAxisLabelAlignment(tl);\n      textAlign = ret.textAlign;\n      x = ret.x;\n    } else if (position === 'right') {\n      const ret = this._getYAxisLabelAlignment(tl);\n      textAlign = ret.textAlign;\n      x = ret.x;\n    } else if (axis === 'x') {\n      if (position === 'center') {\n        y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n      }\n      textAlign = this._getXAxisLabelAlignment();\n    } else if (axis === 'y') {\n      if (position === 'center') {\n        x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        x = this.chart.scales[positionAxisID].getPixelForValue(value);\n      }\n      textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n    }\n    if (axis === 'y') {\n      if (align === 'start') {\n        textBaseline = 'top';\n      } else if (align === 'end') {\n        textBaseline = 'bottom';\n      }\n    }\n    const labelSizes = this._getLabelSizes();\n    for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n      tick = ticks[i];\n      label = tick.label;\n      const optsAtIndex = optionTicks.setContext(this.getContext(i));\n      pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n      font = this._resolveTickFontOptions(i);\n      lineHeight = font.lineHeight;\n      lineCount = isArray(label) ? label.length : 1;\n      const halfCount = lineCount / 2;\n      const color = optsAtIndex.color;\n      const strokeColor = optsAtIndex.textStrokeColor;\n      const strokeWidth = optsAtIndex.textStrokeWidth;\n      let tickTextAlign = textAlign;\n      if (isHorizontal) {\n        x = pixel;\n        if (textAlign === 'inner') {\n          if (i === ilen - 1) {\n            tickTextAlign = !this.options.reverse ? 'right' : 'left';\n          } else if (i === 0) {\n            tickTextAlign = !this.options.reverse ? 'left' : 'right';\n          } else {\n            tickTextAlign = 'center';\n          }\n        }\n        if (position === 'top') {\n          if (crossAlign === 'near' || rotation !== 0) {\n            textOffset = -lineCount * lineHeight + lineHeight / 2;\n          } else if (crossAlign === 'center') {\n            textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n          } else {\n            textOffset = -labelSizes.highest.height + lineHeight / 2;\n          }\n        } else {\n          if (crossAlign === 'near' || rotation !== 0) {\n            textOffset = lineHeight / 2;\n          } else if (crossAlign === 'center') {\n            textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n          } else {\n            textOffset = labelSizes.highest.height - lineCount * lineHeight;\n          }\n        }\n        if (mirror) {\n          textOffset *= -1;\n        }\n      } else {\n        y = pixel;\n        textOffset = (1 - lineCount) * lineHeight / 2;\n      }\n      let backdrop;\n      if (optsAtIndex.showLabelBackdrop) {\n        const labelPadding = toPadding(optsAtIndex.backdropPadding);\n        const height = labelSizes.heights[i];\n        const width = labelSizes.widths[i];\n        let top = y + textOffset - labelPadding.top;\n        let left = x - labelPadding.left;\n        switch (textBaseline) {\n        case 'middle':\n          top -= height / 2;\n          break;\n        case 'bottom':\n          top -= height;\n          break;\n        }\n        switch (textAlign) {\n        case 'center':\n          left -= width / 2;\n          break;\n        case 'right':\n          left -= width;\n          break;\n        }\n        backdrop = {\n          left,\n          top,\n          width: width + labelPadding.width,\n          height: height + labelPadding.height,\n          color: optsAtIndex.backdropColor,\n        };\n      }\n      items.push({\n        rotation,\n        label,\n        font,\n        color,\n        strokeColor,\n        strokeWidth,\n        textOffset,\n        textAlign: tickTextAlign,\n        textBaseline,\n        translation: [x, y],\n        backdrop,\n      });\n    }\n    return items;\n  }\n  _getXAxisLabelAlignment() {\n    const {position, ticks} = this.options;\n    const rotation = -toRadians(this.labelRotation);\n    if (rotation) {\n      return position === 'top' ? 'left' : 'right';\n    }\n    let align = 'center';\n    if (ticks.align === 'start') {\n      align = 'left';\n    } else if (ticks.align === 'end') {\n      align = 'right';\n    } else if (ticks.align === 'inner') {\n      align = 'inner';\n    }\n    return align;\n  }\n  _getYAxisLabelAlignment(tl) {\n    const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n    const labelSizes = this._getLabelSizes();\n    const tickAndPadding = tl + padding;\n    const widest = labelSizes.widest.width;\n    let textAlign;\n    let x;\n    if (position === 'left') {\n      if (mirror) {\n        x = this.right + padding;\n        if (crossAlign === 'near') {\n          textAlign = 'left';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x += (widest / 2);\n        } else {\n          textAlign = 'right';\n          x += widest;\n        }\n      } else {\n        x = this.right - tickAndPadding;\n        if (crossAlign === 'near') {\n          textAlign = 'right';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x -= (widest / 2);\n        } else {\n          textAlign = 'left';\n          x = this.left;\n        }\n      }\n    } else if (position === 'right') {\n      if (mirror) {\n        x = this.left + padding;\n        if (crossAlign === 'near') {\n          textAlign = 'right';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x -= (widest / 2);\n        } else {\n          textAlign = 'left';\n          x -= widest;\n        }\n      } else {\n        x = this.left + tickAndPadding;\n        if (crossAlign === 'near') {\n          textAlign = 'left';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x += widest / 2;\n        } else {\n          textAlign = 'right';\n          x = this.right;\n        }\n      }\n    } else {\n      textAlign = 'right';\n    }\n    return {textAlign, x};\n  }\n  _computeLabelArea() {\n    if (this.options.ticks.mirror) {\n      return;\n    }\n    const chart = this.chart;\n    const position = this.options.position;\n    if (position === 'left' || position === 'right') {\n      return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n    } if (position === 'top' || position === 'bottom') {\n      return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n    }\n  }\n  drawBackground() {\n    const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n    if (backgroundColor) {\n      ctx.save();\n      ctx.fillStyle = backgroundColor;\n      ctx.fillRect(left, top, width, height);\n      ctx.restore();\n    }\n  }\n  getLineWidthForValue(value) {\n    const grid = this.options.grid;\n    if (!this._isVisible() || !grid.display) {\n      return 0;\n    }\n    const ticks = this.ticks;\n    const index = ticks.findIndex(t => t.value === value);\n    if (index >= 0) {\n      const opts = grid.setContext(this.getContext(index));\n      return opts.lineWidth;\n    }\n    return 0;\n  }\n  drawGrid(chartArea) {\n    const grid = this.options.grid;\n    const ctx = this.ctx;\n    const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n    let i, ilen;\n    const drawLine = (p1, p2, style) => {\n      if (!style.width || !style.color) {\n        return;\n      }\n      ctx.save();\n      ctx.lineWidth = style.width;\n      ctx.strokeStyle = style.color;\n      ctx.setLineDash(style.borderDash || []);\n      ctx.lineDashOffset = style.borderDashOffset;\n      ctx.beginPath();\n      ctx.moveTo(p1.x, p1.y);\n      ctx.lineTo(p2.x, p2.y);\n      ctx.stroke();\n      ctx.restore();\n    };\n    if (grid.display) {\n      for (i = 0, ilen = items.length; i < ilen; ++i) {\n        const item = items[i];\n        if (grid.drawOnChartArea) {\n          drawLine(\n            {x: item.x1, y: item.y1},\n            {x: item.x2, y: item.y2},\n            item\n          );\n        }\n        if (grid.drawTicks) {\n          drawLine(\n            {x: item.tx1, y: item.ty1},\n            {x: item.tx2, y: item.ty2},\n            {\n              color: item.tickColor,\n              width: item.tickWidth,\n              borderDash: item.tickBorderDash,\n              borderDashOffset: item.tickBorderDashOffset\n            }\n          );\n        }\n      }\n    }\n  }\n  drawBorder() {\n    const {chart, ctx, options: {grid}} = this;\n    const borderOpts = grid.setContext(this.getContext());\n    const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n    if (!axisWidth) {\n      return;\n    }\n    const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n    const borderValue = this._borderValue;\n    let x1, x2, y1, y2;\n    if (this.isHorizontal()) {\n      x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n      x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n      y1 = y2 = borderValue;\n    } else {\n      y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n      y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n      x1 = x2 = borderValue;\n    }\n    ctx.save();\n    ctx.lineWidth = borderOpts.borderWidth;\n    ctx.strokeStyle = borderOpts.borderColor;\n    ctx.beginPath();\n    ctx.moveTo(x1, y1);\n    ctx.lineTo(x2, y2);\n    ctx.stroke();\n    ctx.restore();\n  }\n  drawLabels(chartArea) {\n    const optionTicks = this.options.ticks;\n    if (!optionTicks.display) {\n      return;\n    }\n    const ctx = this.ctx;\n    const area = this._computeLabelArea();\n    if (area) {\n      clipArea(ctx, area);\n    }\n    const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n    let i, ilen;\n    for (i = 0, ilen = items.length; i < ilen; ++i) {\n      const item = items[i];\n      const tickFont = item.font;\n      const label = item.label;\n      if (item.backdrop) {\n        ctx.fillStyle = item.backdrop.color;\n        ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n      }\n      let y = item.textOffset;\n      renderText(ctx, label, 0, y, tickFont, item);\n    }\n    if (area) {\n      unclipArea(ctx);\n    }\n  }\n  drawTitle() {\n    const {ctx, options: {position, title, reverse}} = this;\n    if (!title.display) {\n      return;\n    }\n    const font = toFont(title.font);\n    const padding = toPadding(title.padding);\n    const align = title.align;\n    let offset = font.lineHeight / 2;\n    if (position === 'bottom' || position === 'center' || isObject(position)) {\n      offset += padding.bottom;\n      if (isArray(title.text)) {\n        offset += font.lineHeight * (title.text.length - 1);\n      }\n    } else {\n      offset += padding.top;\n    }\n    const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n    renderText(ctx, title.text, 0, 0, font, {\n      color: title.color,\n      maxWidth,\n      rotation,\n      textAlign: titleAlign(align, position, reverse),\n      textBaseline: 'middle',\n      translation: [titleX, titleY],\n    });\n  }\n  draw(chartArea) {\n    if (!this._isVisible()) {\n      return;\n    }\n    this.drawBackground();\n    this.drawGrid(chartArea);\n    this.drawBorder();\n    this.drawTitle();\n    this.drawLabels(chartArea);\n  }\n  _layers() {\n    const opts = this.options;\n    const tz = opts.ticks && opts.ticks.z || 0;\n    const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n    if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n      return [{\n        z: tz,\n        draw: (chartArea) => {\n          this.draw(chartArea);\n        }\n      }];\n    }\n    return [{\n      z: gz,\n      draw: (chartArea) => {\n        this.drawBackground();\n        this.drawGrid(chartArea);\n        this.drawTitle();\n      }\n    }, {\n      z: gz + 1,\n      draw: () => {\n        this.drawBorder();\n      }\n    }, {\n      z: tz,\n      draw: (chartArea) => {\n        this.drawLabels(chartArea);\n      }\n    }];\n  }\n  getMatchingVisibleMetas(type) {\n    const metas = this.chart.getSortedVisibleDatasetMetas();\n    const axisID = this.axis + 'AxisID';\n    const result = [];\n    let i, ilen;\n    for (i = 0, ilen = metas.length; i < ilen; ++i) {\n      const meta = metas[i];\n      if (meta[axisID] === this.id && (!type || meta.type === type)) {\n        result.push(meta);\n      }\n    }\n    return result;\n  }\n  _resolveTickFontOptions(index) {\n    const opts = this.options.ticks.setContext(this.getContext(index));\n    return toFont(opts.font);\n  }\n  _maxDigits() {\n    const fontSize = this._resolveTickFontOptions(0).lineHeight;\n    return (this.isHorizontal() ? this.width : this.height) / fontSize;\n  }\n}\n\nclass TypedRegistry {\n  constructor(type, scope, override) {\n    this.type = type;\n    this.scope = scope;\n    this.override = override;\n    this.items = Object.create(null);\n  }\n  isForType(type) {\n    return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n  }\n  register(item) {\n    const proto = Object.getPrototypeOf(item);\n    let parentScope;\n    if (isIChartComponent(proto)) {\n      parentScope = this.register(proto);\n    }\n    const items = this.items;\n    const id = item.id;\n    const scope = this.scope + '.' + id;\n    if (!id) {\n      throw new Error('class does not have id: ' + item);\n    }\n    if (id in items) {\n      return scope;\n    }\n    items[id] = item;\n    registerDefaults(item, scope, parentScope);\n    if (this.override) {\n      defaults.override(item.id, item.overrides);\n    }\n    return scope;\n  }\n  get(id) {\n    return this.items[id];\n  }\n  unregister(item) {\n    const items = this.items;\n    const id = item.id;\n    const scope = this.scope;\n    if (id in items) {\n      delete items[id];\n    }\n    if (scope && id in defaults[scope]) {\n      delete defaults[scope][id];\n      if (this.override) {\n        delete overrides[id];\n      }\n    }\n  }\n}\nfunction registerDefaults(item, scope, parentScope) {\n  const itemDefaults = merge(Object.create(null), [\n    parentScope ? defaults.get(parentScope) : {},\n    defaults.get(scope),\n    item.defaults\n  ]);\n  defaults.set(scope, itemDefaults);\n  if (item.defaultRoutes) {\n    routeDefaults(scope, item.defaultRoutes);\n  }\n  if (item.descriptors) {\n    defaults.describe(scope, item.descriptors);\n  }\n}\nfunction routeDefaults(scope, routes) {\n  Object.keys(routes).forEach(property => {\n    const propertyParts = property.split('.');\n    const sourceName = propertyParts.pop();\n    const sourceScope = [scope].concat(propertyParts).join('.');\n    const parts = routes[property].split('.');\n    const targetName = parts.pop();\n    const targetScope = parts.join('.');\n    defaults.route(sourceScope, sourceName, targetScope, targetName);\n  });\n}\nfunction isIChartComponent(proto) {\n  return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n  constructor() {\n    this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n    this.elements = new TypedRegistry(Element, 'elements');\n    this.plugins = new TypedRegistry(Object, 'plugins');\n    this.scales = new TypedRegistry(Scale, 'scales');\n    this._typedRegistries = [this.controllers, this.scales, this.elements];\n  }\n  add(...args) {\n    this._each('register', args);\n  }\n  remove(...args) {\n    this._each('unregister', args);\n  }\n  addControllers(...args) {\n    this._each('register', args, this.controllers);\n  }\n  addElements(...args) {\n    this._each('register', args, this.elements);\n  }\n  addPlugins(...args) {\n    this._each('register', args, this.plugins);\n  }\n  addScales(...args) {\n    this._each('register', args, this.scales);\n  }\n  getController(id) {\n    return this._get(id, this.controllers, 'controller');\n  }\n  getElement(id) {\n    return this._get(id, this.elements, 'element');\n  }\n  getPlugin(id) {\n    return this._get(id, this.plugins, 'plugin');\n  }\n  getScale(id) {\n    return this._get(id, this.scales, 'scale');\n  }\n  removeControllers(...args) {\n    this._each('unregister', args, this.controllers);\n  }\n  removeElements(...args) {\n    this._each('unregister', args, this.elements);\n  }\n  removePlugins(...args) {\n    this._each('unregister', args, this.plugins);\n  }\n  removeScales(...args) {\n    this._each('unregister', args, this.scales);\n  }\n  _each(method, args, typedRegistry) {\n    [...args].forEach(arg => {\n      const reg = typedRegistry || this._getRegistryForType(arg);\n      if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n        this._exec(method, reg, arg);\n      } else {\n        each(arg, item => {\n          const itemReg = typedRegistry || this._getRegistryForType(item);\n          this._exec(method, itemReg, item);\n        });\n      }\n    });\n  }\n  _exec(method, registry, component) {\n    const camelMethod = _capitalize(method);\n    callback(component['before' + camelMethod], [], component);\n    registry[method](component);\n    callback(component['after' + camelMethod], [], component);\n  }\n  _getRegistryForType(type) {\n    for (let i = 0; i < this._typedRegistries.length; i++) {\n      const reg = this._typedRegistries[i];\n      if (reg.isForType(type)) {\n        return reg;\n      }\n    }\n    return this.plugins;\n  }\n  _get(id, typedRegistry, type) {\n    const item = typedRegistry.get(id);\n    if (item === undefined) {\n      throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n    }\n    return item;\n  }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n  update(mode) {\n    const meta = this._cachedMeta;\n    const {data: points = []} = meta;\n    const animationsDisabled = this.chart._animationsDisabled;\n    let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n    this._drawStart = start;\n    this._drawCount = count;\n    if (_scaleRangesChanged(meta)) {\n      start = 0;\n      count = points.length;\n    }\n    if (this.options.showLine) {\n      const {dataset: line, _dataset} = meta;\n      line._chart = this.chart;\n      line._datasetIndex = this.index;\n      line._decimated = !!_dataset._decimated;\n      line.points = points;\n      const options = this.resolveDatasetElementOptions(mode);\n      options.segment = this.options.segment;\n      this.updateElement(line, undefined, {\n        animated: !animationsDisabled,\n        options\n      }, mode);\n    }\n    this.updateElements(points, start, count, mode);\n  }\n  addElements() {\n    const {showLine} = this.options;\n    if (!this.datasetElementType && showLine) {\n      this.datasetElementType = registry.getElement('line');\n    }\n    super.addElements();\n  }\n  updateElements(points, start, count, mode) {\n    const reset = mode === 'reset';\n    const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n    const firstOpts = this.resolveDataElementOptions(start, mode);\n    const sharedOptions = this.getSharedOptions(firstOpts);\n    const includeOptions = this.includeOptions(mode, sharedOptions);\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const {spanGaps, segment} = this.options;\n    const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n    const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n    let prevParsed = start > 0 && this.getParsed(start - 1);\n    for (let i = start; i < start + count; ++i) {\n      const point = points[i];\n      const parsed = this.getParsed(i);\n      const properties = directUpdate ? point : {};\n      const nullData = isNullOrUndef(parsed[vAxis]);\n      const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n      const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n      properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n      properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n      if (segment) {\n        properties.parsed = parsed;\n        properties.raw = _dataset.data[i];\n      }\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n      }\n      if (!directUpdate) {\n        this.updateElement(point, i, properties, mode);\n      }\n      prevParsed = parsed;\n    }\n    this.updateSharedOptions(sharedOptions, mode, firstOpts);\n  }\n  getMaxOverflow() {\n    const meta = this._cachedMeta;\n    const data = meta.data || [];\n    if (!this.options.showLine) {\n      let max = 0;\n      for (let i = data.length - 1; i >= 0; --i) {\n        max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n      }\n      return max > 0 && max;\n    }\n    const dataset = meta.dataset;\n    const border = dataset.options && dataset.options.borderWidth || 0;\n    if (!data.length) {\n      return border;\n    }\n    const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n    const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n    return Math.max(border, firstPoint, lastPoint) / 2;\n  }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'point',\n  showLine: false,\n  fill: false\n};\nScatterController.overrides = {\n  interaction: {\n    mode: 'point'\n  },\n  plugins: {\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        },\n        label(item) {\n          return '(' + item.label + ', ' + item.formattedValue + ')';\n        }\n      }\n    }\n  },\n  scales: {\n    x: {\n      type: 'linear'\n    },\n    y: {\n      type: 'linear'\n    }\n  }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n  throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n  constructor(options) {\n    this.options = options || {};\n  }\n  init(chartOptions) {}\n  formats() {\n    return abstract();\n  }\n  parse(value, format) {\n    return abstract();\n  }\n  format(timestamp, format) {\n    return abstract();\n  }\n  add(timestamp, amount, unit) {\n    return abstract();\n  }\n  diff(a, b, unit) {\n    return abstract();\n  }\n  startOf(timestamp, unit, weekday) {\n    return abstract();\n  }\n  endOf(timestamp, unit) {\n    return abstract();\n  }\n}\nDateAdapter.override = function(members) {\n  Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n  _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n  const {controller, data, _sorted} = metaset;\n  const iScale = controller._cachedMeta.iScale;\n  if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n    const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n    if (!intersect) {\n      return lookupMethod(data, axis, value);\n    } else if (controller._sharedOptions) {\n      const el = data[0];\n      const range = typeof el.getRange === 'function' && el.getRange(axis);\n      if (range) {\n        const start = lookupMethod(data, axis, value - range);\n        const end = lookupMethod(data, axis, value + range);\n        return {lo: start.lo, hi: end.hi};\n      }\n    }\n  }\n  return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n  const metasets = chart.getSortedVisibleDatasetMetas();\n  const value = position[axis];\n  for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n    const {index, data} = metasets[i];\n    const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n    for (let j = lo; j <= hi; ++j) {\n      const element = data[j];\n      if (!element.skip) {\n        handler(element, index, j);\n      }\n    }\n  }\n}\nfunction getDistanceMetricForAxis(axis) {\n  const useX = axis.indexOf('x') !== -1;\n  const useY = axis.indexOf('y') !== -1;\n  return function(pt1, pt2) {\n    const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n    const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n    return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n  };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n  const items = [];\n  if (!includeInvisible && !chart.isPointInArea(position)) {\n    return items;\n  }\n  const evaluationFunc = function(element, datasetIndex, index) {\n    if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n      return;\n    }\n    if (element.inRange(position.x, position.y, useFinalPosition)) {\n      items.push({element, datasetIndex, index});\n    }\n  };\n  evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n  return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n  let items = [];\n  function evaluationFunc(element, datasetIndex, index) {\n    const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n    const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n    if (_angleBetween(angle, startAngle, endAngle)) {\n      items.push({element, datasetIndex, index});\n    }\n  }\n  evaluateInteractionItems(chart, axis, position, evaluationFunc);\n  return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n  let items = [];\n  const distanceMetric = getDistanceMetricForAxis(axis);\n  let minDistance = Number.POSITIVE_INFINITY;\n  function evaluationFunc(element, datasetIndex, index) {\n    const inRange = element.inRange(position.x, position.y, useFinalPosition);\n    if (intersect && !inRange) {\n      return;\n    }\n    const center = element.getCenterPoint(useFinalPosition);\n    const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n    if (!pointInArea && !inRange) {\n      return;\n    }\n    const distance = distanceMetric(position, center);\n    if (distance < minDistance) {\n      items = [{element, datasetIndex, index}];\n      minDistance = distance;\n    } else if (distance === minDistance) {\n      items.push({element, datasetIndex, index});\n    }\n  }\n  evaluateInteractionItems(chart, axis, position, evaluationFunc);\n  return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n  if (!includeInvisible && !chart.isPointInArea(position)) {\n    return [];\n  }\n  return axis === 'r' && !intersect\n    ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n    : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n  const items = [];\n  const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n  let intersectsItem = false;\n  evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n    if (element[rangeMethod](position[axis], useFinalPosition)) {\n      items.push({element, datasetIndex, index});\n      intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n    }\n  });\n  if (intersect && !intersectsItem) {\n    return [];\n  }\n  return items;\n}\nvar Interaction = {\n  evaluateInteractionItems,\n  modes: {\n    index(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'x';\n      const includeInvisible = options.includeInvisible || false;\n      const items = options.intersect\n        ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n        : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n      const elements = [];\n      if (!items.length) {\n        return [];\n      }\n      chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n        const index = items[0].index;\n        const element = meta.data[index];\n        if (element && !element.skip) {\n          elements.push({element, datasetIndex: meta.index, index});\n        }\n      });\n      return elements;\n    },\n    dataset(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'xy';\n      const includeInvisible = options.includeInvisible || false;\n      let items = options.intersect\n        ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n        getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n      if (items.length > 0) {\n        const datasetIndex = items[0].datasetIndex;\n        const data = chart.getDatasetMeta(datasetIndex).data;\n        items = [];\n        for (let i = 0; i < data.length; ++i) {\n          items.push({element: data[i], datasetIndex, index: i});\n        }\n      }\n      return items;\n    },\n    point(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'xy';\n      const includeInvisible = options.includeInvisible || false;\n      return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n    },\n    nearest(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'xy';\n      const includeInvisible = options.includeInvisible || false;\n      return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n    },\n    x(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n    },\n    y(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n    }\n  }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n  return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n  return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n  return array.sort((a, b) => {\n    const v0 = reverse ? b : a;\n    const v1 = reverse ? a : b;\n    return v0.weight === v1.weight ?\n      v0.index - v1.index :\n      v0.weight - v1.weight;\n  });\n}\nfunction wrapBoxes(boxes) {\n  const layoutBoxes = [];\n  let i, ilen, box, pos, stack, stackWeight;\n  for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n    box = boxes[i];\n    ({position: pos, options: {stack, stackWeight = 1}} = box);\n    layoutBoxes.push({\n      index: i,\n      box,\n      pos,\n      horizontal: box.isHorizontal(),\n      weight: box.weight,\n      stack: stack && (pos + stack),\n      stackWeight\n    });\n  }\n  return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n  const stacks = {};\n  for (const wrap of layouts) {\n    const {stack, pos, stackWeight} = wrap;\n    if (!stack || !STATIC_POSITIONS.includes(pos)) {\n      continue;\n    }\n    const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n    _stack.count++;\n    _stack.weight += stackWeight;\n  }\n  return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n  const stacks = buildStacks(layouts);\n  const {vBoxMaxWidth, hBoxMaxHeight} = params;\n  let i, ilen, layout;\n  for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n    layout = layouts[i];\n    const {fullSize} = layout.box;\n    const stack = stacks[layout.stack];\n    const factor = stack && layout.stackWeight / stack.weight;\n    if (layout.horizontal) {\n      layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n      layout.height = hBoxMaxHeight;\n    } else {\n      layout.width = vBoxMaxWidth;\n      layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n    }\n  }\n  return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n  const layoutBoxes = wrapBoxes(boxes);\n  const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n  const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n  const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n  const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n  const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n  const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n  const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n  return {\n    fullSize,\n    leftAndTop: left.concat(top),\n    rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n    chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n    vertical: left.concat(right).concat(centerVertical),\n    horizontal: top.concat(bottom).concat(centerHorizontal)\n  };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n  return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n  maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n  maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n  maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n  maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n  const {pos, box} = layout;\n  const maxPadding = chartArea.maxPadding;\n  if (!isObject(pos)) {\n    if (layout.size) {\n      chartArea[pos] -= layout.size;\n    }\n    const stack = stacks[layout.stack] || {size: 0, count: 1};\n    stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n    layout.size = stack.size / stack.count;\n    chartArea[pos] += layout.size;\n  }\n  if (box.getPadding) {\n    updateMaxPadding(maxPadding, box.getPadding());\n  }\n  const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n  const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n  const widthChanged = newWidth !== chartArea.w;\n  const heightChanged = newHeight !== chartArea.h;\n  chartArea.w = newWidth;\n  chartArea.h = newHeight;\n  return layout.horizontal\n    ? {same: widthChanged, other: heightChanged}\n    : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n  const maxPadding = chartArea.maxPadding;\n  function updatePos(pos) {\n    const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n    chartArea[pos] += change;\n    return change;\n  }\n  chartArea.y += updatePos('top');\n  chartArea.x += updatePos('left');\n  updatePos('right');\n  updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n  const maxPadding = chartArea.maxPadding;\n  function marginForPositions(positions) {\n    const margin = {left: 0, top: 0, right: 0, bottom: 0};\n    positions.forEach((pos) => {\n      margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n    });\n    return margin;\n  }\n  return horizontal\n    ? marginForPositions(['left', 'right'])\n    : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n  const refitBoxes = [];\n  let i, ilen, layout, box, refit, changed;\n  for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n    layout = boxes[i];\n    box = layout.box;\n    box.update(\n      layout.width || chartArea.w,\n      layout.height || chartArea.h,\n      getMargins(layout.horizontal, chartArea)\n    );\n    const {same, other} = updateDims(chartArea, params, layout, stacks);\n    refit |= same && refitBoxes.length;\n    changed = changed || other;\n    if (!box.fullSize) {\n      refitBoxes.push(layout);\n    }\n  }\n  return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n  box.top = top;\n  box.left = left;\n  box.right = left + width;\n  box.bottom = top + height;\n  box.width = width;\n  box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n  const userPadding = params.padding;\n  let {x, y} = chartArea;\n  for (const layout of boxes) {\n    const box = layout.box;\n    const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n    const weight = (layout.stackWeight / stack.weight) || 1;\n    if (layout.horizontal) {\n      const width = chartArea.w * weight;\n      const height = stack.size || box.height;\n      if (defined(stack.start)) {\n        y = stack.start;\n      }\n      if (box.fullSize) {\n        setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n      } else {\n        setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n      }\n      stack.start = y;\n      stack.placed += width;\n      y = box.bottom;\n    } else {\n      const height = chartArea.h * weight;\n      const width = stack.size || box.width;\n      if (defined(stack.start)) {\n        x = stack.start;\n      }\n      if (box.fullSize) {\n        setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n      } else {\n        setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n      }\n      stack.start = x;\n      stack.placed += height;\n      x = box.right;\n    }\n  }\n  chartArea.x = x;\n  chartArea.y = y;\n}\ndefaults.set('layout', {\n  autoPadding: true,\n  padding: {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  }\n});\nvar layouts = {\n  addBox(chart, item) {\n    if (!chart.boxes) {\n      chart.boxes = [];\n    }\n    item.fullSize = item.fullSize || false;\n    item.position = item.position || 'top';\n    item.weight = item.weight || 0;\n    item._layers = item._layers || function() {\n      return [{\n        z: 0,\n        draw(chartArea) {\n          item.draw(chartArea);\n        }\n      }];\n    };\n    chart.boxes.push(item);\n  },\n  removeBox(chart, layoutItem) {\n    const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n    if (index !== -1) {\n      chart.boxes.splice(index, 1);\n    }\n  },\n  configure(chart, item, options) {\n    item.fullSize = options.fullSize;\n    item.position = options.position;\n    item.weight = options.weight;\n  },\n  update(chart, width, height, minPadding) {\n    if (!chart) {\n      return;\n    }\n    const padding = toPadding(chart.options.layout.padding);\n    const availableWidth = Math.max(width - padding.width, 0);\n    const availableHeight = Math.max(height - padding.height, 0);\n    const boxes = buildLayoutBoxes(chart.boxes);\n    const verticalBoxes = boxes.vertical;\n    const horizontalBoxes = boxes.horizontal;\n    each(chart.boxes, box => {\n      if (typeof box.beforeLayout === 'function') {\n        box.beforeLayout();\n      }\n    });\n    const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n      wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n    const params = Object.freeze({\n      outerWidth: width,\n      outerHeight: height,\n      padding,\n      availableWidth,\n      availableHeight,\n      vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n      hBoxMaxHeight: availableHeight / 2\n    });\n    const maxPadding = Object.assign({}, padding);\n    updateMaxPadding(maxPadding, toPadding(minPadding));\n    const chartArea = Object.assign({\n      maxPadding,\n      w: availableWidth,\n      h: availableHeight,\n      x: padding.left,\n      y: padding.top\n    }, padding);\n    const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n    fitBoxes(boxes.fullSize, chartArea, params, stacks);\n    fitBoxes(verticalBoxes, chartArea, params, stacks);\n    if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n      fitBoxes(verticalBoxes, chartArea, params, stacks);\n    }\n    handleMaxPadding(chartArea);\n    placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n    chartArea.x += chartArea.w;\n    chartArea.y += chartArea.h;\n    placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n    chart.chartArea = {\n      left: chartArea.left,\n      top: chartArea.top,\n      right: chartArea.left + chartArea.w,\n      bottom: chartArea.top + chartArea.h,\n      height: chartArea.h,\n      width: chartArea.w,\n    };\n    each(boxes.chartArea, (layout) => {\n      const box = layout.box;\n      Object.assign(box, chart.chartArea);\n      box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n    });\n  }\n};\n\nclass BasePlatform {\n  acquireContext(canvas, aspectRatio) {}\n  releaseContext(context) {\n    return false;\n  }\n  addEventListener(chart, type, listener) {}\n  removeEventListener(chart, type, listener) {}\n  getDevicePixelRatio() {\n    return 1;\n  }\n  getMaximumSize(element, width, height, aspectRatio) {\n    width = Math.max(0, width || element.width);\n    height = height || element.height;\n    return {\n      width,\n      height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n    };\n  }\n  isAttached(canvas) {\n    return true;\n  }\n  updateConfig(config) {\n  }\n}\n\nclass BasicPlatform extends BasePlatform {\n  acquireContext(item) {\n    return item && item.getContext && item.getContext('2d') || null;\n  }\n  updateConfig(config) {\n    config.options.animation = false;\n  }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n  touchstart: 'mousedown',\n  touchmove: 'mousemove',\n  touchend: 'mouseup',\n  pointerenter: 'mouseenter',\n  pointerdown: 'mousedown',\n  pointermove: 'mousemove',\n  pointerup: 'mouseup',\n  pointerleave: 'mouseout',\n  pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n  const style = canvas.style;\n  const renderHeight = canvas.getAttribute('height');\n  const renderWidth = canvas.getAttribute('width');\n  canvas[EXPANDO_KEY] = {\n    initial: {\n      height: renderHeight,\n      width: renderWidth,\n      style: {\n        display: style.display,\n        height: style.height,\n        width: style.width\n      }\n    }\n  };\n  style.display = style.display || 'block';\n  style.boxSizing = style.boxSizing || 'border-box';\n  if (isNullOrEmpty(renderWidth)) {\n    const displayWidth = readUsedSize(canvas, 'width');\n    if (displayWidth !== undefined) {\n      canvas.width = displayWidth;\n    }\n  }\n  if (isNullOrEmpty(renderHeight)) {\n    if (canvas.style.height === '') {\n      canvas.height = canvas.width / (aspectRatio || 2);\n    } else {\n      const displayHeight = readUsedSize(canvas, 'height');\n      if (displayHeight !== undefined) {\n        canvas.height = displayHeight;\n      }\n    }\n  }\n  return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n  node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n  chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n  const type = EVENT_TYPES[event.type] || event.type;\n  const {x, y} = getRelativePosition(event, chart);\n  return {\n    type,\n    chart,\n    native: event,\n    x: x !== undefined ? x : null,\n    y: y !== undefined ? y : null,\n  };\n}\nfunction nodeListContains(nodeList, canvas) {\n  for (const node of nodeList) {\n    if (node === canvas || node.contains(canvas)) {\n      return true;\n    }\n  }\n}\nfunction createAttachObserver(chart, type, listener) {\n  const canvas = chart.canvas;\n  const observer = new MutationObserver(entries => {\n    let trigger = false;\n    for (const entry of entries) {\n      trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n      trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n    }\n    if (trigger) {\n      listener();\n    }\n  });\n  observer.observe(document, {childList: true, subtree: true});\n  return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n  const canvas = chart.canvas;\n  const observer = new MutationObserver(entries => {\n    let trigger = false;\n    for (const entry of entries) {\n      trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n      trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n    }\n    if (trigger) {\n      listener();\n    }\n  });\n  observer.observe(document, {childList: true, subtree: true});\n  return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n  const dpr = window.devicePixelRatio;\n  if (dpr === oldDevicePixelRatio) {\n    return;\n  }\n  oldDevicePixelRatio = dpr;\n  drpListeningCharts.forEach((resize, chart) => {\n    if (chart.currentDevicePixelRatio !== dpr) {\n      resize();\n    }\n  });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n  if (!drpListeningCharts.size) {\n    window.addEventListener('resize', onWindowResize);\n  }\n  drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n  drpListeningCharts.delete(chart);\n  if (!drpListeningCharts.size) {\n    window.removeEventListener('resize', onWindowResize);\n  }\n}\nfunction createResizeObserver(chart, type, listener) {\n  const canvas = chart.canvas;\n  const container = canvas && _getParentNode(canvas);\n  if (!container) {\n    return;\n  }\n  const resize = throttled((width, height) => {\n    const w = container.clientWidth;\n    listener(width, height);\n    if (w < container.clientWidth) {\n      listener();\n    }\n  }, window);\n  const observer = new ResizeObserver(entries => {\n    const entry = entries[0];\n    const width = entry.contentRect.width;\n    const height = entry.contentRect.height;\n    if (width === 0 && height === 0) {\n      return;\n    }\n    resize(width, height);\n  });\n  observer.observe(container);\n  listenDevicePixelRatioChanges(chart, resize);\n  return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n  if (observer) {\n    observer.disconnect();\n  }\n  if (type === 'resize') {\n    unlistenDevicePixelRatioChanges(chart);\n  }\n}\nfunction createProxyAndListen(chart, type, listener) {\n  const canvas = chart.canvas;\n  const proxy = throttled((event) => {\n    if (chart.ctx !== null) {\n      listener(fromNativeEvent(event, chart));\n    }\n  }, chart, (args) => {\n    const event = args[0];\n    return [event, event.offsetX, event.offsetY];\n  });\n  addListener(canvas, type, proxy);\n  return proxy;\n}\nclass DomPlatform extends BasePlatform {\n  acquireContext(canvas, aspectRatio) {\n    const context = canvas && canvas.getContext && canvas.getContext('2d');\n    if (context && context.canvas === canvas) {\n      initCanvas(canvas, aspectRatio);\n      return context;\n    }\n    return null;\n  }\n  releaseContext(context) {\n    const canvas = context.canvas;\n    if (!canvas[EXPANDO_KEY]) {\n      return false;\n    }\n    const initial = canvas[EXPANDO_KEY].initial;\n    ['height', 'width'].forEach((prop) => {\n      const value = initial[prop];\n      if (isNullOrUndef(value)) {\n        canvas.removeAttribute(prop);\n      } else {\n        canvas.setAttribute(prop, value);\n      }\n    });\n    const style = initial.style || {};\n    Object.keys(style).forEach((key) => {\n      canvas.style[key] = style[key];\n    });\n    canvas.width = canvas.width;\n    delete canvas[EXPANDO_KEY];\n    return true;\n  }\n  addEventListener(chart, type, listener) {\n    this.removeEventListener(chart, type);\n    const proxies = chart.$proxies || (chart.$proxies = {});\n    const handlers = {\n      attach: createAttachObserver,\n      detach: createDetachObserver,\n      resize: createResizeObserver\n    };\n    const handler = handlers[type] || createProxyAndListen;\n    proxies[type] = handler(chart, type, listener);\n  }\n  removeEventListener(chart, type) {\n    const proxies = chart.$proxies || (chart.$proxies = {});\n    const proxy = proxies[type];\n    if (!proxy) {\n      return;\n    }\n    const handlers = {\n      attach: releaseObserver,\n      detach: releaseObserver,\n      resize: releaseObserver\n    };\n    const handler = handlers[type] || removeListener;\n    handler(chart, type, proxy);\n    proxies[type] = undefined;\n  }\n  getDevicePixelRatio() {\n    return window.devicePixelRatio;\n  }\n  getMaximumSize(canvas, width, height, aspectRatio) {\n    return getMaximumSize(canvas, width, height, aspectRatio);\n  }\n  isAttached(canvas) {\n    const container = _getParentNode(canvas);\n    return !!(container && container.isConnected);\n  }\n}\n\nfunction _detectPlatform(canvas) {\n  if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n    return BasicPlatform;\n  }\n  return DomPlatform;\n}\n\nclass PluginService {\n  constructor() {\n    this._init = [];\n  }\n  notify(chart, hook, args, filter) {\n    if (hook === 'beforeInit') {\n      this._init = this._createDescriptors(chart, true);\n      this._notify(this._init, chart, 'install');\n    }\n    const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n    const result = this._notify(descriptors, chart, hook, args);\n    if (hook === 'afterDestroy') {\n      this._notify(descriptors, chart, 'stop');\n      this._notify(this._init, chart, 'uninstall');\n    }\n    return result;\n  }\n  _notify(descriptors, chart, hook, args) {\n    args = args || {};\n    for (const descriptor of descriptors) {\n      const plugin = descriptor.plugin;\n      const method = plugin[hook];\n      const params = [chart, args, descriptor.options];\n      if (callback(method, params, plugin) === false && args.cancelable) {\n        return false;\n      }\n    }\n    return true;\n  }\n  invalidate() {\n    if (!isNullOrUndef(this._cache)) {\n      this._oldCache = this._cache;\n      this._cache = undefined;\n    }\n  }\n  _descriptors(chart) {\n    if (this._cache) {\n      return this._cache;\n    }\n    const descriptors = this._cache = this._createDescriptors(chart);\n    this._notifyStateChanges(chart);\n    return descriptors;\n  }\n  _createDescriptors(chart, all) {\n    const config = chart && chart.config;\n    const options = valueOrDefault(config.options && config.options.plugins, {});\n    const plugins = allPlugins(config);\n    return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n  }\n  _notifyStateChanges(chart) {\n    const previousDescriptors = this._oldCache || [];\n    const descriptors = this._cache;\n    const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n    this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n    this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n  }\n}\nfunction allPlugins(config) {\n  const localIds = {};\n  const plugins = [];\n  const keys = Object.keys(registry.plugins.items);\n  for (let i = 0; i < keys.length; i++) {\n    plugins.push(registry.getPlugin(keys[i]));\n  }\n  const local = config.plugins || [];\n  for (let i = 0; i < local.length; i++) {\n    const plugin = local[i];\n    if (plugins.indexOf(plugin) === -1) {\n      plugins.push(plugin);\n      localIds[plugin.id] = true;\n    }\n  }\n  return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n  if (!all && options === false) {\n    return null;\n  }\n  if (options === true) {\n    return {};\n  }\n  return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n  const result = [];\n  const context = chart.getContext();\n  for (const plugin of plugins) {\n    const id = plugin.id;\n    const opts = getOpts(options[id], all);\n    if (opts === null) {\n      continue;\n    }\n    result.push({\n      plugin,\n      options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n    });\n  }\n  return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n  const keys = config.pluginScopeKeys(plugin);\n  const scopes = config.getOptionScopes(opts, keys);\n  if (local && plugin.defaults) {\n    scopes.push(plugin.defaults);\n  }\n  return config.createResolver(scopes, context, [''], {\n    scriptable: false,\n    indexable: false,\n    allKeys: true\n  });\n}\n\nfunction getIndexAxis(type, options) {\n  const datasetDefaults = defaults.datasets[type] || {};\n  const datasetOptions = (options.datasets || {})[type] || {};\n  return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n  let axis = id;\n  if (id === '_index_') {\n    axis = indexAxis;\n  } else if (id === '_value_') {\n    axis = indexAxis === 'x' ? 'y' : 'x';\n  }\n  return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n  return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n  if (position === 'top' || position === 'bottom') {\n    return 'x';\n  }\n  if (position === 'left' || position === 'right') {\n    return 'y';\n  }\n}\nfunction determineAxis(id, scaleOptions) {\n  if (id === 'x' || id === 'y') {\n    return id;\n  }\n  return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n  const chartDefaults = overrides[config.type] || {scales: {}};\n  const configScales = options.scales || {};\n  const chartIndexAxis = getIndexAxis(config.type, options);\n  const firstIDs = Object.create(null);\n  const scales = Object.create(null);\n  Object.keys(configScales).forEach(id => {\n    const scaleConf = configScales[id];\n    if (!isObject(scaleConf)) {\n      return console.error(`Invalid scale configuration for scale: ${id}`);\n    }\n    if (scaleConf._proxy) {\n      return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n    }\n    const axis = determineAxis(id, scaleConf);\n    const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n    const defaultScaleOptions = chartDefaults.scales || {};\n    firstIDs[axis] = firstIDs[axis] || id;\n    scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n  });\n  config.data.datasets.forEach(dataset => {\n    const type = dataset.type || config.type;\n    const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n    const datasetDefaults = overrides[type] || {};\n    const defaultScaleOptions = datasetDefaults.scales || {};\n    Object.keys(defaultScaleOptions).forEach(defaultID => {\n      const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n      const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n      scales[id] = scales[id] || Object.create(null);\n      mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n    });\n  });\n  Object.keys(scales).forEach(key => {\n    const scale = scales[key];\n    mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n  });\n  return scales;\n}\nfunction initOptions(config) {\n  const options = config.options || (config.options = {});\n  options.plugins = valueOrDefault(options.plugins, {});\n  options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n  data = data || {};\n  data.datasets = data.datasets || [];\n  data.labels = data.labels || [];\n  return data;\n}\nfunction initConfig(config) {\n  config = config || {};\n  config.data = initData(config.data);\n  initOptions(config);\n  return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n  let keys = keyCache.get(cacheKey);\n  if (!keys) {\n    keys = generate();\n    keyCache.set(cacheKey, keys);\n    keysCached.add(keys);\n  }\n  return keys;\n}\nconst addIfFound = (set, obj, key) => {\n  const opts = resolveObjectKey(obj, key);\n  if (opts !== undefined) {\n    set.add(opts);\n  }\n};\nclass Config {\n  constructor(config) {\n    this._config = initConfig(config);\n    this._scopeCache = new Map();\n    this._resolverCache = new Map();\n  }\n  get platform() {\n    return this._config.platform;\n  }\n  get type() {\n    return this._config.type;\n  }\n  set type(type) {\n    this._config.type = type;\n  }\n  get data() {\n    return this._config.data;\n  }\n  set data(data) {\n    this._config.data = initData(data);\n  }\n  get options() {\n    return this._config.options;\n  }\n  set options(options) {\n    this._config.options = options;\n  }\n  get plugins() {\n    return this._config.plugins;\n  }\n  update() {\n    const config = this._config;\n    this.clearCache();\n    initOptions(config);\n  }\n  clearCache() {\n    this._scopeCache.clear();\n    this._resolverCache.clear();\n  }\n  datasetScopeKeys(datasetType) {\n    return cachedKeys(datasetType,\n      () => [[\n        `datasets.${datasetType}`,\n        ''\n      ]]);\n  }\n  datasetAnimationScopeKeys(datasetType, transition) {\n    return cachedKeys(`${datasetType}.transition.${transition}`,\n      () => [\n        [\n          `datasets.${datasetType}.transitions.${transition}`,\n          `transitions.${transition}`,\n        ],\n        [\n          `datasets.${datasetType}`,\n          ''\n        ]\n      ]);\n  }\n  datasetElementScopeKeys(datasetType, elementType) {\n    return cachedKeys(`${datasetType}-${elementType}`,\n      () => [[\n        `datasets.${datasetType}.elements.${elementType}`,\n        `datasets.${datasetType}`,\n        `elements.${elementType}`,\n        ''\n      ]]);\n  }\n  pluginScopeKeys(plugin) {\n    const id = plugin.id;\n    const type = this.type;\n    return cachedKeys(`${type}-plugin-${id}`,\n      () => [[\n        `plugins.${id}`,\n        ...plugin.additionalOptionScopes || [],\n      ]]);\n  }\n  _cachedScopes(mainScope, resetCache) {\n    const _scopeCache = this._scopeCache;\n    let cache = _scopeCache.get(mainScope);\n    if (!cache || resetCache) {\n      cache = new Map();\n      _scopeCache.set(mainScope, cache);\n    }\n    return cache;\n  }\n  getOptionScopes(mainScope, keyLists, resetCache) {\n    const {options, type} = this;\n    const cache = this._cachedScopes(mainScope, resetCache);\n    const cached = cache.get(keyLists);\n    if (cached) {\n      return cached;\n    }\n    const scopes = new Set();\n    keyLists.forEach(keys => {\n      if (mainScope) {\n        scopes.add(mainScope);\n        keys.forEach(key => addIfFound(scopes, mainScope, key));\n      }\n      keys.forEach(key => addIfFound(scopes, options, key));\n      keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n      keys.forEach(key => addIfFound(scopes, defaults, key));\n      keys.forEach(key => addIfFound(scopes, descriptors, key));\n    });\n    const array = Array.from(scopes);\n    if (array.length === 0) {\n      array.push(Object.create(null));\n    }\n    if (keysCached.has(keyLists)) {\n      cache.set(keyLists, array);\n    }\n    return array;\n  }\n  chartOptionScopes() {\n    const {options, type} = this;\n    return [\n      options,\n      overrides[type] || {},\n      defaults.datasets[type] || {},\n      {type},\n      defaults,\n      descriptors\n    ];\n  }\n  resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n    const result = {$shared: true};\n    const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n    let options = resolver;\n    if (needContext(resolver, names)) {\n      result.$shared = false;\n      context = isFunction(context) ? context() : context;\n      const subResolver = this.createResolver(scopes, context, subPrefixes);\n      options = _attachContext(resolver, context, subResolver);\n    }\n    for (const prop of names) {\n      result[prop] = options[prop];\n    }\n    return result;\n  }\n  createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n    const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n    return isObject(context)\n      ? _attachContext(resolver, context, undefined, descriptorDefaults)\n      : resolver;\n  }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n  let cache = resolverCache.get(scopes);\n  if (!cache) {\n    cache = new Map();\n    resolverCache.set(scopes, cache);\n  }\n  const cacheKey = prefixes.join();\n  let cached = cache.get(cacheKey);\n  if (!cached) {\n    const resolver = _createResolver(scopes, prefixes);\n    cached = {\n      resolver,\n      subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n    };\n    cache.set(cacheKey, cached);\n  }\n  return cached;\n}\nconst hasFunction = value => isObject(value)\n  && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n  const {isScriptable, isIndexable} = _descriptors(proxy);\n  for (const prop of names) {\n    const scriptable = isScriptable(prop);\n    const indexable = isIndexable(prop);\n    const value = (indexable || scriptable) && proxy[prop];\n    if ((scriptable && (isFunction(value) || hasFunction(value)))\n      || (indexable && isArray(value))) {\n      return true;\n    }\n  }\n  return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n  return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n  return function(a, b) {\n    return a[l1] === b[l1]\n      ? a[l2] - b[l2]\n      : a[l1] - b[l1];\n  };\n}\nfunction onAnimationsComplete(context) {\n  const chart = context.chart;\n  const animationOptions = chart.options.animation;\n  chart.notifyPlugins('afterRender');\n  callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n  const chart = context.chart;\n  const animationOptions = chart.options.animation;\n  callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n  if (_isDomSupported() && typeof item === 'string') {\n    item = document.getElementById(item);\n  } else if (item && item.length) {\n    item = item[0];\n  }\n  if (item && item.canvas) {\n    item = item.canvas;\n  }\n  return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n  const canvas = getCanvas(key);\n  return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n  const keys = Object.keys(obj);\n  for (const key of keys) {\n    const intKey = +key;\n    if (intKey >= start) {\n      const value = obj[key];\n      delete obj[key];\n      if (move > 0 || intKey > start) {\n        obj[intKey + move] = value;\n      }\n    }\n  }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n  if (!inChartArea || e.type === 'mouseout') {\n    return null;\n  }\n  if (isClick) {\n    return lastEvent;\n  }\n  return e;\n}\nclass Chart {\n  constructor(item, userConfig) {\n    const config = this.config = new Config(userConfig);\n    const initialCanvas = getCanvas(item);\n    const existingChart = getChart(initialCanvas);\n    if (existingChart) {\n      throw new Error(\n        'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n      );\n    }\n    const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n    this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n    this.platform.updateConfig(config);\n    const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n    const canvas = context && context.canvas;\n    const height = canvas && canvas.height;\n    const width = canvas && canvas.width;\n    this.id = uid();\n    this.ctx = context;\n    this.canvas = canvas;\n    this.width = width;\n    this.height = height;\n    this._options = options;\n    this._aspectRatio = this.aspectRatio;\n    this._layers = [];\n    this._metasets = [];\n    this._stacks = undefined;\n    this.boxes = [];\n    this.currentDevicePixelRatio = undefined;\n    this.chartArea = undefined;\n    this._active = [];\n    this._lastEvent = undefined;\n    this._listeners = {};\n    this._responsiveListeners = undefined;\n    this._sortedMetasets = [];\n    this.scales = {};\n    this._plugins = new PluginService();\n    this.$proxies = {};\n    this._hiddenIndices = {};\n    this.attached = false;\n    this._animationsDisabled = undefined;\n    this.$context = undefined;\n    this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n    this._dataChanges = [];\n    instances[this.id] = this;\n    if (!context || !canvas) {\n      console.error(\"Failed to create chart: can't acquire context from the given item\");\n      return;\n    }\n    animator.listen(this, 'complete', onAnimationsComplete);\n    animator.listen(this, 'progress', onAnimationProgress);\n    this._initialize();\n    if (this.attached) {\n      this.update();\n    }\n  }\n  get aspectRatio() {\n    const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n    if (!isNullOrUndef(aspectRatio)) {\n      return aspectRatio;\n    }\n    if (maintainAspectRatio && _aspectRatio) {\n      return _aspectRatio;\n    }\n    return height ? width / height : null;\n  }\n  get data() {\n    return this.config.data;\n  }\n  set data(data) {\n    this.config.data = data;\n  }\n  get options() {\n    return this._options;\n  }\n  set options(options) {\n    this.config.options = options;\n  }\n  _initialize() {\n    this.notifyPlugins('beforeInit');\n    if (this.options.responsive) {\n      this.resize();\n    } else {\n      retinaScale(this, this.options.devicePixelRatio);\n    }\n    this.bindEvents();\n    this.notifyPlugins('afterInit');\n    return this;\n  }\n  clear() {\n    clearCanvas(this.canvas, this.ctx);\n    return this;\n  }\n  stop() {\n    animator.stop(this);\n    return this;\n  }\n  resize(width, height) {\n    if (!animator.running(this)) {\n      this._resize(width, height);\n    } else {\n      this._resizeBeforeDraw = {width, height};\n    }\n  }\n  _resize(width, height) {\n    const options = this.options;\n    const canvas = this.canvas;\n    const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n    const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n    const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n    const mode = this.width ? 'resize' : 'attach';\n    this.width = newSize.width;\n    this.height = newSize.height;\n    this._aspectRatio = this.aspectRatio;\n    if (!retinaScale(this, newRatio, true)) {\n      return;\n    }\n    this.notifyPlugins('resize', {size: newSize});\n    callback(options.onResize, [this, newSize], this);\n    if (this.attached) {\n      if (this._doResize(mode)) {\n        this.render();\n      }\n    }\n  }\n  ensureScalesHaveIDs() {\n    const options = this.options;\n    const scalesOptions = options.scales || {};\n    each(scalesOptions, (axisOptions, axisID) => {\n      axisOptions.id = axisID;\n    });\n  }\n  buildOrUpdateScales() {\n    const options = this.options;\n    const scaleOpts = options.scales;\n    const scales = this.scales;\n    const updated = Object.keys(scales).reduce((obj, id) => {\n      obj[id] = false;\n      return obj;\n    }, {});\n    let items = [];\n    if (scaleOpts) {\n      items = items.concat(\n        Object.keys(scaleOpts).map((id) => {\n          const scaleOptions = scaleOpts[id];\n          const axis = determineAxis(id, scaleOptions);\n          const isRadial = axis === 'r';\n          const isHorizontal = axis === 'x';\n          return {\n            options: scaleOptions,\n            dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n            dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n          };\n        })\n      );\n    }\n    each(items, (item) => {\n      const scaleOptions = item.options;\n      const id = scaleOptions.id;\n      const axis = determineAxis(id, scaleOptions);\n      const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n      if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n        scaleOptions.position = item.dposition;\n      }\n      updated[id] = true;\n      let scale = null;\n      if (id in scales && scales[id].type === scaleType) {\n        scale = scales[id];\n      } else {\n        const scaleClass = registry.getScale(scaleType);\n        scale = new scaleClass({\n          id,\n          type: scaleType,\n          ctx: this.ctx,\n          chart: this\n        });\n        scales[scale.id] = scale;\n      }\n      scale.init(scaleOptions, options);\n    });\n    each(updated, (hasUpdated, id) => {\n      if (!hasUpdated) {\n        delete scales[id];\n      }\n    });\n    each(scales, (scale) => {\n      layouts.configure(this, scale, scale.options);\n      layouts.addBox(this, scale);\n    });\n  }\n  _updateMetasets() {\n    const metasets = this._metasets;\n    const numData = this.data.datasets.length;\n    const numMeta = metasets.length;\n    metasets.sort((a, b) => a.index - b.index);\n    if (numMeta > numData) {\n      for (let i = numData; i < numMeta; ++i) {\n        this._destroyDatasetMeta(i);\n      }\n      metasets.splice(numData, numMeta - numData);\n    }\n    this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n  }\n  _removeUnreferencedMetasets() {\n    const {_metasets: metasets, data: {datasets}} = this;\n    if (metasets.length > datasets.length) {\n      delete this._stacks;\n    }\n    metasets.forEach((meta, index) => {\n      if (datasets.filter(x => x === meta._dataset).length === 0) {\n        this._destroyDatasetMeta(index);\n      }\n    });\n  }\n  buildOrUpdateControllers() {\n    const newControllers = [];\n    const datasets = this.data.datasets;\n    let i, ilen;\n    this._removeUnreferencedMetasets();\n    for (i = 0, ilen = datasets.length; i < ilen; i++) {\n      const dataset = datasets[i];\n      let meta = this.getDatasetMeta(i);\n      const type = dataset.type || this.config.type;\n      if (meta.type && meta.type !== type) {\n        this._destroyDatasetMeta(i);\n        meta = this.getDatasetMeta(i);\n      }\n      meta.type = type;\n      meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n      meta.order = dataset.order || 0;\n      meta.index = i;\n      meta.label = '' + dataset.label;\n      meta.visible = this.isDatasetVisible(i);\n      if (meta.controller) {\n        meta.controller.updateIndex(i);\n        meta.controller.linkScales();\n      } else {\n        const ControllerClass = registry.getController(type);\n        const {datasetElementType, dataElementType} = defaults.datasets[type];\n        Object.assign(ControllerClass.prototype, {\n          dataElementType: registry.getElement(dataElementType),\n          datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n        });\n        meta.controller = new ControllerClass(this, i);\n        newControllers.push(meta.controller);\n      }\n    }\n    this._updateMetasets();\n    return newControllers;\n  }\n  _resetElements() {\n    each(this.data.datasets, (dataset, datasetIndex) => {\n      this.getDatasetMeta(datasetIndex).controller.reset();\n    }, this);\n  }\n  reset() {\n    this._resetElements();\n    this.notifyPlugins('reset');\n  }\n  update(mode) {\n    const config = this.config;\n    config.update();\n    const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n    const animsDisabled = this._animationsDisabled = !options.animation;\n    this._updateScales();\n    this._checkEventBindings();\n    this._updateHiddenIndices();\n    this._plugins.invalidate();\n    if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n      return;\n    }\n    const newControllers = this.buildOrUpdateControllers();\n    this.notifyPlugins('beforeElementsUpdate');\n    let minPadding = 0;\n    for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n      const {controller} = this.getDatasetMeta(i);\n      const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n      controller.buildOrUpdateElements(reset);\n      minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n    }\n    minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n    this._updateLayout(minPadding);\n    if (!animsDisabled) {\n      each(newControllers, (controller) => {\n        controller.reset();\n      });\n    }\n    this._updateDatasets(mode);\n    this.notifyPlugins('afterUpdate', {mode});\n    this._layers.sort(compare2Level('z', '_idx'));\n    const {_active, _lastEvent} = this;\n    if (_lastEvent) {\n      this._eventHandler(_lastEvent, true);\n    } else if (_active.length) {\n      this._updateHoverStyles(_active, _active, true);\n    }\n    this.render();\n  }\n  _updateScales() {\n    each(this.scales, (scale) => {\n      layouts.removeBox(this, scale);\n    });\n    this.ensureScalesHaveIDs();\n    this.buildOrUpdateScales();\n  }\n  _checkEventBindings() {\n    const options = this.options;\n    const existingEvents = new Set(Object.keys(this._listeners));\n    const newEvents = new Set(options.events);\n    if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n      this.unbindEvents();\n      this.bindEvents();\n    }\n  }\n  _updateHiddenIndices() {\n    const {_hiddenIndices} = this;\n    const changes = this._getUniformDataChanges() || [];\n    for (const {method, start, count} of changes) {\n      const move = method === '_removeElements' ? -count : count;\n      moveNumericKeys(_hiddenIndices, start, move);\n    }\n  }\n  _getUniformDataChanges() {\n    const _dataChanges = this._dataChanges;\n    if (!_dataChanges || !_dataChanges.length) {\n      return;\n    }\n    this._dataChanges = [];\n    const datasetCount = this.data.datasets.length;\n    const makeSet = (idx) => new Set(\n      _dataChanges\n        .filter(c => c[0] === idx)\n        .map((c, i) => i + ',' + c.splice(1).join(','))\n    );\n    const changeSet = makeSet(0);\n    for (let i = 1; i < datasetCount; i++) {\n      if (!setsEqual(changeSet, makeSet(i))) {\n        return;\n      }\n    }\n    return Array.from(changeSet)\n      .map(c => c.split(','))\n      .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n  }\n  _updateLayout(minPadding) {\n    if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n      return;\n    }\n    layouts.update(this, this.width, this.height, minPadding);\n    const area = this.chartArea;\n    const noArea = area.width <= 0 || area.height <= 0;\n    this._layers = [];\n    each(this.boxes, (box) => {\n      if (noArea && box.position === 'chartArea') {\n        return;\n      }\n      if (box.configure) {\n        box.configure();\n      }\n      this._layers.push(...box._layers());\n    }, this);\n    this._layers.forEach((item, index) => {\n      item._idx = index;\n    });\n    this.notifyPlugins('afterLayout');\n  }\n  _updateDatasets(mode) {\n    if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n      return;\n    }\n    for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n      this.getDatasetMeta(i).controller.configure();\n    }\n    for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n      this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n    }\n    this.notifyPlugins('afterDatasetsUpdate', {mode});\n  }\n  _updateDataset(index, mode) {\n    const meta = this.getDatasetMeta(index);\n    const args = {meta, index, mode, cancelable: true};\n    if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n      return;\n    }\n    meta.controller._update(mode);\n    args.cancelable = false;\n    this.notifyPlugins('afterDatasetUpdate', args);\n  }\n  render() {\n    if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n      return;\n    }\n    if (animator.has(this)) {\n      if (this.attached && !animator.running(this)) {\n        animator.start(this);\n      }\n    } else {\n      this.draw();\n      onAnimationsComplete({chart: this});\n    }\n  }\n  draw() {\n    let i;\n    if (this._resizeBeforeDraw) {\n      const {width, height} = this._resizeBeforeDraw;\n      this._resize(width, height);\n      this._resizeBeforeDraw = null;\n    }\n    this.clear();\n    if (this.width <= 0 || this.height <= 0) {\n      return;\n    }\n    if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n      return;\n    }\n    const layers = this._layers;\n    for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n      layers[i].draw(this.chartArea);\n    }\n    this._drawDatasets();\n    for (; i < layers.length; ++i) {\n      layers[i].draw(this.chartArea);\n    }\n    this.notifyPlugins('afterDraw');\n  }\n  _getSortedDatasetMetas(filterVisible) {\n    const metasets = this._sortedMetasets;\n    const result = [];\n    let i, ilen;\n    for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n      const meta = metasets[i];\n      if (!filterVisible || meta.visible) {\n        result.push(meta);\n      }\n    }\n    return result;\n  }\n  getSortedVisibleDatasetMetas() {\n    return this._getSortedDatasetMetas(true);\n  }\n  _drawDatasets() {\n    if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n      return;\n    }\n    const metasets = this.getSortedVisibleDatasetMetas();\n    for (let i = metasets.length - 1; i >= 0; --i) {\n      this._drawDataset(metasets[i]);\n    }\n    this.notifyPlugins('afterDatasetsDraw');\n  }\n  _drawDataset(meta) {\n    const ctx = this.ctx;\n    const clip = meta._clip;\n    const useClip = !clip.disabled;\n    const area = this.chartArea;\n    const args = {\n      meta,\n      index: meta.index,\n      cancelable: true\n    };\n    if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n      return;\n    }\n    if (useClip) {\n      clipArea(ctx, {\n        left: clip.left === false ? 0 : area.left - clip.left,\n        right: clip.right === false ? this.width : area.right + clip.right,\n        top: clip.top === false ? 0 : area.top - clip.top,\n        bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n      });\n    }\n    meta.controller.draw();\n    if (useClip) {\n      unclipArea(ctx);\n    }\n    args.cancelable = false;\n    this.notifyPlugins('afterDatasetDraw', args);\n  }\n  isPointInArea(point) {\n    return _isPointInArea(point, this.chartArea, this._minPadding);\n  }\n  getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n    const method = Interaction.modes[mode];\n    if (typeof method === 'function') {\n      return method(this, e, options, useFinalPosition);\n    }\n    return [];\n  }\n  getDatasetMeta(datasetIndex) {\n    const dataset = this.data.datasets[datasetIndex];\n    const metasets = this._metasets;\n    let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n    if (!meta) {\n      meta = {\n        type: null,\n        data: [],\n        dataset: null,\n        controller: null,\n        hidden: null,\n        xAxisID: null,\n        yAxisID: null,\n        order: dataset && dataset.order || 0,\n        index: datasetIndex,\n        _dataset: dataset,\n        _parsed: [],\n        _sorted: false\n      };\n      metasets.push(meta);\n    }\n    return meta;\n  }\n  getContext() {\n    return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n  }\n  getVisibleDatasetCount() {\n    return this.getSortedVisibleDatasetMetas().length;\n  }\n  isDatasetVisible(datasetIndex) {\n    const dataset = this.data.datasets[datasetIndex];\n    if (!dataset) {\n      return false;\n    }\n    const meta = this.getDatasetMeta(datasetIndex);\n    return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n  }\n  setDatasetVisibility(datasetIndex, visible) {\n    const meta = this.getDatasetMeta(datasetIndex);\n    meta.hidden = !visible;\n  }\n  toggleDataVisibility(index) {\n    this._hiddenIndices[index] = !this._hiddenIndices[index];\n  }\n  getDataVisibility(index) {\n    return !this._hiddenIndices[index];\n  }\n  _updateVisibility(datasetIndex, dataIndex, visible) {\n    const mode = visible ? 'show' : 'hide';\n    const meta = this.getDatasetMeta(datasetIndex);\n    const anims = meta.controller._resolveAnimations(undefined, mode);\n    if (defined(dataIndex)) {\n      meta.data[dataIndex].hidden = !visible;\n      this.update();\n    } else {\n      this.setDatasetVisibility(datasetIndex, visible);\n      anims.update(meta, {visible});\n      this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n    }\n  }\n  hide(datasetIndex, dataIndex) {\n    this._updateVisibility(datasetIndex, dataIndex, false);\n  }\n  show(datasetIndex, dataIndex) {\n    this._updateVisibility(datasetIndex, dataIndex, true);\n  }\n  _destroyDatasetMeta(datasetIndex) {\n    const meta = this._metasets[datasetIndex];\n    if (meta && meta.controller) {\n      meta.controller._destroy();\n    }\n    delete this._metasets[datasetIndex];\n  }\n  _stop() {\n    let i, ilen;\n    this.stop();\n    animator.remove(this);\n    for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n      this._destroyDatasetMeta(i);\n    }\n  }\n  destroy() {\n    this.notifyPlugins('beforeDestroy');\n    const {canvas, ctx} = this;\n    this._stop();\n    this.config.clearCache();\n    if (canvas) {\n      this.unbindEvents();\n      clearCanvas(canvas, ctx);\n      this.platform.releaseContext(ctx);\n      this.canvas = null;\n      this.ctx = null;\n    }\n    this.notifyPlugins('destroy');\n    delete instances[this.id];\n    this.notifyPlugins('afterDestroy');\n  }\n  toBase64Image(...args) {\n    return this.canvas.toDataURL(...args);\n  }\n  bindEvents() {\n    this.bindUserEvents();\n    if (this.options.responsive) {\n      this.bindResponsiveEvents();\n    } else {\n      this.attached = true;\n    }\n  }\n  bindUserEvents() {\n    const listeners = this._listeners;\n    const platform = this.platform;\n    const _add = (type, listener) => {\n      platform.addEventListener(this, type, listener);\n      listeners[type] = listener;\n    };\n    const listener = (e, x, y) => {\n      e.offsetX = x;\n      e.offsetY = y;\n      this._eventHandler(e);\n    };\n    each(this.options.events, (type) => _add(type, listener));\n  }\n  bindResponsiveEvents() {\n    if (!this._responsiveListeners) {\n      this._responsiveListeners = {};\n    }\n    const listeners = this._responsiveListeners;\n    const platform = this.platform;\n    const _add = (type, listener) => {\n      platform.addEventListener(this, type, listener);\n      listeners[type] = listener;\n    };\n    const _remove = (type, listener) => {\n      if (listeners[type]) {\n        platform.removeEventListener(this, type, listener);\n        delete listeners[type];\n      }\n    };\n    const listener = (width, height) => {\n      if (this.canvas) {\n        this.resize(width, height);\n      }\n    };\n    let detached;\n    const attached = () => {\n      _remove('attach', attached);\n      this.attached = true;\n      this.resize();\n      _add('resize', listener);\n      _add('detach', detached);\n    };\n    detached = () => {\n      this.attached = false;\n      _remove('resize', listener);\n      this._stop();\n      this._resize(0, 0);\n      _add('attach', attached);\n    };\n    if (platform.isAttached(this.canvas)) {\n      attached();\n    } else {\n      detached();\n    }\n  }\n  unbindEvents() {\n    each(this._listeners, (listener, type) => {\n      this.platform.removeEventListener(this, type, listener);\n    });\n    this._listeners = {};\n    each(this._responsiveListeners, (listener, type) => {\n      this.platform.removeEventListener(this, type, listener);\n    });\n    this._responsiveListeners = undefined;\n  }\n  updateHoverStyle(items, mode, enabled) {\n    const prefix = enabled ? 'set' : 'remove';\n    let meta, item, i, ilen;\n    if (mode === 'dataset') {\n      meta = this.getDatasetMeta(items[0].datasetIndex);\n      meta.controller['_' + prefix + 'DatasetHoverStyle']();\n    }\n    for (i = 0, ilen = items.length; i < ilen; ++i) {\n      item = items[i];\n      const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n      if (controller) {\n        controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n      }\n    }\n  }\n  getActiveElements() {\n    return this._active || [];\n  }\n  setActiveElements(activeElements) {\n    const lastActive = this._active || [];\n    const active = activeElements.map(({datasetIndex, index}) => {\n      const meta = this.getDatasetMeta(datasetIndex);\n      if (!meta) {\n        throw new Error('No dataset found at index ' + datasetIndex);\n      }\n      return {\n        datasetIndex,\n        element: meta.data[index],\n        index,\n      };\n    });\n    const changed = !_elementsEqual(active, lastActive);\n    if (changed) {\n      this._active = active;\n      this._lastEvent = null;\n      this._updateHoverStyles(active, lastActive);\n    }\n  }\n  notifyPlugins(hook, args, filter) {\n    return this._plugins.notify(this, hook, args, filter);\n  }\n  _updateHoverStyles(active, lastActive, replay) {\n    const hoverOptions = this.options.hover;\n    const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n    const deactivated = diff(lastActive, active);\n    const activated = replay ? active : diff(active, lastActive);\n    if (deactivated.length) {\n      this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n    }\n    if (activated.length && hoverOptions.mode) {\n      this.updateHoverStyle(activated, hoverOptions.mode, true);\n    }\n  }\n  _eventHandler(e, replay) {\n    const args = {\n      event: e,\n      replay,\n      cancelable: true,\n      inChartArea: this.isPointInArea(e)\n    };\n    const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n    if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n      return;\n    }\n    const changed = this._handleEvent(e, replay, args.inChartArea);\n    args.cancelable = false;\n    this.notifyPlugins('afterEvent', args, eventFilter);\n    if (changed || args.changed) {\n      this.render();\n    }\n    return this;\n  }\n  _handleEvent(e, replay, inChartArea) {\n    const {_active: lastActive = [], options} = this;\n    const useFinalPosition = replay;\n    const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n    const isClick = _isClickEvent(e);\n    const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n    if (inChartArea) {\n      this._lastEvent = null;\n      callback(options.onHover, [e, active, this], this);\n      if (isClick) {\n        callback(options.onClick, [e, active, this], this);\n      }\n    }\n    const changed = !_elementsEqual(active, lastActive);\n    if (changed || replay) {\n      this._active = active;\n      this._updateHoverStyles(active, lastActive, replay);\n    }\n    this._lastEvent = lastEvent;\n    return changed;\n  }\n  _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n    if (e.type === 'mouseout') {\n      return [];\n    }\n    if (!inChartArea) {\n      return lastActive;\n    }\n    const hoverOptions = this.options.hover;\n    return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n  }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n  defaults: {\n    enumerable,\n    value: defaults\n  },\n  instances: {\n    enumerable,\n    value: instances\n  },\n  overrides: {\n    enumerable,\n    value: overrides\n  },\n  registry: {\n    enumerable,\n    value: registry\n  },\n  version: {\n    enumerable,\n    value: version\n  },\n  getChart: {\n    enumerable,\n    value: getChart\n  },\n  register: {\n    enumerable,\n    value: (...items) => {\n      registry.add(...items);\n      invalidatePlugins();\n    }\n  },\n  unregister: {\n    enumerable,\n    value: (...items) => {\n      registry.remove(...items);\n      invalidatePlugins();\n    }\n  }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n  const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n  let angleMargin = pixelMargin / outerRadius;\n  ctx.beginPath();\n  ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n  if (innerRadius > pixelMargin) {\n    angleMargin = pixelMargin / innerRadius;\n    ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n  } else {\n    ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n  }\n  ctx.closePath();\n  ctx.clip();\n}\nfunction toRadiusCorners(value) {\n  return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n  const o = toRadiusCorners(arc.options.borderRadius);\n  const halfThickness = (outerRadius - innerRadius) / 2;\n  const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n  const computeOuterLimit = (val) => {\n    const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n    return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n  };\n  return {\n    outerStart: computeOuterLimit(o.outerStart),\n    outerEnd: computeOuterLimit(o.outerEnd),\n    innerStart: _limitValue(o.innerStart, 0, innerLimit),\n    innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n  };\n}\nfunction rThetaToXY(r, theta, x, y) {\n  return {\n    x: x + r * Math.cos(theta),\n    y: y + r * Math.sin(theta),\n  };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n  const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n  const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n  const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n  let spacingOffset = 0;\n  const alpha = end - start;\n  if (spacing) {\n    const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n    const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n    const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n    const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n    spacingOffset = (alpha - adjustedAngle) / 2;\n  }\n  const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n  const angleOffset = (alpha - beta) / 2;\n  const startAngle = start + angleOffset + spacingOffset;\n  const endAngle = end - angleOffset - spacingOffset;\n  const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n  const outerStartAdjustedRadius = outerRadius - outerStart;\n  const outerEndAdjustedRadius = outerRadius - outerEnd;\n  const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n  const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n  const innerStartAdjustedRadius = innerRadius + innerStart;\n  const innerEndAdjustedRadius = innerRadius + innerEnd;\n  const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n  const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n  ctx.beginPath();\n  if (circular) {\n    ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n    if (outerEnd > 0) {\n      const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n    }\n    const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n    ctx.lineTo(p4.x, p4.y);\n    if (innerEnd > 0) {\n      const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n    }\n    ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n    if (innerStart > 0) {\n      const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n    }\n    const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n    ctx.lineTo(p8.x, p8.y);\n    if (outerStart > 0) {\n      const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n    }\n  } else {\n    ctx.moveTo(x, y);\n    const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n    const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n    ctx.lineTo(outerStartX, outerStartY);\n    const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n    const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n    ctx.lineTo(outerEndX, outerEndY);\n  }\n  ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n  const {fullCircles, startAngle, circumference} = element;\n  let endAngle = element.endAngle;\n  if (fullCircles) {\n    pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n    for (let i = 0; i < fullCircles; ++i) {\n      ctx.fill();\n    }\n    if (!isNaN(circumference)) {\n      endAngle = startAngle + circumference % TAU;\n      if (circumference % TAU === 0) {\n        endAngle += TAU;\n      }\n    }\n  }\n  pathArc(ctx, element, offset, spacing, endAngle, circular);\n  ctx.fill();\n  return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n  const {x, y, startAngle, pixelMargin, fullCircles} = element;\n  const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n  const innerRadius = element.innerRadius + pixelMargin;\n  let i;\n  if (inner) {\n    clipArc(ctx, element, startAngle + TAU);\n  }\n  ctx.beginPath();\n  ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n  for (i = 0; i < fullCircles; ++i) {\n    ctx.stroke();\n  }\n  ctx.beginPath();\n  ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n  for (i = 0; i < fullCircles; ++i) {\n    ctx.stroke();\n  }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n  const {options} = element;\n  const {borderWidth, borderJoinStyle} = options;\n  const inner = options.borderAlign === 'inner';\n  if (!borderWidth) {\n    return;\n  }\n  if (inner) {\n    ctx.lineWidth = borderWidth * 2;\n    ctx.lineJoin = borderJoinStyle || 'round';\n  } else {\n    ctx.lineWidth = borderWidth;\n    ctx.lineJoin = borderJoinStyle || 'bevel';\n  }\n  if (element.fullCircles) {\n    drawFullCircleBorders(ctx, element, inner);\n  }\n  if (inner) {\n    clipArc(ctx, element, endAngle);\n  }\n  pathArc(ctx, element, offset, spacing, endAngle, circular);\n  ctx.stroke();\n}\nclass ArcElement extends Element {\n  constructor(cfg) {\n    super();\n    this.options = undefined;\n    this.circumference = undefined;\n    this.startAngle = undefined;\n    this.endAngle = undefined;\n    this.innerRadius = undefined;\n    this.outerRadius = undefined;\n    this.pixelMargin = 0;\n    this.fullCircles = 0;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  inRange(chartX, chartY, useFinalPosition) {\n    const point = this.getProps(['x', 'y'], useFinalPosition);\n    const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n    const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n      'startAngle',\n      'endAngle',\n      'innerRadius',\n      'outerRadius',\n      'circumference'\n    ], useFinalPosition);\n    const rAdjust = this.options.spacing / 2;\n    const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n    const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n    const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n    return (betweenAngles && withinRadius);\n  }\n  getCenterPoint(useFinalPosition) {\n    const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n      'x',\n      'y',\n      'startAngle',\n      'endAngle',\n      'innerRadius',\n      'outerRadius',\n      'circumference',\n    ], useFinalPosition);\n    const {offset, spacing} = this.options;\n    const halfAngle = (startAngle + endAngle) / 2;\n    const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n    return {\n      x: x + Math.cos(halfAngle) * halfRadius,\n      y: y + Math.sin(halfAngle) * halfRadius\n    };\n  }\n  tooltipPosition(useFinalPosition) {\n    return this.getCenterPoint(useFinalPosition);\n  }\n  draw(ctx) {\n    const {options, circumference} = this;\n    const offset = (options.offset || 0) / 2;\n    const spacing = (options.spacing || 0) / 2;\n    const circular = options.circular;\n    this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n    this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n    if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n      return;\n    }\n    ctx.save();\n    let radiusOffset = 0;\n    if (offset) {\n      radiusOffset = offset / 2;\n      const halfAngle = (this.startAngle + this.endAngle) / 2;\n      ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n      if (this.circumference >= PI) {\n        radiusOffset = offset;\n      }\n    }\n    ctx.fillStyle = options.backgroundColor;\n    ctx.strokeStyle = options.borderColor;\n    const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n    drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n    ctx.restore();\n  }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n  borderAlign: 'center',\n  borderColor: '#fff',\n  borderJoinStyle: undefined,\n  borderRadius: 0,\n  borderWidth: 2,\n  offset: 0,\n  spacing: 0,\n  angle: undefined,\n  circular: true,\n};\nArcElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n  ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n  ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n  ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n  ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n  ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n  ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n  ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n  if (options.stepped) {\n    return _steppedLineTo;\n  }\n  if (options.tension || options.cubicInterpolationMode === 'monotone') {\n    return _bezierCurveTo;\n  }\n  return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n  const count = points.length;\n  const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n  const {start: segmentStart, end: segmentEnd} = segment;\n  const start = Math.max(paramsStart, segmentStart);\n  const end = Math.min(paramsEnd, segmentEnd);\n  const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n  return {\n    count,\n    start,\n    loop: segment.loop,\n    ilen: end < start && !outside ? count + end - start : end - start\n  };\n}\nfunction pathSegment(ctx, line, segment, params) {\n  const {points, options} = line;\n  const {count, start, loop, ilen} = pathVars(points, segment, params);\n  const lineMethod = getLineMethod(options);\n  let {move = true, reverse} = params || {};\n  let i, point, prev;\n  for (i = 0; i <= ilen; ++i) {\n    point = points[(start + (reverse ? ilen - i : i)) % count];\n    if (point.skip) {\n      continue;\n    } else if (move) {\n      ctx.moveTo(point.x, point.y);\n      move = false;\n    } else {\n      lineMethod(ctx, prev, point, reverse, options.stepped);\n    }\n    prev = point;\n  }\n  if (loop) {\n    point = points[(start + (reverse ? ilen : 0)) % count];\n    lineMethod(ctx, prev, point, reverse, options.stepped);\n  }\n  return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n  const points = line.points;\n  const {count, start, ilen} = pathVars(points, segment, params);\n  const {move = true, reverse} = params || {};\n  let avgX = 0;\n  let countX = 0;\n  let i, point, prevX, minY, maxY, lastY;\n  const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n  const drawX = () => {\n    if (minY !== maxY) {\n      ctx.lineTo(avgX, maxY);\n      ctx.lineTo(avgX, minY);\n      ctx.lineTo(avgX, lastY);\n    }\n  };\n  if (move) {\n    point = points[pointIndex(0)];\n    ctx.moveTo(point.x, point.y);\n  }\n  for (i = 0; i <= ilen; ++i) {\n    point = points[pointIndex(i)];\n    if (point.skip) {\n      continue;\n    }\n    const x = point.x;\n    const y = point.y;\n    const truncX = x | 0;\n    if (truncX === prevX) {\n      if (y < minY) {\n        minY = y;\n      } else if (y > maxY) {\n        maxY = y;\n      }\n      avgX = (countX * avgX + x) / ++countX;\n    } else {\n      drawX();\n      ctx.lineTo(x, y);\n      prevX = truncX;\n      countX = 0;\n      minY = maxY = y;\n    }\n    lastY = y;\n  }\n  drawX();\n}\nfunction _getSegmentMethod(line) {\n  const opts = line.options;\n  const borderDash = opts.borderDash && opts.borderDash.length;\n  const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n  return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n  if (options.stepped) {\n    return _steppedInterpolation;\n  }\n  if (options.tension || options.cubicInterpolationMode === 'monotone') {\n    return _bezierInterpolation;\n  }\n  return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n  let path = line._path;\n  if (!path) {\n    path = line._path = new Path2D();\n    if (line.path(path, start, count)) {\n      path.closePath();\n    }\n  }\n  setStyle(ctx, line.options);\n  ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n  const {segments, options} = line;\n  const segmentMethod = _getSegmentMethod(line);\n  for (const segment of segments) {\n    setStyle(ctx, options, segment.style);\n    ctx.beginPath();\n    if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n      ctx.closePath();\n    }\n    ctx.stroke();\n  }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n  if (usePath2D && !line.options.segment) {\n    strokePathWithCache(ctx, line, start, count);\n  } else {\n    strokePathDirect(ctx, line, start, count);\n  }\n}\nclass LineElement extends Element {\n  constructor(cfg) {\n    super();\n    this.animated = true;\n    this.options = undefined;\n    this._chart = undefined;\n    this._loop = undefined;\n    this._fullLoop = undefined;\n    this._path = undefined;\n    this._points = undefined;\n    this._segments = undefined;\n    this._decimated = false;\n    this._pointsUpdated = false;\n    this._datasetIndex = undefined;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  updateControlPoints(chartArea, indexAxis) {\n    const options = this.options;\n    if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n      const loop = options.spanGaps ? this._loop : this._fullLoop;\n      _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n      this._pointsUpdated = true;\n    }\n  }\n  set points(points) {\n    this._points = points;\n    delete this._segments;\n    delete this._path;\n    this._pointsUpdated = false;\n  }\n  get points() {\n    return this._points;\n  }\n  get segments() {\n    return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n  }\n  first() {\n    const segments = this.segments;\n    const points = this.points;\n    return segments.length && points[segments[0].start];\n  }\n  last() {\n    const segments = this.segments;\n    const points = this.points;\n    const count = segments.length;\n    return count && points[segments[count - 1].end];\n  }\n  interpolate(point, property) {\n    const options = this.options;\n    const value = point[property];\n    const points = this.points;\n    const segments = _boundSegments(this, {property, start: value, end: value});\n    if (!segments.length) {\n      return;\n    }\n    const result = [];\n    const _interpolate = _getInterpolationMethod(options);\n    let i, ilen;\n    for (i = 0, ilen = segments.length; i < ilen; ++i) {\n      const {start, end} = segments[i];\n      const p1 = points[start];\n      const p2 = points[end];\n      if (p1 === p2) {\n        result.push(p1);\n        continue;\n      }\n      const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n      const interpolated = _interpolate(p1, p2, t, options.stepped);\n      interpolated[property] = point[property];\n      result.push(interpolated);\n    }\n    return result.length === 1 ? result[0] : result;\n  }\n  pathSegment(ctx, segment, params) {\n    const segmentMethod = _getSegmentMethod(this);\n    return segmentMethod(ctx, this, segment, params);\n  }\n  path(ctx, start, count) {\n    const segments = this.segments;\n    const segmentMethod = _getSegmentMethod(this);\n    let loop = this._loop;\n    start = start || 0;\n    count = count || (this.points.length - start);\n    for (const segment of segments) {\n      loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n    }\n    return !!loop;\n  }\n  draw(ctx, chartArea, start, count) {\n    const options = this.options || {};\n    const points = this.points || [];\n    if (points.length && options.borderWidth) {\n      ctx.save();\n      draw(ctx, this, start, count);\n      ctx.restore();\n    }\n    if (this.animated) {\n      this._pointsUpdated = false;\n      this._path = undefined;\n    }\n  }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n  borderCapStyle: 'butt',\n  borderDash: [],\n  borderDashOffset: 0,\n  borderJoinStyle: 'miter',\n  borderWidth: 3,\n  capBezierPoints: true,\n  cubicInterpolationMode: 'default',\n  fill: false,\n  spanGaps: false,\n  stepped: false,\n  tension: 0,\n};\nLineElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor',\n  borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n  _scriptable: true,\n  _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n  const options = el.options;\n  const {[axis]: value} = el.getProps([axis], useFinalPosition);\n  return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n  constructor(cfg) {\n    super();\n    this.options = undefined;\n    this.parsed = undefined;\n    this.skip = undefined;\n    this.stop = undefined;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  inRange(mouseX, mouseY, useFinalPosition) {\n    const options = this.options;\n    const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n    return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n  }\n  inXRange(mouseX, useFinalPosition) {\n    return inRange$1(this, mouseX, 'x', useFinalPosition);\n  }\n  inYRange(mouseY, useFinalPosition) {\n    return inRange$1(this, mouseY, 'y', useFinalPosition);\n  }\n  getCenterPoint(useFinalPosition) {\n    const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n    return {x, y};\n  }\n  size(options) {\n    options = options || this.options || {};\n    let radius = options.radius || 0;\n    radius = Math.max(radius, radius && options.hoverRadius || 0);\n    const borderWidth = radius && options.borderWidth || 0;\n    return (radius + borderWidth) * 2;\n  }\n  draw(ctx, area) {\n    const options = this.options;\n    if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n      return;\n    }\n    ctx.strokeStyle = options.borderColor;\n    ctx.lineWidth = options.borderWidth;\n    ctx.fillStyle = options.backgroundColor;\n    drawPoint(ctx, options, this.x, this.y);\n  }\n  getRange() {\n    const options = this.options || {};\n    return options.radius + options.hitRadius;\n  }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n  borderWidth: 1,\n  hitRadius: 1,\n  hoverBorderWidth: 1,\n  hoverRadius: 4,\n  pointStyle: 'circle',\n  radius: 3,\n  rotation: 0\n};\nPointElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor',\n  borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n  const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n  let left, right, top, bottom, half;\n  if (bar.horizontal) {\n    half = height / 2;\n    left = Math.min(x, base);\n    right = Math.max(x, base);\n    top = y - half;\n    bottom = y + half;\n  } else {\n    half = width / 2;\n    left = x - half;\n    right = x + half;\n    top = Math.min(y, base);\n    bottom = Math.max(y, base);\n  }\n  return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n  return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n  const value = bar.options.borderWidth;\n  const skip = bar.borderSkipped;\n  const o = toTRBL(value);\n  return {\n    t: skipOrLimit(skip.top, o.top, 0, maxH),\n    r: skipOrLimit(skip.right, o.right, 0, maxW),\n    b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n    l: skipOrLimit(skip.left, o.left, 0, maxW)\n  };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n  const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n  const value = bar.options.borderRadius;\n  const o = toTRBLCorners(value);\n  const maxR = Math.min(maxW, maxH);\n  const skip = bar.borderSkipped;\n  const enableBorder = enableBorderRadius || isObject(value);\n  return {\n    topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n    topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n    bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n    bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n  };\n}\nfunction boundingRects(bar) {\n  const bounds = getBarBounds(bar);\n  const width = bounds.right - bounds.left;\n  const height = bounds.bottom - bounds.top;\n  const border = parseBorderWidth(bar, width / 2, height / 2);\n  const radius = parseBorderRadius(bar, width / 2, height / 2);\n  return {\n    outer: {\n      x: bounds.left,\n      y: bounds.top,\n      w: width,\n      h: height,\n      radius\n    },\n    inner: {\n      x: bounds.left + border.l,\n      y: bounds.top + border.t,\n      w: width - border.l - border.r,\n      h: height - border.t - border.b,\n      radius: {\n        topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n        topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n        bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n        bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n      }\n    }\n  };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n  const skipX = x === null;\n  const skipY = y === null;\n  const skipBoth = skipX && skipY;\n  const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n  return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n  return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n  ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n  const x = rect.x !== refRect.x ? -amount : 0;\n  const y = rect.y !== refRect.y ? -amount : 0;\n  const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n  const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n  return {\n    x: rect.x + x,\n    y: rect.y + y,\n    w: rect.w + w,\n    h: rect.h + h,\n    radius: rect.radius\n  };\n}\nclass BarElement extends Element {\n  constructor(cfg) {\n    super();\n    this.options = undefined;\n    this.horizontal = undefined;\n    this.base = undefined;\n    this.width = undefined;\n    this.height = undefined;\n    this.inflateAmount = undefined;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  draw(ctx) {\n    const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n    const {inner, outer} = boundingRects(this);\n    const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n    ctx.save();\n    if (outer.w !== inner.w || outer.h !== inner.h) {\n      ctx.beginPath();\n      addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n      ctx.clip();\n      addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n      ctx.fillStyle = borderColor;\n      ctx.fill('evenodd');\n    }\n    ctx.beginPath();\n    addRectPath(ctx, inflateRect(inner, inflateAmount));\n    ctx.fillStyle = backgroundColor;\n    ctx.fill();\n    ctx.restore();\n  }\n  inRange(mouseX, mouseY, useFinalPosition) {\n    return inRange(this, mouseX, mouseY, useFinalPosition);\n  }\n  inXRange(mouseX, useFinalPosition) {\n    return inRange(this, mouseX, null, useFinalPosition);\n  }\n  inYRange(mouseY, useFinalPosition) {\n    return inRange(this, null, mouseY, useFinalPosition);\n  }\n  getCenterPoint(useFinalPosition) {\n    const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n    return {\n      x: horizontal ? (x + base) / 2 : x,\n      y: horizontal ? y : (y + base) / 2\n    };\n  }\n  getRange(axis) {\n    return axis === 'x' ? this.width / 2 : this.height / 2;\n  }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n  borderSkipped: 'start',\n  borderWidth: 0,\n  borderRadius: 0,\n  inflateAmount: 'auto',\n  pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor',\n  borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n  const samples = options.samples || availableWidth;\n  if (samples >= count) {\n    return data.slice(start, start + count);\n  }\n  const decimated = [];\n  const bucketWidth = (count - 2) / (samples - 2);\n  let sampledIndex = 0;\n  const endIndex = start + count - 1;\n  let a = start;\n  let i, maxAreaPoint, maxArea, area, nextA;\n  decimated[sampledIndex++] = data[a];\n  for (i = 0; i < samples - 2; i++) {\n    let avgX = 0;\n    let avgY = 0;\n    let j;\n    const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n    const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n    const avgRangeLength = avgRangeEnd - avgRangeStart;\n    for (j = avgRangeStart; j < avgRangeEnd; j++) {\n      avgX += data[j].x;\n      avgY += data[j].y;\n    }\n    avgX /= avgRangeLength;\n    avgY /= avgRangeLength;\n    const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n    const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n    const {x: pointAx, y: pointAy} = data[a];\n    maxArea = area = -1;\n    for (j = rangeOffs; j < rangeTo; j++) {\n      area = 0.5 * Math.abs(\n        (pointAx - avgX) * (data[j].y - pointAy) -\n        (pointAx - data[j].x) * (avgY - pointAy)\n      );\n      if (area > maxArea) {\n        maxArea = area;\n        maxAreaPoint = data[j];\n        nextA = j;\n      }\n    }\n    decimated[sampledIndex++] = maxAreaPoint;\n    a = nextA;\n  }\n  decimated[sampledIndex++] = data[endIndex];\n  return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n  let avgX = 0;\n  let countX = 0;\n  let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n  const decimated = [];\n  const endIndex = start + count - 1;\n  const xMin = data[start].x;\n  const xMax = data[endIndex].x;\n  const dx = xMax - xMin;\n  for (i = start; i < start + count; ++i) {\n    point = data[i];\n    x = (point.x - xMin) / dx * availableWidth;\n    y = point.y;\n    const truncX = x | 0;\n    if (truncX === prevX) {\n      if (y < minY) {\n        minY = y;\n        minIndex = i;\n      } else if (y > maxY) {\n        maxY = y;\n        maxIndex = i;\n      }\n      avgX = (countX * avgX + point.x) / ++countX;\n    } else {\n      const lastIndex = i - 1;\n      if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n        const intermediateIndex1 = Math.min(minIndex, maxIndex);\n        const intermediateIndex2 = Math.max(minIndex, maxIndex);\n        if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n          decimated.push({\n            ...data[intermediateIndex1],\n            x: avgX,\n          });\n        }\n        if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n          decimated.push({\n            ...data[intermediateIndex2],\n            x: avgX\n          });\n        }\n      }\n      if (i > 0 && lastIndex !== startIndex) {\n        decimated.push(data[lastIndex]);\n      }\n      decimated.push(point);\n      prevX = truncX;\n      countX = 0;\n      minY = maxY = y;\n      minIndex = maxIndex = startIndex = i;\n    }\n  }\n  return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n  if (dataset._decimated) {\n    const data = dataset._data;\n    delete dataset._decimated;\n    delete dataset._data;\n    Object.defineProperty(dataset, 'data', {value: data});\n  }\n}\nfunction cleanDecimatedData(chart) {\n  chart.data.datasets.forEach((dataset) => {\n    cleanDecimatedDataset(dataset);\n  });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n  const pointCount = points.length;\n  let start = 0;\n  let count;\n  const {iScale} = meta;\n  const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n  if (minDefined) {\n    start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n  }\n  if (maxDefined) {\n    count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n  } else {\n    count = pointCount - start;\n  }\n  return {start, count};\n}\nvar plugin_decimation = {\n  id: 'decimation',\n  defaults: {\n    algorithm: 'min-max',\n    enabled: false,\n  },\n  beforeElementsUpdate: (chart, args, options) => {\n    if (!options.enabled) {\n      cleanDecimatedData(chart);\n      return;\n    }\n    const availableWidth = chart.width;\n    chart.data.datasets.forEach((dataset, datasetIndex) => {\n      const {_data, indexAxis} = dataset;\n      const meta = chart.getDatasetMeta(datasetIndex);\n      const data = _data || dataset.data;\n      if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n        return;\n      }\n      if (!meta.controller.supportsDecimation) {\n        return;\n      }\n      const xAxis = chart.scales[meta.xAxisID];\n      if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n        return;\n      }\n      if (chart.options.parsing) {\n        return;\n      }\n      let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n      const threshold = options.threshold || 4 * availableWidth;\n      if (count <= threshold) {\n        cleanDecimatedDataset(dataset);\n        return;\n      }\n      if (isNullOrUndef(_data)) {\n        dataset._data = data;\n        delete dataset.data;\n        Object.defineProperty(dataset, 'data', {\n          configurable: true,\n          enumerable: true,\n          get: function() {\n            return this._decimated;\n          },\n          set: function(d) {\n            this._data = d;\n          }\n        });\n      }\n      let decimated;\n      switch (options.algorithm) {\n      case 'lttb':\n        decimated = lttbDecimation(data, start, count, availableWidth, options);\n        break;\n      case 'min-max':\n        decimated = minMaxDecimation(data, start, count, availableWidth);\n        break;\n      default:\n        throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n      }\n      dataset._decimated = decimated;\n    });\n  },\n  destroy(chart) {\n    cleanDecimatedData(chart);\n  }\n};\n\nfunction _segments(line, target, property) {\n  const segments = line.segments;\n  const points = line.points;\n  const tpoints = target.points;\n  const parts = [];\n  for (const segment of segments) {\n    let {start, end} = segment;\n    end = _findSegmentEnd(start, end, points);\n    const bounds = _getBounds(property, points[start], points[end], segment.loop);\n    if (!target.segments) {\n      parts.push({\n        source: segment,\n        target: bounds,\n        start: points[start],\n        end: points[end]\n      });\n      continue;\n    }\n    const targetSegments = _boundSegments(target, bounds);\n    for (const tgt of targetSegments) {\n      const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n      const fillSources = _boundSegment(segment, points, subBounds);\n      for (const fillSource of fillSources) {\n        parts.push({\n          source: fillSource,\n          target: tgt,\n          start: {\n            [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n          },\n          end: {\n            [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n          }\n        });\n      }\n    }\n  }\n  return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n  if (loop) {\n    return;\n  }\n  let start = first[property];\n  let end = last[property];\n  if (property === 'angle') {\n    start = _normalizeAngle(start);\n    end = _normalizeAngle(end);\n  }\n  return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n  const {x = null, y = null} = boundary || {};\n  const linePoints = line.points;\n  const points = [];\n  line.segments.forEach(({start, end}) => {\n    end = _findSegmentEnd(start, end, linePoints);\n    const first = linePoints[start];\n    const last = linePoints[end];\n    if (y !== null) {\n      points.push({x: first.x, y});\n      points.push({x: last.x, y});\n    } else if (x !== null) {\n      points.push({x, y: first.y});\n      points.push({x, y: last.y});\n    }\n  });\n  return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n  for (;end > start; end--) {\n    const point = points[end];\n    if (!isNaN(point.x) && !isNaN(point.y)) {\n      break;\n    }\n  }\n  return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n  if (a && b) {\n    return fn(a[prop], b[prop]);\n  }\n  return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n  let points = [];\n  let _loop = false;\n  if (isArray(boundary)) {\n    _loop = true;\n    points = boundary;\n  } else {\n    points = _pointsFromSegments(boundary, line);\n  }\n  return points.length ? new LineElement({\n    points,\n    options: {tension: 0},\n    _loop,\n    _fullLoop: _loop\n  }) : null;\n}\nfunction _shouldApplyFill(source) {\n  return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n  const source = sources[index];\n  let fill = source.fill;\n  const visited = [index];\n  let target;\n  if (!propagate) {\n    return fill;\n  }\n  while (fill !== false && visited.indexOf(fill) === -1) {\n    if (!isNumberFinite(fill)) {\n      return fill;\n    }\n    target = sources[fill];\n    if (!target) {\n      return false;\n    }\n    if (target.visible) {\n      return fill;\n    }\n    visited.push(fill);\n    fill = target.fill;\n  }\n  return false;\n}\nfunction _decodeFill(line, index, count) {\n  const fill = parseFillOption(line);\n  if (isObject(fill)) {\n    return isNaN(fill.value) ? false : fill;\n  }\n  let target = parseFloat(fill);\n  if (isNumberFinite(target) && Math.floor(target) === target) {\n    return decodeTargetIndex(fill[0], index, target, count);\n  }\n  return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n  if (firstCh === '-' || firstCh === '+') {\n    target = index + target;\n  }\n  if (target === index || target < 0 || target >= count) {\n    return false;\n  }\n  return target;\n}\nfunction _getTargetPixel(fill, scale) {\n  let pixel = null;\n  if (fill === 'start') {\n    pixel = scale.bottom;\n  } else if (fill === 'end') {\n    pixel = scale.top;\n  } else if (isObject(fill)) {\n    pixel = scale.getPixelForValue(fill.value);\n  } else if (scale.getBasePixel) {\n    pixel = scale.getBasePixel();\n  }\n  return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n  let value;\n  if (fill === 'start') {\n    value = startValue;\n  } else if (fill === 'end') {\n    value = scale.options.reverse ? scale.min : scale.max;\n  } else if (isObject(fill)) {\n    value = fill.value;\n  } else {\n    value = scale.getBaseValue();\n  }\n  return value;\n}\nfunction parseFillOption(line) {\n  const options = line.options;\n  const fillOption = options.fill;\n  let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n  if (fill === undefined) {\n    fill = !!options.backgroundColor;\n  }\n  if (fill === false || fill === null) {\n    return false;\n  }\n  if (fill === true) {\n    return 'origin';\n  }\n  return fill;\n}\n\nfunction _buildStackLine(source) {\n  const {scale, index, line} = source;\n  const points = [];\n  const segments = line.segments;\n  const sourcePoints = line.points;\n  const linesBelow = getLinesBelow(scale, index);\n  linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n  for (let i = 0; i < segments.length; i++) {\n    const segment = segments[i];\n    for (let j = segment.start; j <= segment.end; j++) {\n      addPointsBelow(points, sourcePoints[j], linesBelow);\n    }\n  }\n  return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n  const below = [];\n  const metas = scale.getMatchingVisibleMetas('line');\n  for (let i = 0; i < metas.length; i++) {\n    const meta = metas[i];\n    if (meta.index === index) {\n      break;\n    }\n    if (!meta.hidden) {\n      below.unshift(meta.dataset);\n    }\n  }\n  return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n  const postponed = [];\n  for (let j = 0; j < linesBelow.length; j++) {\n    const line = linesBelow[j];\n    const {first, last, point} = findPoint(line, sourcePoint, 'x');\n    if (!point || (first && last)) {\n      continue;\n    }\n    if (first) {\n      postponed.unshift(point);\n    } else {\n      points.push(point);\n      if (!last) {\n        break;\n      }\n    }\n  }\n  points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n  const point = line.interpolate(sourcePoint, property);\n  if (!point) {\n    return {};\n  }\n  const pointValue = point[property];\n  const segments = line.segments;\n  const linePoints = line.points;\n  let first = false;\n  let last = false;\n  for (let i = 0; i < segments.length; i++) {\n    const segment = segments[i];\n    const firstValue = linePoints[segment.start][property];\n    const lastValue = linePoints[segment.end][property];\n    if (_isBetween(pointValue, firstValue, lastValue)) {\n      first = pointValue === firstValue;\n      last = pointValue === lastValue;\n      break;\n    }\n  }\n  return {first, last, point};\n}\n\nclass simpleArc {\n  constructor(opts) {\n    this.x = opts.x;\n    this.y = opts.y;\n    this.radius = opts.radius;\n  }\n  pathSegment(ctx, bounds, opts) {\n    const {x, y, radius} = this;\n    bounds = bounds || {start: 0, end: TAU};\n    ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n    return !opts.bounds;\n  }\n  interpolate(point) {\n    const {x, y, radius} = this;\n    const angle = point.angle;\n    return {\n      x: x + Math.cos(angle) * radius,\n      y: y + Math.sin(angle) * radius,\n      angle\n    };\n  }\n}\n\nfunction _getTarget(source) {\n  const {chart, fill, line} = source;\n  if (isNumberFinite(fill)) {\n    return getLineByIndex(chart, fill);\n  }\n  if (fill === 'stack') {\n    return _buildStackLine(source);\n  }\n  if (fill === 'shape') {\n    return true;\n  }\n  const boundary = computeBoundary(source);\n  if (boundary instanceof simpleArc) {\n    return boundary;\n  }\n  return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n  const meta = chart.getDatasetMeta(index);\n  const visible = meta && chart.isDatasetVisible(index);\n  return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n  const scale = source.scale || {};\n  if (scale.getPointPositionForValue) {\n    return computeCircularBoundary(source);\n  }\n  return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n  const {scale = {}, fill} = source;\n  const pixel = _getTargetPixel(fill, scale);\n  if (isNumberFinite(pixel)) {\n    const horizontal = scale.isHorizontal();\n    return {\n      x: horizontal ? pixel : null,\n      y: horizontal ? null : pixel\n    };\n  }\n  return null;\n}\nfunction computeCircularBoundary(source) {\n  const {scale, fill} = source;\n  const options = scale.options;\n  const length = scale.getLabels().length;\n  const start = options.reverse ? scale.max : scale.min;\n  const value = _getTargetValue(fill, scale, start);\n  const target = [];\n  if (options.grid.circular) {\n    const center = scale.getPointPositionForValue(0, start);\n    return new simpleArc({\n      x: center.x,\n      y: center.y,\n      radius: scale.getDistanceFromCenterForValue(value)\n    });\n  }\n  for (let i = 0; i < length; ++i) {\n    target.push(scale.getPointPositionForValue(i, value));\n  }\n  return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n  const target = _getTarget(source);\n  const {line, scale, axis} = source;\n  const lineOpts = line.options;\n  const fillOption = lineOpts.fill;\n  const color = lineOpts.backgroundColor;\n  const {above = color, below = color} = fillOption || {};\n  if (target && line.points.length) {\n    clipArea(ctx, area);\n    doFill(ctx, {line, target, above, below, area, scale, axis});\n    unclipArea(ctx);\n  }\n}\nfunction doFill(ctx, cfg) {\n  const {line, target, above, below, area, scale} = cfg;\n  const property = line._loop ? 'angle' : cfg.axis;\n  ctx.save();\n  if (property === 'x' && below !== above) {\n    clipVertical(ctx, target, area.top);\n    fill(ctx, {line, target, color: above, scale, property});\n    ctx.restore();\n    ctx.save();\n    clipVertical(ctx, target, area.bottom);\n  }\n  fill(ctx, {line, target, color: below, scale, property});\n  ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n  const {segments, points} = target;\n  let first = true;\n  let lineLoop = false;\n  ctx.beginPath();\n  for (const segment of segments) {\n    const {start, end} = segment;\n    const firstPoint = points[start];\n    const lastPoint = points[_findSegmentEnd(start, end, points)];\n    if (first) {\n      ctx.moveTo(firstPoint.x, firstPoint.y);\n      first = false;\n    } else {\n      ctx.lineTo(firstPoint.x, clipY);\n      ctx.lineTo(firstPoint.x, firstPoint.y);\n    }\n    lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n    if (lineLoop) {\n      ctx.closePath();\n    } else {\n      ctx.lineTo(lastPoint.x, clipY);\n    }\n  }\n  ctx.lineTo(target.first().x, clipY);\n  ctx.closePath();\n  ctx.clip();\n}\nfunction fill(ctx, cfg) {\n  const {line, target, property, color, scale} = cfg;\n  const segments = _segments(line, target, property);\n  for (const {source: src, target: tgt, start, end} of segments) {\n    const {style: {backgroundColor = color} = {}} = src;\n    const notShape = target !== true;\n    ctx.save();\n    ctx.fillStyle = backgroundColor;\n    clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n    ctx.beginPath();\n    const lineLoop = !!line.pathSegment(ctx, src);\n    let loop;\n    if (notShape) {\n      if (lineLoop) {\n        ctx.closePath();\n      } else {\n        interpolatedLineTo(ctx, target, end, property);\n      }\n      const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n      loop = lineLoop && targetLoop;\n      if (!loop) {\n        interpolatedLineTo(ctx, target, start, property);\n      }\n    }\n    ctx.closePath();\n    ctx.fill(loop ? 'evenodd' : 'nonzero');\n    ctx.restore();\n  }\n}\nfunction clipBounds(ctx, scale, bounds) {\n  const {top, bottom} = scale.chart.chartArea;\n  const {property, start, end} = bounds || {};\n  if (property === 'x') {\n    ctx.beginPath();\n    ctx.rect(start, top, end - start, bottom - top);\n    ctx.clip();\n  }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n  const interpolatedPoint = target.interpolate(point, property);\n  if (interpolatedPoint) {\n    ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n  }\n}\n\nvar index = {\n  id: 'filler',\n  afterDatasetsUpdate(chart, _args, options) {\n    const count = (chart.data.datasets || []).length;\n    const sources = [];\n    let meta, i, line, source;\n    for (i = 0; i < count; ++i) {\n      meta = chart.getDatasetMeta(i);\n      line = meta.dataset;\n      source = null;\n      if (line && line.options && line instanceof LineElement) {\n        source = {\n          visible: chart.isDatasetVisible(i),\n          index: i,\n          fill: _decodeFill(line, i, count),\n          chart,\n          axis: meta.controller.options.indexAxis,\n          scale: meta.vScale,\n          line,\n        };\n      }\n      meta.$filler = source;\n      sources.push(source);\n    }\n    for (i = 0; i < count; ++i) {\n      source = sources[i];\n      if (!source || source.fill === false) {\n        continue;\n      }\n      source.fill = _resolveTarget(sources, i, options.propagate);\n    }\n  },\n  beforeDraw(chart, _args, options) {\n    const draw = options.drawTime === 'beforeDraw';\n    const metasets = chart.getSortedVisibleDatasetMetas();\n    const area = chart.chartArea;\n    for (let i = metasets.length - 1; i >= 0; --i) {\n      const source = metasets[i].$filler;\n      if (!source) {\n        continue;\n      }\n      source.line.updateControlPoints(area, source.axis);\n      if (draw && source.fill) {\n        _drawfill(chart.ctx, source, area);\n      }\n    }\n  },\n  beforeDatasetsDraw(chart, _args, options) {\n    if (options.drawTime !== 'beforeDatasetsDraw') {\n      return;\n    }\n    const metasets = chart.getSortedVisibleDatasetMetas();\n    for (let i = metasets.length - 1; i >= 0; --i) {\n      const source = metasets[i].$filler;\n      if (_shouldApplyFill(source)) {\n        _drawfill(chart.ctx, source, chart.chartArea);\n      }\n    }\n  },\n  beforeDatasetDraw(chart, args, options) {\n    const source = args.meta.$filler;\n    if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n      return;\n    }\n    _drawfill(chart.ctx, source, chart.chartArea);\n  },\n  defaults: {\n    propagate: true,\n    drawTime: 'beforeDatasetDraw'\n  }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n  let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n  if (labelOpts.usePointStyle) {\n    boxHeight = Math.min(boxHeight, fontSize);\n    boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n  }\n  return {\n    boxWidth,\n    boxHeight,\n    itemHeight: Math.max(fontSize, boxHeight)\n  };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n  constructor(config) {\n    super();\n    this._added = false;\n    this.legendHitBoxes = [];\n    this._hoveredItem = null;\n    this.doughnutMode = false;\n    this.chart = config.chart;\n    this.options = config.options;\n    this.ctx = config.ctx;\n    this.legendItems = undefined;\n    this.columnSizes = undefined;\n    this.lineWidths = undefined;\n    this.maxHeight = undefined;\n    this.maxWidth = undefined;\n    this.top = undefined;\n    this.bottom = undefined;\n    this.left = undefined;\n    this.right = undefined;\n    this.height = undefined;\n    this.width = undefined;\n    this._margins = undefined;\n    this.position = undefined;\n    this.weight = undefined;\n    this.fullSize = undefined;\n  }\n  update(maxWidth, maxHeight, margins) {\n    this.maxWidth = maxWidth;\n    this.maxHeight = maxHeight;\n    this._margins = margins;\n    this.setDimensions();\n    this.buildLabels();\n    this.fit();\n  }\n  setDimensions() {\n    if (this.isHorizontal()) {\n      this.width = this.maxWidth;\n      this.left = this._margins.left;\n      this.right = this.width;\n    } else {\n      this.height = this.maxHeight;\n      this.top = this._margins.top;\n      this.bottom = this.height;\n    }\n  }\n  buildLabels() {\n    const labelOpts = this.options.labels || {};\n    let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n    if (labelOpts.filter) {\n      legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n    }\n    if (labelOpts.sort) {\n      legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n    }\n    if (this.options.reverse) {\n      legendItems.reverse();\n    }\n    this.legendItems = legendItems;\n  }\n  fit() {\n    const {options, ctx} = this;\n    if (!options.display) {\n      this.width = this.height = 0;\n      return;\n    }\n    const labelOpts = options.labels;\n    const labelFont = toFont(labelOpts.font);\n    const fontSize = labelFont.size;\n    const titleHeight = this._computeTitleHeight();\n    const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n    let width, height;\n    ctx.font = labelFont.string;\n    if (this.isHorizontal()) {\n      width = this.maxWidth;\n      height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n    } else {\n      height = this.maxHeight;\n      width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n    }\n    this.width = Math.min(width, options.maxWidth || this.maxWidth);\n    this.height = Math.min(height, options.maxHeight || this.maxHeight);\n  }\n  _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n    const {ctx, maxWidth, options: {labels: {padding}}} = this;\n    const hitboxes = this.legendHitBoxes = [];\n    const lineWidths = this.lineWidths = [0];\n    const lineHeight = itemHeight + padding;\n    let totalHeight = titleHeight;\n    ctx.textAlign = 'left';\n    ctx.textBaseline = 'middle';\n    let row = -1;\n    let top = -lineHeight;\n    this.legendItems.forEach((legendItem, i) => {\n      const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n      if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n        totalHeight += lineHeight;\n        lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n        top += lineHeight;\n        row++;\n      }\n      hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n      lineWidths[lineWidths.length - 1] += itemWidth + padding;\n    });\n    return totalHeight;\n  }\n  _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n    const {ctx, maxHeight, options: {labels: {padding}}} = this;\n    const hitboxes = this.legendHitBoxes = [];\n    const columnSizes = this.columnSizes = [];\n    const heightLimit = maxHeight - titleHeight;\n    let totalWidth = padding;\n    let currentColWidth = 0;\n    let currentColHeight = 0;\n    let left = 0;\n    let col = 0;\n    this.legendItems.forEach((legendItem, i) => {\n      const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n      if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n        totalWidth += currentColWidth + padding;\n        columnSizes.push({width: currentColWidth, height: currentColHeight});\n        left += currentColWidth + padding;\n        col++;\n        currentColWidth = currentColHeight = 0;\n      }\n      hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n      currentColWidth = Math.max(currentColWidth, itemWidth);\n      currentColHeight += itemHeight + padding;\n    });\n    totalWidth += currentColWidth;\n    columnSizes.push({width: currentColWidth, height: currentColHeight});\n    return totalWidth;\n  }\n  adjustHitBoxes() {\n    if (!this.options.display) {\n      return;\n    }\n    const titleHeight = this._computeTitleHeight();\n    const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n    const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n    if (this.isHorizontal()) {\n      let row = 0;\n      let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n      for (const hitbox of hitboxes) {\n        if (row !== hitbox.row) {\n          row = hitbox.row;\n          left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n        }\n        hitbox.top += this.top + titleHeight + padding;\n        hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n        left += hitbox.width + padding;\n      }\n    } else {\n      let col = 0;\n      let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n      for (const hitbox of hitboxes) {\n        if (hitbox.col !== col) {\n          col = hitbox.col;\n          top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n        }\n        hitbox.top = top;\n        hitbox.left += this.left + padding;\n        hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n        top += hitbox.height + padding;\n      }\n    }\n  }\n  isHorizontal() {\n    return this.options.position === 'top' || this.options.position === 'bottom';\n  }\n  draw() {\n    if (this.options.display) {\n      const ctx = this.ctx;\n      clipArea(ctx, this);\n      this._draw();\n      unclipArea(ctx);\n    }\n  }\n  _draw() {\n    const {options: opts, columnSizes, lineWidths, ctx} = this;\n    const {align, labels: labelOpts} = opts;\n    const defaultColor = defaults.color;\n    const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n    const labelFont = toFont(labelOpts.font);\n    const {color: fontColor, padding} = labelOpts;\n    const fontSize = labelFont.size;\n    const halfFontSize = fontSize / 2;\n    let cursor;\n    this.drawTitle();\n    ctx.textAlign = rtlHelper.textAlign('left');\n    ctx.textBaseline = 'middle';\n    ctx.lineWidth = 0.5;\n    ctx.font = labelFont.string;\n    const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n    const drawLegendBox = function(x, y, legendItem) {\n      if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n        return;\n      }\n      ctx.save();\n      const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n      ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n      ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n      ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n      ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n      ctx.lineWidth = lineWidth;\n      ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n      ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n      if (labelOpts.usePointStyle) {\n        const drawOptions = {\n          radius: boxHeight * Math.SQRT2 / 2,\n          pointStyle: legendItem.pointStyle,\n          rotation: legendItem.rotation,\n          borderWidth: lineWidth\n        };\n        const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n        const centerY = y + halfFontSize;\n        drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n      } else {\n        const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n        const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n        const borderRadius = toTRBLCorners(legendItem.borderRadius);\n        ctx.beginPath();\n        if (Object.values(borderRadius).some(v => v !== 0)) {\n          addRoundedRectPath(ctx, {\n            x: xBoxLeft,\n            y: yBoxTop,\n            w: boxWidth,\n            h: boxHeight,\n            radius: borderRadius,\n          });\n        } else {\n          ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n        }\n        ctx.fill();\n        if (lineWidth !== 0) {\n          ctx.stroke();\n        }\n      }\n      ctx.restore();\n    };\n    const fillText = function(x, y, legendItem) {\n      renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n        strikethrough: legendItem.hidden,\n        textAlign: rtlHelper.textAlign(legendItem.textAlign)\n      });\n    };\n    const isHorizontal = this.isHorizontal();\n    const titleHeight = this._computeTitleHeight();\n    if (isHorizontal) {\n      cursor = {\n        x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n        y: this.top + padding + titleHeight,\n        line: 0\n      };\n    } else {\n      cursor = {\n        x: this.left + padding,\n        y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n        line: 0\n      };\n    }\n    overrideTextDirection(this.ctx, opts.textDirection);\n    const lineHeight = itemHeight + padding;\n    this.legendItems.forEach((legendItem, i) => {\n      ctx.strokeStyle = legendItem.fontColor || fontColor;\n      ctx.fillStyle = legendItem.fontColor || fontColor;\n      const textWidth = ctx.measureText(legendItem.text).width;\n      const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n      const width = boxWidth + halfFontSize + textWidth;\n      let x = cursor.x;\n      let y = cursor.y;\n      rtlHelper.setWidth(this.width);\n      if (isHorizontal) {\n        if (i > 0 && x + width + padding > this.right) {\n          y = cursor.y += lineHeight;\n          cursor.line++;\n          x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n        }\n      } else if (i > 0 && y + lineHeight > this.bottom) {\n        x = cursor.x = x + columnSizes[cursor.line].width + padding;\n        cursor.line++;\n        y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n      }\n      const realX = rtlHelper.x(x);\n      drawLegendBox(realX, y, legendItem);\n      x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n      fillText(rtlHelper.x(x), y, legendItem);\n      if (isHorizontal) {\n        cursor.x += width + padding;\n      } else {\n        cursor.y += lineHeight;\n      }\n    });\n    restoreTextDirection(this.ctx, opts.textDirection);\n  }\n  drawTitle() {\n    const opts = this.options;\n    const titleOpts = opts.title;\n    const titleFont = toFont(titleOpts.font);\n    const titlePadding = toPadding(titleOpts.padding);\n    if (!titleOpts.display) {\n      return;\n    }\n    const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n    const ctx = this.ctx;\n    const position = titleOpts.position;\n    const halfFontSize = titleFont.size / 2;\n    const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n    let y;\n    let left = this.left;\n    let maxWidth = this.width;\n    if (this.isHorizontal()) {\n      maxWidth = Math.max(...this.lineWidths);\n      y = this.top + topPaddingPlusHalfFontSize;\n      left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n    } else {\n      const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n      y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n    }\n    const x = _alignStartEnd(position, left, left + maxWidth);\n    ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n    ctx.textBaseline = 'middle';\n    ctx.strokeStyle = titleOpts.color;\n    ctx.fillStyle = titleOpts.color;\n    ctx.font = titleFont.string;\n    renderText(ctx, titleOpts.text, x, y, titleFont);\n  }\n  _computeTitleHeight() {\n    const titleOpts = this.options.title;\n    const titleFont = toFont(titleOpts.font);\n    const titlePadding = toPadding(titleOpts.padding);\n    return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n  }\n  _getLegendItemAt(x, y) {\n    let i, hitBox, lh;\n    if (_isBetween(x, this.left, this.right)\n      && _isBetween(y, this.top, this.bottom)) {\n      lh = this.legendHitBoxes;\n      for (i = 0; i < lh.length; ++i) {\n        hitBox = lh[i];\n        if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n          && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n          return this.legendItems[i];\n        }\n      }\n    }\n    return null;\n  }\n  handleEvent(e) {\n    const opts = this.options;\n    if (!isListened(e.type, opts)) {\n      return;\n    }\n    const hoveredItem = this._getLegendItemAt(e.x, e.y);\n    if (e.type === 'mousemove' || e.type === 'mouseout') {\n      const previous = this._hoveredItem;\n      const sameItem = itemsEqual(previous, hoveredItem);\n      if (previous && !sameItem) {\n        callback(opts.onLeave, [e, previous, this], this);\n      }\n      this._hoveredItem = hoveredItem;\n      if (hoveredItem && !sameItem) {\n        callback(opts.onHover, [e, hoveredItem, this], this);\n      }\n    } else if (hoveredItem) {\n      callback(opts.onClick, [e, hoveredItem, this], this);\n    }\n  }\n}\nfunction isListened(type, opts) {\n  if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n    return true;\n  }\n  if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n    return true;\n  }\n  return false;\n}\nvar plugin_legend = {\n  id: 'legend',\n  _element: Legend,\n  start(chart, _args, options) {\n    const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n    layouts.configure(chart, legend, options);\n    layouts.addBox(chart, legend);\n  },\n  stop(chart) {\n    layouts.removeBox(chart, chart.legend);\n    delete chart.legend;\n  },\n  beforeUpdate(chart, _args, options) {\n    const legend = chart.legend;\n    layouts.configure(chart, legend, options);\n    legend.options = options;\n  },\n  afterUpdate(chart) {\n    const legend = chart.legend;\n    legend.buildLabels();\n    legend.adjustHitBoxes();\n  },\n  afterEvent(chart, args) {\n    if (!args.replay) {\n      chart.legend.handleEvent(args.event);\n    }\n  },\n  defaults: {\n    display: true,\n    position: 'top',\n    align: 'center',\n    fullSize: true,\n    reverse: false,\n    weight: 1000,\n    onClick(e, legendItem, legend) {\n      const index = legendItem.datasetIndex;\n      const ci = legend.chart;\n      if (ci.isDatasetVisible(index)) {\n        ci.hide(index);\n        legendItem.hidden = true;\n      } else {\n        ci.show(index);\n        legendItem.hidden = false;\n      }\n    },\n    onHover: null,\n    onLeave: null,\n    labels: {\n      color: (ctx) => ctx.chart.options.color,\n      boxWidth: 40,\n      padding: 10,\n      generateLabels(chart) {\n        const datasets = chart.data.datasets;\n        const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n        return chart._getSortedDatasetMetas().map((meta) => {\n          const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n          const borderWidth = toPadding(style.borderWidth);\n          return {\n            text: datasets[meta.index].label,\n            fillStyle: style.backgroundColor,\n            fontColor: color,\n            hidden: !meta.visible,\n            lineCap: style.borderCapStyle,\n            lineDash: style.borderDash,\n            lineDashOffset: style.borderDashOffset,\n            lineJoin: style.borderJoinStyle,\n            lineWidth: (borderWidth.width + borderWidth.height) / 4,\n            strokeStyle: style.borderColor,\n            pointStyle: pointStyle || style.pointStyle,\n            rotation: style.rotation,\n            textAlign: textAlign || style.textAlign,\n            borderRadius: 0,\n            datasetIndex: meta.index\n          };\n        }, this);\n      }\n    },\n    title: {\n      color: (ctx) => ctx.chart.options.color,\n      display: false,\n      position: 'center',\n      text: '',\n    }\n  },\n  descriptors: {\n    _scriptable: (name) => !name.startsWith('on'),\n    labels: {\n      _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n    }\n  },\n};\n\nclass Title extends Element {\n  constructor(config) {\n    super();\n    this.chart = config.chart;\n    this.options = config.options;\n    this.ctx = config.ctx;\n    this._padding = undefined;\n    this.top = undefined;\n    this.bottom = undefined;\n    this.left = undefined;\n    this.right = undefined;\n    this.width = undefined;\n    this.height = undefined;\n    this.position = undefined;\n    this.weight = undefined;\n    this.fullSize = undefined;\n  }\n  update(maxWidth, maxHeight) {\n    const opts = this.options;\n    this.left = 0;\n    this.top = 0;\n    if (!opts.display) {\n      this.width = this.height = this.right = this.bottom = 0;\n      return;\n    }\n    this.width = this.right = maxWidth;\n    this.height = this.bottom = maxHeight;\n    const lineCount = isArray(opts.text) ? opts.text.length : 1;\n    this._padding = toPadding(opts.padding);\n    const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n    if (this.isHorizontal()) {\n      this.height = textSize;\n    } else {\n      this.width = textSize;\n    }\n  }\n  isHorizontal() {\n    const pos = this.options.position;\n    return pos === 'top' || pos === 'bottom';\n  }\n  _drawArgs(offset) {\n    const {top, left, bottom, right, options} = this;\n    const align = options.align;\n    let rotation = 0;\n    let maxWidth, titleX, titleY;\n    if (this.isHorizontal()) {\n      titleX = _alignStartEnd(align, left, right);\n      titleY = top + offset;\n      maxWidth = right - left;\n    } else {\n      if (options.position === 'left') {\n        titleX = left + offset;\n        titleY = _alignStartEnd(align, bottom, top);\n        rotation = PI * -0.5;\n      } else {\n        titleX = right - offset;\n        titleY = _alignStartEnd(align, top, bottom);\n        rotation = PI * 0.5;\n      }\n      maxWidth = bottom - top;\n    }\n    return {titleX, titleY, maxWidth, rotation};\n  }\n  draw() {\n    const ctx = this.ctx;\n    const opts = this.options;\n    if (!opts.display) {\n      return;\n    }\n    const fontOpts = toFont(opts.font);\n    const lineHeight = fontOpts.lineHeight;\n    const offset = lineHeight / 2 + this._padding.top;\n    const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n    renderText(ctx, opts.text, 0, 0, fontOpts, {\n      color: opts.color,\n      maxWidth,\n      rotation,\n      textAlign: _toLeftRightCenter(opts.align),\n      textBaseline: 'middle',\n      translation: [titleX, titleY],\n    });\n  }\n}\nfunction createTitle(chart, titleOpts) {\n  const title = new Title({\n    ctx: chart.ctx,\n    options: titleOpts,\n    chart\n  });\n  layouts.configure(chart, title, titleOpts);\n  layouts.addBox(chart, title);\n  chart.titleBlock = title;\n}\nvar plugin_title = {\n  id: 'title',\n  _element: Title,\n  start(chart, _args, options) {\n    createTitle(chart, options);\n  },\n  stop(chart) {\n    const titleBlock = chart.titleBlock;\n    layouts.removeBox(chart, titleBlock);\n    delete chart.titleBlock;\n  },\n  beforeUpdate(chart, _args, options) {\n    const title = chart.titleBlock;\n    layouts.configure(chart, title, options);\n    title.options = options;\n  },\n  defaults: {\n    align: 'center',\n    display: false,\n    font: {\n      weight: 'bold',\n    },\n    fullSize: true,\n    padding: 10,\n    position: 'top',\n    text: '',\n    weight: 2000\n  },\n  defaultRoutes: {\n    color: 'color'\n  },\n  descriptors: {\n    _scriptable: true,\n    _indexable: false,\n  },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n  id: 'subtitle',\n  start(chart, _args, options) {\n    const title = new Title({\n      ctx: chart.ctx,\n      options,\n      chart\n    });\n    layouts.configure(chart, title, options);\n    layouts.addBox(chart, title);\n    map.set(chart, title);\n  },\n  stop(chart) {\n    layouts.removeBox(chart, map.get(chart));\n    map.delete(chart);\n  },\n  beforeUpdate(chart, _args, options) {\n    const title = map.get(chart);\n    layouts.configure(chart, title, options);\n    title.options = options;\n  },\n  defaults: {\n    align: 'center',\n    display: false,\n    font: {\n      weight: 'normal',\n    },\n    fullSize: true,\n    padding: 0,\n    position: 'top',\n    text: '',\n    weight: 1500\n  },\n  defaultRoutes: {\n    color: 'color'\n  },\n  descriptors: {\n    _scriptable: true,\n    _indexable: false,\n  },\n};\n\nconst positioners = {\n  average(items) {\n    if (!items.length) {\n      return false;\n    }\n    let i, len;\n    let x = 0;\n    let y = 0;\n    let count = 0;\n    for (i = 0, len = items.length; i < len; ++i) {\n      const el = items[i].element;\n      if (el && el.hasValue()) {\n        const pos = el.tooltipPosition();\n        x += pos.x;\n        y += pos.y;\n        ++count;\n      }\n    }\n    return {\n      x: x / count,\n      y: y / count\n    };\n  },\n  nearest(items, eventPosition) {\n    if (!items.length) {\n      return false;\n    }\n    let x = eventPosition.x;\n    let y = eventPosition.y;\n    let minDistance = Number.POSITIVE_INFINITY;\n    let i, len, nearestElement;\n    for (i = 0, len = items.length; i < len; ++i) {\n      const el = items[i].element;\n      if (el && el.hasValue()) {\n        const center = el.getCenterPoint();\n        const d = distanceBetweenPoints(eventPosition, center);\n        if (d < minDistance) {\n          minDistance = d;\n          nearestElement = el;\n        }\n      }\n    }\n    if (nearestElement) {\n      const tp = nearestElement.tooltipPosition();\n      x = tp.x;\n      y = tp.y;\n    }\n    return {\n      x,\n      y\n    };\n  }\n};\nfunction pushOrConcat(base, toPush) {\n  if (toPush) {\n    if (isArray(toPush)) {\n      Array.prototype.push.apply(base, toPush);\n    } else {\n      base.push(toPush);\n    }\n  }\n  return base;\n}\nfunction splitNewlines(str) {\n  if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n    return str.split('\\n');\n  }\n  return str;\n}\nfunction createTooltipItem(chart, item) {\n  const {element, datasetIndex, index} = item;\n  const controller = chart.getDatasetMeta(datasetIndex).controller;\n  const {label, value} = controller.getLabelAndValue(index);\n  return {\n    chart,\n    label,\n    parsed: controller.getParsed(index),\n    raw: chart.data.datasets[datasetIndex].data[index],\n    formattedValue: value,\n    dataset: controller.getDataset(),\n    dataIndex: index,\n    datasetIndex,\n    element\n  };\n}\nfunction getTooltipSize(tooltip, options) {\n  const ctx = tooltip.chart.ctx;\n  const {body, footer, title} = tooltip;\n  const {boxWidth, boxHeight} = options;\n  const bodyFont = toFont(options.bodyFont);\n  const titleFont = toFont(options.titleFont);\n  const footerFont = toFont(options.footerFont);\n  const titleLineCount = title.length;\n  const footerLineCount = footer.length;\n  const bodyLineItemCount = body.length;\n  const padding = toPadding(options.padding);\n  let height = padding.height;\n  let width = 0;\n  let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n  combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n  if (titleLineCount) {\n    height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n  }\n  if (combinedBodyLength) {\n    const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n    height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n  }\n  if (footerLineCount) {\n    height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n  }\n  let widthPadding = 0;\n  const maxLineWidth = function(line) {\n    width = Math.max(width, ctx.measureText(line).width + widthPadding);\n  };\n  ctx.save();\n  ctx.font = titleFont.string;\n  each(tooltip.title, maxLineWidth);\n  ctx.font = bodyFont.string;\n  each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n  widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n  each(body, (bodyItem) => {\n    each(bodyItem.before, maxLineWidth);\n    each(bodyItem.lines, maxLineWidth);\n    each(bodyItem.after, maxLineWidth);\n  });\n  widthPadding = 0;\n  ctx.font = footerFont.string;\n  each(tooltip.footer, maxLineWidth);\n  ctx.restore();\n  width += padding.width;\n  return {width, height};\n}\nfunction determineYAlign(chart, size) {\n  const {y, height} = size;\n  if (y < height / 2) {\n    return 'top';\n  } else if (y > (chart.height - height / 2)) {\n    return 'bottom';\n  }\n  return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n  const {x, width} = size;\n  const caret = options.caretSize + options.caretPadding;\n  if (xAlign === 'left' && x + width + caret > chart.width) {\n    return true;\n  }\n  if (xAlign === 'right' && x - width - caret < 0) {\n    return true;\n  }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n  const {x, width} = size;\n  const {width: chartWidth, chartArea: {left, right}} = chart;\n  let xAlign = 'center';\n  if (yAlign === 'center') {\n    xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n  } else if (x <= width / 2) {\n    xAlign = 'left';\n  } else if (x >= chartWidth - width / 2) {\n    xAlign = 'right';\n  }\n  if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n    xAlign = 'center';\n  }\n  return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n  const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n  return {\n    xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n    yAlign\n  };\n}\nfunction alignX(size, xAlign) {\n  let {x, width} = size;\n  if (xAlign === 'right') {\n    x -= width;\n  } else if (xAlign === 'center') {\n    x -= (width / 2);\n  }\n  return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n  let {y, height} = size;\n  if (yAlign === 'top') {\n    y += paddingAndSize;\n  } else if (yAlign === 'bottom') {\n    y -= height + paddingAndSize;\n  } else {\n    y -= (height / 2);\n  }\n  return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n  const {caretSize, caretPadding, cornerRadius} = options;\n  const {xAlign, yAlign} = alignment;\n  const paddingAndSize = caretSize + caretPadding;\n  const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n  let x = alignX(size, xAlign);\n  const y = alignY(size, yAlign, paddingAndSize);\n  if (yAlign === 'center') {\n    if (xAlign === 'left') {\n      x += paddingAndSize;\n    } else if (xAlign === 'right') {\n      x -= paddingAndSize;\n    }\n  } else if (xAlign === 'left') {\n    x -= Math.max(topLeft, bottomLeft) + caretSize;\n  } else if (xAlign === 'right') {\n    x += Math.max(topRight, bottomRight) + caretSize;\n  }\n  return {\n    x: _limitValue(x, 0, chart.width - size.width),\n    y: _limitValue(y, 0, chart.height - size.height)\n  };\n}\nfunction getAlignedX(tooltip, align, options) {\n  const padding = toPadding(options.padding);\n  return align === 'center'\n    ? tooltip.x + tooltip.width / 2\n    : align === 'right'\n      ? tooltip.x + tooltip.width - padding.right\n      : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n  return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n  return createContext(parent, {\n    tooltip,\n    tooltipItems,\n    type: 'tooltip'\n  });\n}\nfunction overrideCallbacks(callbacks, context) {\n  const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n  return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n  constructor(config) {\n    super();\n    this.opacity = 0;\n    this._active = [];\n    this._eventPosition = undefined;\n    this._size = undefined;\n    this._cachedAnimations = undefined;\n    this._tooltipItems = [];\n    this.$animations = undefined;\n    this.$context = undefined;\n    this.chart = config.chart || config._chart;\n    this._chart = this.chart;\n    this.options = config.options;\n    this.dataPoints = undefined;\n    this.title = undefined;\n    this.beforeBody = undefined;\n    this.body = undefined;\n    this.afterBody = undefined;\n    this.footer = undefined;\n    this.xAlign = undefined;\n    this.yAlign = undefined;\n    this.x = undefined;\n    this.y = undefined;\n    this.height = undefined;\n    this.width = undefined;\n    this.caretX = undefined;\n    this.caretY = undefined;\n    this.labelColors = undefined;\n    this.labelPointStyles = undefined;\n    this.labelTextColors = undefined;\n  }\n  initialize(options) {\n    this.options = options;\n    this._cachedAnimations = undefined;\n    this.$context = undefined;\n  }\n  _resolveAnimations() {\n    const cached = this._cachedAnimations;\n    if (cached) {\n      return cached;\n    }\n    const chart = this.chart;\n    const options = this.options.setContext(this.getContext());\n    const opts = options.enabled && chart.options.animation && options.animations;\n    const animations = new Animations(this.chart, opts);\n    if (opts._cacheable) {\n      this._cachedAnimations = Object.freeze(animations);\n    }\n    return animations;\n  }\n  getContext() {\n    return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n  }\n  getTitle(context, options) {\n    const {callbacks} = options;\n    const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n    const title = callbacks.title.apply(this, [context]);\n    const afterTitle = callbacks.afterTitle.apply(this, [context]);\n    let lines = [];\n    lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n    lines = pushOrConcat(lines, splitNewlines(title));\n    lines = pushOrConcat(lines, splitNewlines(afterTitle));\n    return lines;\n  }\n  getBeforeBody(tooltipItems, options) {\n    return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n  }\n  getBody(tooltipItems, options) {\n    const {callbacks} = options;\n    const bodyItems = [];\n    each(tooltipItems, (context) => {\n      const bodyItem = {\n        before: [],\n        lines: [],\n        after: []\n      };\n      const scoped = overrideCallbacks(callbacks, context);\n      pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n      pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n      pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n      bodyItems.push(bodyItem);\n    });\n    return bodyItems;\n  }\n  getAfterBody(tooltipItems, options) {\n    return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n  }\n  getFooter(tooltipItems, options) {\n    const {callbacks} = options;\n    const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n    const footer = callbacks.footer.apply(this, [tooltipItems]);\n    const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n    let lines = [];\n    lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n    lines = pushOrConcat(lines, splitNewlines(footer));\n    lines = pushOrConcat(lines, splitNewlines(afterFooter));\n    return lines;\n  }\n  _createItems(options) {\n    const active = this._active;\n    const data = this.chart.data;\n    const labelColors = [];\n    const labelPointStyles = [];\n    const labelTextColors = [];\n    let tooltipItems = [];\n    let i, len;\n    for (i = 0, len = active.length; i < len; ++i) {\n      tooltipItems.push(createTooltipItem(this.chart, active[i]));\n    }\n    if (options.filter) {\n      tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n    }\n    if (options.itemSort) {\n      tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n    }\n    each(tooltipItems, (context) => {\n      const scoped = overrideCallbacks(options.callbacks, context);\n      labelColors.push(scoped.labelColor.call(this, context));\n      labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n      labelTextColors.push(scoped.labelTextColor.call(this, context));\n    });\n    this.labelColors = labelColors;\n    this.labelPointStyles = labelPointStyles;\n    this.labelTextColors = labelTextColors;\n    this.dataPoints = tooltipItems;\n    return tooltipItems;\n  }\n  update(changed, replay) {\n    const options = this.options.setContext(this.getContext());\n    const active = this._active;\n    let properties;\n    let tooltipItems = [];\n    if (!active.length) {\n      if (this.opacity !== 0) {\n        properties = {\n          opacity: 0\n        };\n      }\n    } else {\n      const position = positioners[options.position].call(this, active, this._eventPosition);\n      tooltipItems = this._createItems(options);\n      this.title = this.getTitle(tooltipItems, options);\n      this.beforeBody = this.getBeforeBody(tooltipItems, options);\n      this.body = this.getBody(tooltipItems, options);\n      this.afterBody = this.getAfterBody(tooltipItems, options);\n      this.footer = this.getFooter(tooltipItems, options);\n      const size = this._size = getTooltipSize(this, options);\n      const positionAndSize = Object.assign({}, position, size);\n      const alignment = determineAlignment(this.chart, options, positionAndSize);\n      const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n      this.xAlign = alignment.xAlign;\n      this.yAlign = alignment.yAlign;\n      properties = {\n        opacity: 1,\n        x: backgroundPoint.x,\n        y: backgroundPoint.y,\n        width: size.width,\n        height: size.height,\n        caretX: position.x,\n        caretY: position.y\n      };\n    }\n    this._tooltipItems = tooltipItems;\n    this.$context = undefined;\n    if (properties) {\n      this._resolveAnimations().update(this, properties);\n    }\n    if (changed && options.external) {\n      options.external.call(this, {chart: this.chart, tooltip: this, replay});\n    }\n  }\n  drawCaret(tooltipPoint, ctx, size, options) {\n    const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n    ctx.lineTo(caretPosition.x1, caretPosition.y1);\n    ctx.lineTo(caretPosition.x2, caretPosition.y2);\n    ctx.lineTo(caretPosition.x3, caretPosition.y3);\n  }\n  getCaretPosition(tooltipPoint, size, options) {\n    const {xAlign, yAlign} = this;\n    const {caretSize, cornerRadius} = options;\n    const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n    const {x: ptX, y: ptY} = tooltipPoint;\n    const {width, height} = size;\n    let x1, x2, x3, y1, y2, y3;\n    if (yAlign === 'center') {\n      y2 = ptY + (height / 2);\n      if (xAlign === 'left') {\n        x1 = ptX;\n        x2 = x1 - caretSize;\n        y1 = y2 + caretSize;\n        y3 = y2 - caretSize;\n      } else {\n        x1 = ptX + width;\n        x2 = x1 + caretSize;\n        y1 = y2 - caretSize;\n        y3 = y2 + caretSize;\n      }\n      x3 = x1;\n    } else {\n      if (xAlign === 'left') {\n        x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n      } else if (xAlign === 'right') {\n        x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n      } else {\n        x2 = this.caretX;\n      }\n      if (yAlign === 'top') {\n        y1 = ptY;\n        y2 = y1 - caretSize;\n        x1 = x2 - caretSize;\n        x3 = x2 + caretSize;\n      } else {\n        y1 = ptY + height;\n        y2 = y1 + caretSize;\n        x1 = x2 + caretSize;\n        x3 = x2 - caretSize;\n      }\n      y3 = y1;\n    }\n    return {x1, x2, x3, y1, y2, y3};\n  }\n  drawTitle(pt, ctx, options) {\n    const title = this.title;\n    const length = title.length;\n    let titleFont, titleSpacing, i;\n    if (length) {\n      const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n      pt.x = getAlignedX(this, options.titleAlign, options);\n      ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n      ctx.textBaseline = 'middle';\n      titleFont = toFont(options.titleFont);\n      titleSpacing = options.titleSpacing;\n      ctx.fillStyle = options.titleColor;\n      ctx.font = titleFont.string;\n      for (i = 0; i < length; ++i) {\n        ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n        pt.y += titleFont.lineHeight + titleSpacing;\n        if (i + 1 === length) {\n          pt.y += options.titleMarginBottom - titleSpacing;\n        }\n      }\n    }\n  }\n  _drawColorBox(ctx, pt, i, rtlHelper, options) {\n    const labelColors = this.labelColors[i];\n    const labelPointStyle = this.labelPointStyles[i];\n    const {boxHeight, boxWidth, boxPadding} = options;\n    const bodyFont = toFont(options.bodyFont);\n    const colorX = getAlignedX(this, 'left', options);\n    const rtlColorX = rtlHelper.x(colorX);\n    const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n    const colorY = pt.y + yOffSet;\n    if (options.usePointStyle) {\n      const drawOptions = {\n        radius: Math.min(boxWidth, boxHeight) / 2,\n        pointStyle: labelPointStyle.pointStyle,\n        rotation: labelPointStyle.rotation,\n        borderWidth: 1\n      };\n      const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n      const centerY = colorY + boxHeight / 2;\n      ctx.strokeStyle = options.multiKeyBackground;\n      ctx.fillStyle = options.multiKeyBackground;\n      drawPoint(ctx, drawOptions, centerX, centerY);\n      ctx.strokeStyle = labelColors.borderColor;\n      ctx.fillStyle = labelColors.backgroundColor;\n      drawPoint(ctx, drawOptions, centerX, centerY);\n    } else {\n      ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n      ctx.strokeStyle = labelColors.borderColor;\n      ctx.setLineDash(labelColors.borderDash || []);\n      ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n      const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n      const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n      const borderRadius = toTRBLCorners(labelColors.borderRadius);\n      if (Object.values(borderRadius).some(v => v !== 0)) {\n        ctx.beginPath();\n        ctx.fillStyle = options.multiKeyBackground;\n        addRoundedRectPath(ctx, {\n          x: outerX,\n          y: colorY,\n          w: boxWidth,\n          h: boxHeight,\n          radius: borderRadius,\n        });\n        ctx.fill();\n        ctx.stroke();\n        ctx.fillStyle = labelColors.backgroundColor;\n        ctx.beginPath();\n        addRoundedRectPath(ctx, {\n          x: innerX,\n          y: colorY + 1,\n          w: boxWidth - 2,\n          h: boxHeight - 2,\n          radius: borderRadius,\n        });\n        ctx.fill();\n      } else {\n        ctx.fillStyle = options.multiKeyBackground;\n        ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n        ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n        ctx.fillStyle = labelColors.backgroundColor;\n        ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n      }\n    }\n    ctx.fillStyle = this.labelTextColors[i];\n  }\n  drawBody(pt, ctx, options) {\n    const {body} = this;\n    const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n    const bodyFont = toFont(options.bodyFont);\n    let bodyLineHeight = bodyFont.lineHeight;\n    let xLinePadding = 0;\n    const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n    const fillLineOfText = function(line) {\n      ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n      pt.y += bodyLineHeight + bodySpacing;\n    };\n    const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n    let bodyItem, textColor, lines, i, j, ilen, jlen;\n    ctx.textAlign = bodyAlign;\n    ctx.textBaseline = 'middle';\n    ctx.font = bodyFont.string;\n    pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n    ctx.fillStyle = options.bodyColor;\n    each(this.beforeBody, fillLineOfText);\n    xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n      ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n      : 0;\n    for (i = 0, ilen = body.length; i < ilen; ++i) {\n      bodyItem = body[i];\n      textColor = this.labelTextColors[i];\n      ctx.fillStyle = textColor;\n      each(bodyItem.before, fillLineOfText);\n      lines = bodyItem.lines;\n      if (displayColors && lines.length) {\n        this._drawColorBox(ctx, pt, i, rtlHelper, options);\n        bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n      }\n      for (j = 0, jlen = lines.length; j < jlen; ++j) {\n        fillLineOfText(lines[j]);\n        bodyLineHeight = bodyFont.lineHeight;\n      }\n      each(bodyItem.after, fillLineOfText);\n    }\n    xLinePadding = 0;\n    bodyLineHeight = bodyFont.lineHeight;\n    each(this.afterBody, fillLineOfText);\n    pt.y -= bodySpacing;\n  }\n  drawFooter(pt, ctx, options) {\n    const footer = this.footer;\n    const length = footer.length;\n    let footerFont, i;\n    if (length) {\n      const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n      pt.x = getAlignedX(this, options.footerAlign, options);\n      pt.y += options.footerMarginTop;\n      ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n      ctx.textBaseline = 'middle';\n      footerFont = toFont(options.footerFont);\n      ctx.fillStyle = options.footerColor;\n      ctx.font = footerFont.string;\n      for (i = 0; i < length; ++i) {\n        ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n        pt.y += footerFont.lineHeight + options.footerSpacing;\n      }\n    }\n  }\n  drawBackground(pt, ctx, tooltipSize, options) {\n    const {xAlign, yAlign} = this;\n    const {x, y} = pt;\n    const {width, height} = tooltipSize;\n    const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n    ctx.fillStyle = options.backgroundColor;\n    ctx.strokeStyle = options.borderColor;\n    ctx.lineWidth = options.borderWidth;\n    ctx.beginPath();\n    ctx.moveTo(x + topLeft, y);\n    if (yAlign === 'top') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x + width - topRight, y);\n    ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n    if (yAlign === 'center' && xAlign === 'right') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x + width, y + height - bottomRight);\n    ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n    if (yAlign === 'bottom') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x + bottomLeft, y + height);\n    ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n    if (yAlign === 'center' && xAlign === 'left') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x, y + topLeft);\n    ctx.quadraticCurveTo(x, y, x + topLeft, y);\n    ctx.closePath();\n    ctx.fill();\n    if (options.borderWidth > 0) {\n      ctx.stroke();\n    }\n  }\n  _updateAnimationTarget(options) {\n    const chart = this.chart;\n    const anims = this.$animations;\n    const animX = anims && anims.x;\n    const animY = anims && anims.y;\n    if (animX || animY) {\n      const position = positioners[options.position].call(this, this._active, this._eventPosition);\n      if (!position) {\n        return;\n      }\n      const size = this._size = getTooltipSize(this, options);\n      const positionAndSize = Object.assign({}, position, this._size);\n      const alignment = determineAlignment(chart, options, positionAndSize);\n      const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n      if (animX._to !== point.x || animY._to !== point.y) {\n        this.xAlign = alignment.xAlign;\n        this.yAlign = alignment.yAlign;\n        this.width = size.width;\n        this.height = size.height;\n        this.caretX = position.x;\n        this.caretY = position.y;\n        this._resolveAnimations().update(this, point);\n      }\n    }\n  }\n  _willRender() {\n    return !!this.opacity;\n  }\n  draw(ctx) {\n    const options = this.options.setContext(this.getContext());\n    let opacity = this.opacity;\n    if (!opacity) {\n      return;\n    }\n    this._updateAnimationTarget(options);\n    const tooltipSize = {\n      width: this.width,\n      height: this.height\n    };\n    const pt = {\n      x: this.x,\n      y: this.y\n    };\n    opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n    const padding = toPadding(options.padding);\n    const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n    if (options.enabled && hasTooltipContent) {\n      ctx.save();\n      ctx.globalAlpha = opacity;\n      this.drawBackground(pt, ctx, tooltipSize, options);\n      overrideTextDirection(ctx, options.textDirection);\n      pt.y += padding.top;\n      this.drawTitle(pt, ctx, options);\n      this.drawBody(pt, ctx, options);\n      this.drawFooter(pt, ctx, options);\n      restoreTextDirection(ctx, options.textDirection);\n      ctx.restore();\n    }\n  }\n  getActiveElements() {\n    return this._active || [];\n  }\n  setActiveElements(activeElements, eventPosition) {\n    const lastActive = this._active;\n    const active = activeElements.map(({datasetIndex, index}) => {\n      const meta = this.chart.getDatasetMeta(datasetIndex);\n      if (!meta) {\n        throw new Error('Cannot find a dataset at index ' + datasetIndex);\n      }\n      return {\n        datasetIndex,\n        element: meta.data[index],\n        index,\n      };\n    });\n    const changed = !_elementsEqual(lastActive, active);\n    const positionChanged = this._positionChanged(active, eventPosition);\n    if (changed || positionChanged) {\n      this._active = active;\n      this._eventPosition = eventPosition;\n      this._ignoreReplayEvents = true;\n      this.update(true);\n    }\n  }\n  handleEvent(e, replay, inChartArea = true) {\n    if (replay && this._ignoreReplayEvents) {\n      return false;\n    }\n    this._ignoreReplayEvents = false;\n    const options = this.options;\n    const lastActive = this._active || [];\n    const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n    const positionChanged = this._positionChanged(active, e);\n    const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n    if (changed) {\n      this._active = active;\n      if (options.enabled || options.external) {\n        this._eventPosition = {\n          x: e.x,\n          y: e.y\n        };\n        this.update(true, replay);\n      }\n    }\n    return changed;\n  }\n  _getActiveElements(e, lastActive, replay, inChartArea) {\n    const options = this.options;\n    if (e.type === 'mouseout') {\n      return [];\n    }\n    if (!inChartArea) {\n      return lastActive;\n    }\n    const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n    if (options.reverse) {\n      active.reverse();\n    }\n    return active;\n  }\n  _positionChanged(active, e) {\n    const {caretX, caretY, options} = this;\n    const position = positioners[options.position].call(this, active, e);\n    return position !== false && (caretX !== position.x || caretY !== position.y);\n  }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n  id: 'tooltip',\n  _element: Tooltip,\n  positioners,\n  afterInit(chart, _args, options) {\n    if (options) {\n      chart.tooltip = new Tooltip({chart, options});\n    }\n  },\n  beforeUpdate(chart, _args, options) {\n    if (chart.tooltip) {\n      chart.tooltip.initialize(options);\n    }\n  },\n  reset(chart, _args, options) {\n    if (chart.tooltip) {\n      chart.tooltip.initialize(options);\n    }\n  },\n  afterDraw(chart) {\n    const tooltip = chart.tooltip;\n    if (tooltip && tooltip._willRender()) {\n      const args = {\n        tooltip\n      };\n      if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n        return;\n      }\n      tooltip.draw(chart.ctx);\n      chart.notifyPlugins('afterTooltipDraw', args);\n    }\n  },\n  afterEvent(chart, args) {\n    if (chart.tooltip) {\n      const useFinalPosition = args.replay;\n      if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n        args.changed = true;\n      }\n    }\n  },\n  defaults: {\n    enabled: true,\n    external: null,\n    position: 'average',\n    backgroundColor: 'rgba(0,0,0,0.8)',\n    titleColor: '#fff',\n    titleFont: {\n      weight: 'bold',\n    },\n    titleSpacing: 2,\n    titleMarginBottom: 6,\n    titleAlign: 'left',\n    bodyColor: '#fff',\n    bodySpacing: 2,\n    bodyFont: {\n    },\n    bodyAlign: 'left',\n    footerColor: '#fff',\n    footerSpacing: 2,\n    footerMarginTop: 6,\n    footerFont: {\n      weight: 'bold',\n    },\n    footerAlign: 'left',\n    padding: 6,\n    caretPadding: 2,\n    caretSize: 5,\n    cornerRadius: 6,\n    boxHeight: (ctx, opts) => opts.bodyFont.size,\n    boxWidth: (ctx, opts) => opts.bodyFont.size,\n    multiKeyBackground: '#fff',\n    displayColors: true,\n    boxPadding: 0,\n    borderColor: 'rgba(0,0,0,0)',\n    borderWidth: 0,\n    animation: {\n      duration: 400,\n      easing: 'easeOutQuart',\n    },\n    animations: {\n      numbers: {\n        type: 'number',\n        properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n      },\n      opacity: {\n        easing: 'linear',\n        duration: 200\n      }\n    },\n    callbacks: {\n      beforeTitle: noop,\n      title(tooltipItems) {\n        if (tooltipItems.length > 0) {\n          const item = tooltipItems[0];\n          const labels = item.chart.data.labels;\n          const labelCount = labels ? labels.length : 0;\n          if (this && this.options && this.options.mode === 'dataset') {\n            return item.dataset.label || '';\n          } else if (item.label) {\n            return item.label;\n          } else if (labelCount > 0 && item.dataIndex < labelCount) {\n            return labels[item.dataIndex];\n          }\n        }\n        return '';\n      },\n      afterTitle: noop,\n      beforeBody: noop,\n      beforeLabel: noop,\n      label(tooltipItem) {\n        if (this && this.options && this.options.mode === 'dataset') {\n          return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n        }\n        let label = tooltipItem.dataset.label || '';\n        if (label) {\n          label += ': ';\n        }\n        const value = tooltipItem.formattedValue;\n        if (!isNullOrUndef(value)) {\n          label += value;\n        }\n        return label;\n      },\n      labelColor(tooltipItem) {\n        const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n        const options = meta.controller.getStyle(tooltipItem.dataIndex);\n        return {\n          borderColor: options.borderColor,\n          backgroundColor: options.backgroundColor,\n          borderWidth: options.borderWidth,\n          borderDash: options.borderDash,\n          borderDashOffset: options.borderDashOffset,\n          borderRadius: 0,\n        };\n      },\n      labelTextColor() {\n        return this.options.bodyColor;\n      },\n      labelPointStyle(tooltipItem) {\n        const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n        const options = meta.controller.getStyle(tooltipItem.dataIndex);\n        return {\n          pointStyle: options.pointStyle,\n          rotation: options.rotation,\n        };\n      },\n      afterLabel: noop,\n      afterBody: noop,\n      beforeFooter: noop,\n      footer: noop,\n      afterFooter: noop\n    }\n  },\n  defaultRoutes: {\n    bodyFont: 'font',\n    footerFont: 'font',\n    titleFont: 'font'\n  },\n  descriptors: {\n    _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n    _indexable: false,\n    callbacks: {\n      _scriptable: false,\n      _indexable: false,\n    },\n    animation: {\n      _fallback: false\n    },\n    animations: {\n      _fallback: 'animation'\n    }\n  },\n  additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n  if (typeof raw === 'string') {\n    index = labels.push(raw) - 1;\n    addedLabels.unshift({index, label: raw});\n  } else if (isNaN(raw)) {\n    index = null;\n  }\n  return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n  const first = labels.indexOf(raw);\n  if (first === -1) {\n    return addIfString(labels, raw, index, addedLabels);\n  }\n  const last = labels.lastIndexOf(raw);\n  return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n  constructor(cfg) {\n    super(cfg);\n    this._startValue = undefined;\n    this._valueRange = 0;\n    this._addedLabels = [];\n  }\n  init(scaleOptions) {\n    const added = this._addedLabels;\n    if (added.length) {\n      const labels = this.getLabels();\n      for (const {index, label} of added) {\n        if (labels[index] === label) {\n          labels.splice(index, 1);\n        }\n      }\n      this._addedLabels = [];\n    }\n    super.init(scaleOptions);\n  }\n  parse(raw, index) {\n    if (isNullOrUndef(raw)) {\n      return null;\n    }\n    const labels = this.getLabels();\n    index = isFinite(index) && labels[index] === raw ? index\n      : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n    return validIndex(index, labels.length - 1);\n  }\n  determineDataLimits() {\n    const {minDefined, maxDefined} = this.getUserBounds();\n    let {min, max} = this.getMinMax(true);\n    if (this.options.bounds === 'ticks') {\n      if (!minDefined) {\n        min = 0;\n      }\n      if (!maxDefined) {\n        max = this.getLabels().length - 1;\n      }\n    }\n    this.min = min;\n    this.max = max;\n  }\n  buildTicks() {\n    const min = this.min;\n    const max = this.max;\n    const offset = this.options.offset;\n    const ticks = [];\n    let labels = this.getLabels();\n    labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n    this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n    this._startValue = this.min - (offset ? 0.5 : 0);\n    for (let value = min; value <= max; value++) {\n      ticks.push({value});\n    }\n    return ticks;\n  }\n  getLabelForValue(value) {\n    const labels = this.getLabels();\n    if (value >= 0 && value < labels.length) {\n      return labels[value];\n    }\n    return value;\n  }\n  configure() {\n    super.configure();\n    if (!this.isHorizontal()) {\n      this._reversePixels = !this._reversePixels;\n    }\n  }\n  getPixelForValue(value) {\n    if (typeof value !== 'number') {\n      value = this.parse(value);\n    }\n    return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n  }\n  getPixelForTick(index) {\n    const ticks = this.ticks;\n    if (index < 0 || index > ticks.length - 1) {\n      return null;\n    }\n    return this.getPixelForValue(ticks[index].value);\n  }\n  getValueForPixel(pixel) {\n    return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n  }\n  getBasePixel() {\n    return this.bottom;\n  }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n  ticks: {\n    callback: CategoryScale.prototype.getLabelForValue\n  }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n  const ticks = [];\n  const MIN_SPACING = 1e-14;\n  const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n  const unit = step || 1;\n  const maxSpaces = maxTicks - 1;\n  const {min: rmin, max: rmax} = dataRange;\n  const minDefined = !isNullOrUndef(min);\n  const maxDefined = !isNullOrUndef(max);\n  const countDefined = !isNullOrUndef(count);\n  const minSpacing = (rmax - rmin) / (maxDigits + 1);\n  let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n  let factor, niceMin, niceMax, numSpaces;\n  if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n    return [{value: rmin}, {value: rmax}];\n  }\n  numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n  if (numSpaces > maxSpaces) {\n    spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n  }\n  if (!isNullOrUndef(precision)) {\n    factor = Math.pow(10, precision);\n    spacing = Math.ceil(spacing * factor) / factor;\n  }\n  if (bounds === 'ticks') {\n    niceMin = Math.floor(rmin / spacing) * spacing;\n    niceMax = Math.ceil(rmax / spacing) * spacing;\n  } else {\n    niceMin = rmin;\n    niceMax = rmax;\n  }\n  if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n    numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n    spacing = (max - min) / numSpaces;\n    niceMin = min;\n    niceMax = max;\n  } else if (countDefined) {\n    niceMin = minDefined ? min : niceMin;\n    niceMax = maxDefined ? max : niceMax;\n    numSpaces = count - 1;\n    spacing = (niceMax - niceMin) / numSpaces;\n  } else {\n    numSpaces = (niceMax - niceMin) / spacing;\n    if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n      numSpaces = Math.round(numSpaces);\n    } else {\n      numSpaces = Math.ceil(numSpaces);\n    }\n  }\n  const decimalPlaces = Math.max(\n    _decimalPlaces(spacing),\n    _decimalPlaces(niceMin)\n  );\n  factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n  niceMin = Math.round(niceMin * factor) / factor;\n  niceMax = Math.round(niceMax * factor) / factor;\n  let j = 0;\n  if (minDefined) {\n    if (includeBounds && niceMin !== min) {\n      ticks.push({value: min});\n      if (niceMin < min) {\n        j++;\n      }\n      if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n        j++;\n      }\n    } else if (niceMin < min) {\n      j++;\n    }\n  }\n  for (; j < numSpaces; ++j) {\n    ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n  }\n  if (maxDefined && includeBounds && niceMax !== max) {\n    if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n      ticks[ticks.length - 1].value = max;\n    } else {\n      ticks.push({value: max});\n    }\n  } else if (!maxDefined || niceMax === max) {\n    ticks.push({value: niceMax});\n  }\n  return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n  const rad = toRadians(minRotation);\n  const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n  const length = 0.75 * minSpacing * ('' + value).length;\n  return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n  constructor(cfg) {\n    super(cfg);\n    this.start = undefined;\n    this.end = undefined;\n    this._startValue = undefined;\n    this._endValue = undefined;\n    this._valueRange = 0;\n  }\n  parse(raw, index) {\n    if (isNullOrUndef(raw)) {\n      return null;\n    }\n    if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n      return null;\n    }\n    return +raw;\n  }\n  handleTickRangeOptions() {\n    const {beginAtZero} = this.options;\n    const {minDefined, maxDefined} = this.getUserBounds();\n    let {min, max} = this;\n    const setMin = v => (min = minDefined ? min : v);\n    const setMax = v => (max = maxDefined ? max : v);\n    if (beginAtZero) {\n      const minSign = sign(min);\n      const maxSign = sign(max);\n      if (minSign < 0 && maxSign < 0) {\n        setMax(0);\n      } else if (minSign > 0 && maxSign > 0) {\n        setMin(0);\n      }\n    }\n    if (min === max) {\n      let offset = 1;\n      if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n        offset = Math.abs(max * 0.05);\n      }\n      setMax(max + offset);\n      if (!beginAtZero) {\n        setMin(min - offset);\n      }\n    }\n    this.min = min;\n    this.max = max;\n  }\n  getTickLimit() {\n    const tickOpts = this.options.ticks;\n    let {maxTicksLimit, stepSize} = tickOpts;\n    let maxTicks;\n    if (stepSize) {\n      maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n      if (maxTicks > 1000) {\n        console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n        maxTicks = 1000;\n      }\n    } else {\n      maxTicks = this.computeTickLimit();\n      maxTicksLimit = maxTicksLimit || 11;\n    }\n    if (maxTicksLimit) {\n      maxTicks = Math.min(maxTicksLimit, maxTicks);\n    }\n    return maxTicks;\n  }\n  computeTickLimit() {\n    return Number.POSITIVE_INFINITY;\n  }\n  buildTicks() {\n    const opts = this.options;\n    const tickOpts = opts.ticks;\n    let maxTicks = this.getTickLimit();\n    maxTicks = Math.max(2, maxTicks);\n    const numericGeneratorOptions = {\n      maxTicks,\n      bounds: opts.bounds,\n      min: opts.min,\n      max: opts.max,\n      precision: tickOpts.precision,\n      step: tickOpts.stepSize,\n      count: tickOpts.count,\n      maxDigits: this._maxDigits(),\n      horizontal: this.isHorizontal(),\n      minRotation: tickOpts.minRotation || 0,\n      includeBounds: tickOpts.includeBounds !== false\n    };\n    const dataRange = this._range || this;\n    const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n    if (opts.bounds === 'ticks') {\n      _setMinAndMaxByKey(ticks, this, 'value');\n    }\n    if (opts.reverse) {\n      ticks.reverse();\n      this.start = this.max;\n      this.end = this.min;\n    } else {\n      this.start = this.min;\n      this.end = this.max;\n    }\n    return ticks;\n  }\n  configure() {\n    const ticks = this.ticks;\n    let start = this.min;\n    let end = this.max;\n    super.configure();\n    if (this.options.offset && ticks.length) {\n      const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n      start -= offset;\n      end += offset;\n    }\n    this._startValue = start;\n    this._endValue = end;\n    this._valueRange = end - start;\n  }\n  getLabelForValue(value) {\n    return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n  }\n}\n\nclass LinearScale extends LinearScaleBase {\n  determineDataLimits() {\n    const {min, max} = this.getMinMax(true);\n    this.min = isNumberFinite(min) ? min : 0;\n    this.max = isNumberFinite(max) ? max : 1;\n    this.handleTickRangeOptions();\n  }\n  computeTickLimit() {\n    const horizontal = this.isHorizontal();\n    const length = horizontal ? this.width : this.height;\n    const minRotation = toRadians(this.options.ticks.minRotation);\n    const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n    const tickFont = this._resolveTickFontOptions(0);\n    return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n  }\n  getPixelForValue(value) {\n    return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n  }\n  getValueForPixel(pixel) {\n    return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n  }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n  ticks: {\n    callback: Ticks.formatters.numeric\n  }\n};\n\nfunction isMajor(tickVal) {\n  const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n  return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n  const endExp = Math.floor(log10(dataRange.max));\n  const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n  const ticks = [];\n  let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n  let exp = Math.floor(log10(tickVal));\n  let significand = Math.floor(tickVal / Math.pow(10, exp));\n  let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n  do {\n    ticks.push({value: tickVal, major: isMajor(tickVal)});\n    ++significand;\n    if (significand === 10) {\n      significand = 1;\n      ++exp;\n      precision = exp >= 0 ? 1 : precision;\n    }\n    tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n  } while (exp < endExp || (exp === endExp && significand < endSignificand));\n  const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n  ticks.push({value: lastTick, major: isMajor(tickVal)});\n  return ticks;\n}\nclass LogarithmicScale extends Scale {\n  constructor(cfg) {\n    super(cfg);\n    this.start = undefined;\n    this.end = undefined;\n    this._startValue = undefined;\n    this._valueRange = 0;\n  }\n  parse(raw, index) {\n    const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n    if (value === 0) {\n      this._zero = true;\n      return undefined;\n    }\n    return isNumberFinite(value) && value > 0 ? value : null;\n  }\n  determineDataLimits() {\n    const {min, max} = this.getMinMax(true);\n    this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n    this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n    if (this.options.beginAtZero) {\n      this._zero = true;\n    }\n    this.handleTickRangeOptions();\n  }\n  handleTickRangeOptions() {\n    const {minDefined, maxDefined} = this.getUserBounds();\n    let min = this.min;\n    let max = this.max;\n    const setMin = v => (min = minDefined ? min : v);\n    const setMax = v => (max = maxDefined ? max : v);\n    const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n    if (min === max) {\n      if (min <= 0) {\n        setMin(1);\n        setMax(10);\n      } else {\n        setMin(exp(min, -1));\n        setMax(exp(max, +1));\n      }\n    }\n    if (min <= 0) {\n      setMin(exp(max, -1));\n    }\n    if (max <= 0) {\n      setMax(exp(min, +1));\n    }\n    if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n      setMin(exp(min, -1));\n    }\n    this.min = min;\n    this.max = max;\n  }\n  buildTicks() {\n    const opts = this.options;\n    const generationOptions = {\n      min: this._userMin,\n      max: this._userMax\n    };\n    const ticks = generateTicks(generationOptions, this);\n    if (opts.bounds === 'ticks') {\n      _setMinAndMaxByKey(ticks, this, 'value');\n    }\n    if (opts.reverse) {\n      ticks.reverse();\n      this.start = this.max;\n      this.end = this.min;\n    } else {\n      this.start = this.min;\n      this.end = this.max;\n    }\n    return ticks;\n  }\n  getLabelForValue(value) {\n    return value === undefined\n      ? '0'\n      : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n  }\n  configure() {\n    const start = this.min;\n    super.configure();\n    this._startValue = log10(start);\n    this._valueRange = log10(this.max) - log10(start);\n  }\n  getPixelForValue(value) {\n    if (value === undefined || value === 0) {\n      value = this.min;\n    }\n    if (value === null || isNaN(value)) {\n      return NaN;\n    }\n    return this.getPixelForDecimal(value === this.min\n      ? 0\n      : (log10(value) - this._startValue) / this._valueRange);\n  }\n  getValueForPixel(pixel) {\n    const decimal = this.getDecimalForPixel(pixel);\n    return Math.pow(10, this._startValue + decimal * this._valueRange);\n  }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n  ticks: {\n    callback: Ticks.formatters.logarithmic,\n    major: {\n      enabled: true\n    }\n  }\n};\n\nfunction getTickBackdropHeight(opts) {\n  const tickOpts = opts.ticks;\n  if (tickOpts.display && opts.display) {\n    const padding = toPadding(tickOpts.backdropPadding);\n    return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n  }\n  return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n  label = isArray(label) ? label : [label];\n  return {\n    w: _longestText(ctx, font.string, label),\n    h: label.length * font.lineHeight\n  };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n  if (angle === min || angle === max) {\n    return {\n      start: pos - (size / 2),\n      end: pos + (size / 2)\n    };\n  } else if (angle < min || angle > max) {\n    return {\n      start: pos - size,\n      end: pos\n    };\n  }\n  return {\n    start: pos,\n    end: pos + size\n  };\n}\nfunction fitWithPointLabels(scale) {\n  const orig = {\n    l: scale.left + scale._padding.left,\n    r: scale.right - scale._padding.right,\n    t: scale.top + scale._padding.top,\n    b: scale.bottom - scale._padding.bottom\n  };\n  const limits = Object.assign({}, orig);\n  const labelSizes = [];\n  const padding = [];\n  const valueCount = scale._pointLabels.length;\n  const pointLabelOpts = scale.options.pointLabels;\n  const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n  for (let i = 0; i < valueCount; i++) {\n    const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n    padding[i] = opts.padding;\n    const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n    const plFont = toFont(opts.font);\n    const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n    labelSizes[i] = textSize;\n    const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n    const angle = Math.round(toDegrees(angleRadians));\n    const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n    const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n    updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n  }\n  scale.setCenterPoint(\n    orig.l - limits.l,\n    limits.r - orig.r,\n    orig.t - limits.t,\n    limits.b - orig.b\n  );\n  scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n  const sin = Math.abs(Math.sin(angle));\n  const cos = Math.abs(Math.cos(angle));\n  let x = 0;\n  let y = 0;\n  if (hLimits.start < orig.l) {\n    x = (orig.l - hLimits.start) / sin;\n    limits.l = Math.min(limits.l, orig.l - x);\n  } else if (hLimits.end > orig.r) {\n    x = (hLimits.end - orig.r) / sin;\n    limits.r = Math.max(limits.r, orig.r + x);\n  }\n  if (vLimits.start < orig.t) {\n    y = (orig.t - vLimits.start) / cos;\n    limits.t = Math.min(limits.t, orig.t - y);\n  } else if (vLimits.end > orig.b) {\n    y = (vLimits.end - orig.b) / cos;\n    limits.b = Math.max(limits.b, orig.b + y);\n  }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n  const items = [];\n  const valueCount = scale._pointLabels.length;\n  const opts = scale.options;\n  const extra = getTickBackdropHeight(opts) / 2;\n  const outerDistance = scale.drawingArea;\n  const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n  for (let i = 0; i < valueCount; i++) {\n    const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n    const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n    const size = labelSizes[i];\n    const y = yForAngle(pointLabelPosition.y, size.h, angle);\n    const textAlign = getTextAlignForAngle(angle);\n    const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n    items.push({\n      x: pointLabelPosition.x,\n      y,\n      textAlign,\n      left,\n      top: y,\n      right: left + size.w,\n      bottom: y + size.h\n    });\n  }\n  return items;\n}\nfunction getTextAlignForAngle(angle) {\n  if (angle === 0 || angle === 180) {\n    return 'center';\n  } else if (angle < 180) {\n    return 'left';\n  }\n  return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n  if (align === 'right') {\n    x -= w;\n  } else if (align === 'center') {\n    x -= (w / 2);\n  }\n  return x;\n}\nfunction yForAngle(y, h, angle) {\n  if (angle === 90 || angle === 270) {\n    y -= (h / 2);\n  } else if (angle > 270 || angle < 90) {\n    y -= h;\n  }\n  return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n  const {ctx, options: {pointLabels}} = scale;\n  for (let i = labelCount - 1; i >= 0; i--) {\n    const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n    const plFont = toFont(optsAtIndex.font);\n    const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n    const {backdropColor} = optsAtIndex;\n    if (!isNullOrUndef(backdropColor)) {\n      const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n      const padding = toPadding(optsAtIndex.backdropPadding);\n      ctx.fillStyle = backdropColor;\n      const backdropLeft = left - padding.left;\n      const backdropTop = top - padding.top;\n      const backdropWidth = right - left + padding.width;\n      const backdropHeight = bottom - top + padding.height;\n      if (Object.values(borderRadius).some(v => v !== 0)) {\n        ctx.beginPath();\n        addRoundedRectPath(ctx, {\n          x: backdropLeft,\n          y: backdropTop,\n          w: backdropWidth,\n          h: backdropHeight,\n          radius: borderRadius,\n        });\n        ctx.fill();\n      } else {\n        ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n      }\n    }\n    renderText(\n      ctx,\n      scale._pointLabels[i],\n      x,\n      y + (plFont.lineHeight / 2),\n      plFont,\n      {\n        color: optsAtIndex.color,\n        textAlign: textAlign,\n        textBaseline: 'middle'\n      }\n    );\n  }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n  const {ctx} = scale;\n  if (circular) {\n    ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n  } else {\n    let pointPosition = scale.getPointPosition(0, radius);\n    ctx.moveTo(pointPosition.x, pointPosition.y);\n    for (let i = 1; i < labelCount; i++) {\n      pointPosition = scale.getPointPosition(i, radius);\n      ctx.lineTo(pointPosition.x, pointPosition.y);\n    }\n  }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n  const ctx = scale.ctx;\n  const circular = gridLineOpts.circular;\n  const {color, lineWidth} = gridLineOpts;\n  if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n    return;\n  }\n  ctx.save();\n  ctx.strokeStyle = color;\n  ctx.lineWidth = lineWidth;\n  ctx.setLineDash(gridLineOpts.borderDash);\n  ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n  ctx.beginPath();\n  pathRadiusLine(scale, radius, circular, labelCount);\n  ctx.closePath();\n  ctx.stroke();\n  ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n  return createContext(parent, {\n    label,\n    index,\n    type: 'pointLabel'\n  });\n}\nclass RadialLinearScale extends LinearScaleBase {\n  constructor(cfg) {\n    super(cfg);\n    this.xCenter = undefined;\n    this.yCenter = undefined;\n    this.drawingArea = undefined;\n    this._pointLabels = [];\n    this._pointLabelItems = [];\n  }\n  setDimensions() {\n    const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n    const w = this.width = this.maxWidth - padding.width;\n    const h = this.height = this.maxHeight - padding.height;\n    this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n    this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n    this.drawingArea = Math.floor(Math.min(w, h) / 2);\n  }\n  determineDataLimits() {\n    const {min, max} = this.getMinMax(false);\n    this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n    this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n    this.handleTickRangeOptions();\n  }\n  computeTickLimit() {\n    return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n  }\n  generateTickLabels(ticks) {\n    LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n    this._pointLabels = this.getLabels()\n      .map((value, index) => {\n        const label = callback(this.options.pointLabels.callback, [value, index], this);\n        return label || label === 0 ? label : '';\n      })\n      .filter((v, i) => this.chart.getDataVisibility(i));\n  }\n  fit() {\n    const opts = this.options;\n    if (opts.display && opts.pointLabels.display) {\n      fitWithPointLabels(this);\n    } else {\n      this.setCenterPoint(0, 0, 0, 0);\n    }\n  }\n  setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n    this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n    this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n    this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n  }\n  getIndexAngle(index) {\n    const angleMultiplier = TAU / (this._pointLabels.length || 1);\n    const startAngle = this.options.startAngle || 0;\n    return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n  }\n  getDistanceFromCenterForValue(value) {\n    if (isNullOrUndef(value)) {\n      return NaN;\n    }\n    const scalingFactor = this.drawingArea / (this.max - this.min);\n    if (this.options.reverse) {\n      return (this.max - value) * scalingFactor;\n    }\n    return (value - this.min) * scalingFactor;\n  }\n  getValueForDistanceFromCenter(distance) {\n    if (isNullOrUndef(distance)) {\n      return NaN;\n    }\n    const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n    return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n  }\n  getPointLabelContext(index) {\n    const pointLabels = this._pointLabels || [];\n    if (index >= 0 && index < pointLabels.length) {\n      const pointLabel = pointLabels[index];\n      return createPointLabelContext(this.getContext(), index, pointLabel);\n    }\n  }\n  getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n    const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n    return {\n      x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n      y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n      angle\n    };\n  }\n  getPointPositionForValue(index, value) {\n    return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n  }\n  getBasePosition(index) {\n    return this.getPointPositionForValue(index || 0, this.getBaseValue());\n  }\n  getPointLabelPosition(index) {\n    const {left, top, right, bottom} = this._pointLabelItems[index];\n    return {\n      left,\n      top,\n      right,\n      bottom,\n    };\n  }\n  drawBackground() {\n    const {backgroundColor, grid: {circular}} = this.options;\n    if (backgroundColor) {\n      const ctx = this.ctx;\n      ctx.save();\n      ctx.beginPath();\n      pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n      ctx.closePath();\n      ctx.fillStyle = backgroundColor;\n      ctx.fill();\n      ctx.restore();\n    }\n  }\n  drawGrid() {\n    const ctx = this.ctx;\n    const opts = this.options;\n    const {angleLines, grid} = opts;\n    const labelCount = this._pointLabels.length;\n    let i, offset, position;\n    if (opts.pointLabels.display) {\n      drawPointLabels(this, labelCount);\n    }\n    if (grid.display) {\n      this.ticks.forEach((tick, index) => {\n        if (index !== 0) {\n          offset = this.getDistanceFromCenterForValue(tick.value);\n          const optsAtIndex = grid.setContext(this.getContext(index - 1));\n          drawRadiusLine(this, optsAtIndex, offset, labelCount);\n        }\n      });\n    }\n    if (angleLines.display) {\n      ctx.save();\n      for (i = labelCount - 1; i >= 0; i--) {\n        const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n        const {color, lineWidth} = optsAtIndex;\n        if (!lineWidth || !color) {\n          continue;\n        }\n        ctx.lineWidth = lineWidth;\n        ctx.strokeStyle = color;\n        ctx.setLineDash(optsAtIndex.borderDash);\n        ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n        offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n        position = this.getPointPosition(i, offset);\n        ctx.beginPath();\n        ctx.moveTo(this.xCenter, this.yCenter);\n        ctx.lineTo(position.x, position.y);\n        ctx.stroke();\n      }\n      ctx.restore();\n    }\n  }\n  drawBorder() {}\n  drawLabels() {\n    const ctx = this.ctx;\n    const opts = this.options;\n    const tickOpts = opts.ticks;\n    if (!tickOpts.display) {\n      return;\n    }\n    const startAngle = this.getIndexAngle(0);\n    let offset, width;\n    ctx.save();\n    ctx.translate(this.xCenter, this.yCenter);\n    ctx.rotate(startAngle);\n    ctx.textAlign = 'center';\n    ctx.textBaseline = 'middle';\n    this.ticks.forEach((tick, index) => {\n      if (index === 0 && !opts.reverse) {\n        return;\n      }\n      const optsAtIndex = tickOpts.setContext(this.getContext(index));\n      const tickFont = toFont(optsAtIndex.font);\n      offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n      if (optsAtIndex.showLabelBackdrop) {\n        ctx.font = tickFont.string;\n        width = ctx.measureText(tick.label).width;\n        ctx.fillStyle = optsAtIndex.backdropColor;\n        const padding = toPadding(optsAtIndex.backdropPadding);\n        ctx.fillRect(\n          -width / 2 - padding.left,\n          -offset - tickFont.size / 2 - padding.top,\n          width + padding.width,\n          tickFont.size + padding.height\n        );\n      }\n      renderText(ctx, tick.label, 0, -offset, tickFont, {\n        color: optsAtIndex.color,\n      });\n    });\n    ctx.restore();\n  }\n  drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n  display: true,\n  animate: true,\n  position: 'chartArea',\n  angleLines: {\n    display: true,\n    lineWidth: 1,\n    borderDash: [],\n    borderDashOffset: 0.0\n  },\n  grid: {\n    circular: false\n  },\n  startAngle: 0,\n  ticks: {\n    showLabelBackdrop: true,\n    callback: Ticks.formatters.numeric\n  },\n  pointLabels: {\n    backdropColor: undefined,\n    backdropPadding: 2,\n    display: true,\n    font: {\n      size: 10\n    },\n    callback(label) {\n      return label;\n    },\n    padding: 5,\n    centerPointLabels: false\n  }\n};\nRadialLinearScale.defaultRoutes = {\n  'angleLines.color': 'borderColor',\n  'pointLabels.color': 'color',\n  'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n  angleLines: {\n    _fallback: 'grid'\n  }\n};\n\nconst INTERVALS = {\n  millisecond: {common: true, size: 1, steps: 1000},\n  second: {common: true, size: 1000, steps: 60},\n  minute: {common: true, size: 60000, steps: 60},\n  hour: {common: true, size: 3600000, steps: 24},\n  day: {common: true, size: 86400000, steps: 30},\n  week: {common: false, size: 604800000, steps: 4},\n  month: {common: true, size: 2.628e9, steps: 12},\n  quarter: {common: false, size: 7.884e9, steps: 4},\n  year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n  return a - b;\n}\nfunction parse(scale, input) {\n  if (isNullOrUndef(input)) {\n    return null;\n  }\n  const adapter = scale._adapter;\n  const {parser, round, isoWeekday} = scale._parseOpts;\n  let value = input;\n  if (typeof parser === 'function') {\n    value = parser(value);\n  }\n  if (!isNumberFinite(value)) {\n    value = typeof parser === 'string'\n      ? adapter.parse(value, parser)\n      : adapter.parse(value);\n  }\n  if (value === null) {\n    return null;\n  }\n  if (round) {\n    value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n      ? adapter.startOf(value, 'isoWeek', isoWeekday)\n      : adapter.startOf(value, round);\n  }\n  return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n  const ilen = UNITS.length;\n  for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n    const interval = INTERVALS[UNITS[i]];\n    const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n    if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n      return UNITS[i];\n    }\n  }\n  return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n  for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n    const unit = UNITS[i];\n    if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n      return unit;\n    }\n  }\n  return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n  for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n    if (INTERVALS[UNITS[i]].common) {\n      return UNITS[i];\n    }\n  }\n}\nfunction addTick(ticks, time, timestamps) {\n  if (!timestamps) {\n    ticks[time] = true;\n  } else if (timestamps.length) {\n    const {lo, hi} = _lookup(timestamps, time);\n    const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n    ticks[timestamp] = true;\n  }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n  const adapter = scale._adapter;\n  const first = +adapter.startOf(ticks[0].value, majorUnit);\n  const last = ticks[ticks.length - 1].value;\n  let major, index;\n  for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n    index = map[major];\n    if (index >= 0) {\n      ticks[index].major = true;\n    }\n  }\n  return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n  const ticks = [];\n  const map = {};\n  const ilen = values.length;\n  let i, value;\n  for (i = 0; i < ilen; ++i) {\n    value = values[i];\n    map[value] = i;\n    ticks.push({\n      value,\n      major: false\n    });\n  }\n  return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n  constructor(props) {\n    super(props);\n    this._cache = {\n      data: [],\n      labels: [],\n      all: []\n    };\n    this._unit = 'day';\n    this._majorUnit = undefined;\n    this._offsets = {};\n    this._normalized = false;\n    this._parseOpts = undefined;\n  }\n  init(scaleOpts, opts) {\n    const time = scaleOpts.time || (scaleOpts.time = {});\n    const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n    adapter.init(opts);\n    mergeIf(time.displayFormats, adapter.formats());\n    this._parseOpts = {\n      parser: time.parser,\n      round: time.round,\n      isoWeekday: time.isoWeekday\n    };\n    super.init(scaleOpts);\n    this._normalized = opts.normalized;\n  }\n  parse(raw, index) {\n    if (raw === undefined) {\n      return null;\n    }\n    return parse(this, raw);\n  }\n  beforeLayout() {\n    super.beforeLayout();\n    this._cache = {\n      data: [],\n      labels: [],\n      all: []\n    };\n  }\n  determineDataLimits() {\n    const options = this.options;\n    const adapter = this._adapter;\n    const unit = options.time.unit || 'day';\n    let {min, max, minDefined, maxDefined} = this.getUserBounds();\n    function _applyBounds(bounds) {\n      if (!minDefined && !isNaN(bounds.min)) {\n        min = Math.min(min, bounds.min);\n      }\n      if (!maxDefined && !isNaN(bounds.max)) {\n        max = Math.max(max, bounds.max);\n      }\n    }\n    if (!minDefined || !maxDefined) {\n      _applyBounds(this._getLabelBounds());\n      if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n        _applyBounds(this.getMinMax(false));\n      }\n    }\n    min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n    max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n    this.min = Math.min(min, max - 1);\n    this.max = Math.max(min + 1, max);\n  }\n  _getLabelBounds() {\n    const arr = this.getLabelTimestamps();\n    let min = Number.POSITIVE_INFINITY;\n    let max = Number.NEGATIVE_INFINITY;\n    if (arr.length) {\n      min = arr[0];\n      max = arr[arr.length - 1];\n    }\n    return {min, max};\n  }\n  buildTicks() {\n    const options = this.options;\n    const timeOpts = options.time;\n    const tickOpts = options.ticks;\n    const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n    if (options.bounds === 'ticks' && timestamps.length) {\n      this.min = this._userMin || timestamps[0];\n      this.max = this._userMax || timestamps[timestamps.length - 1];\n    }\n    const min = this.min;\n    const max = this.max;\n    const ticks = _filterBetween(timestamps, min, max);\n    this._unit = timeOpts.unit || (tickOpts.autoSkip\n      ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n      : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n    this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n      : determineMajorUnit(this._unit);\n    this.initOffsets(timestamps);\n    if (options.reverse) {\n      ticks.reverse();\n    }\n    return ticksFromTimestamps(this, ticks, this._majorUnit);\n  }\n  afterAutoSkip() {\n    if (this.options.offsetAfterAutoskip) {\n      this.initOffsets(this.ticks.map(tick => +tick.value));\n    }\n  }\n  initOffsets(timestamps) {\n    let start = 0;\n    let end = 0;\n    let first, last;\n    if (this.options.offset && timestamps.length) {\n      first = this.getDecimalForValue(timestamps[0]);\n      if (timestamps.length === 1) {\n        start = 1 - first;\n      } else {\n        start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n      }\n      last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n      if (timestamps.length === 1) {\n        end = last;\n      } else {\n        end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n      }\n    }\n    const limit = timestamps.length < 3 ? 0.5 : 0.25;\n    start = _limitValue(start, 0, limit);\n    end = _limitValue(end, 0, limit);\n    this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n  }\n  _generate() {\n    const adapter = this._adapter;\n    const min = this.min;\n    const max = this.max;\n    const options = this.options;\n    const timeOpts = options.time;\n    const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n    const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n    const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n    const hasWeekday = isNumber(weekday) || weekday === true;\n    const ticks = {};\n    let first = min;\n    let time, count;\n    if (hasWeekday) {\n      first = +adapter.startOf(first, 'isoWeek', weekday);\n    }\n    first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n    if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n      throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n    }\n    const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n    for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n      addTick(ticks, time, timestamps);\n    }\n    if (time === max || options.bounds === 'ticks' || count === 1) {\n      addTick(ticks, time, timestamps);\n    }\n    return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n  }\n  getLabelForValue(value) {\n    const adapter = this._adapter;\n    const timeOpts = this.options.time;\n    if (timeOpts.tooltipFormat) {\n      return adapter.format(value, timeOpts.tooltipFormat);\n    }\n    return adapter.format(value, timeOpts.displayFormats.datetime);\n  }\n  _tickFormatFunction(time, index, ticks, format) {\n    const options = this.options;\n    const formats = options.time.displayFormats;\n    const unit = this._unit;\n    const majorUnit = this._majorUnit;\n    const minorFormat = unit && formats[unit];\n    const majorFormat = majorUnit && formats[majorUnit];\n    const tick = ticks[index];\n    const major = majorUnit && majorFormat && tick && tick.major;\n    const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n    const formatter = options.ticks.callback;\n    return formatter ? callback(formatter, [label, index, ticks], this) : label;\n  }\n  generateTickLabels(ticks) {\n    let i, ilen, tick;\n    for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n      tick = ticks[i];\n      tick.label = this._tickFormatFunction(tick.value, i, ticks);\n    }\n  }\n  getDecimalForValue(value) {\n    return value === null ? NaN : (value - this.min) / (this.max - this.min);\n  }\n  getPixelForValue(value) {\n    const offsets = this._offsets;\n    const pos = this.getDecimalForValue(value);\n    return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n  }\n  getValueForPixel(pixel) {\n    const offsets = this._offsets;\n    const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n    return this.min + pos * (this.max - this.min);\n  }\n  _getLabelSize(label) {\n    const ticksOpts = this.options.ticks;\n    const tickLabelWidth = this.ctx.measureText(label).width;\n    const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n    const cosRotation = Math.cos(angle);\n    const sinRotation = Math.sin(angle);\n    const tickFontSize = this._resolveTickFontOptions(0).size;\n    return {\n      w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n      h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n    };\n  }\n  _getLabelCapacity(exampleTime) {\n    const timeOpts = this.options.time;\n    const displayFormats = timeOpts.displayFormats;\n    const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n    const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n    const size = this._getLabelSize(exampleLabel);\n    const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n    return capacity > 0 ? capacity : 1;\n  }\n  getDataTimestamps() {\n    let timestamps = this._cache.data || [];\n    let i, ilen;\n    if (timestamps.length) {\n      return timestamps;\n    }\n    const metas = this.getMatchingVisibleMetas();\n    if (this._normalized && metas.length) {\n      return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n    }\n    for (i = 0, ilen = metas.length; i < ilen; ++i) {\n      timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n    }\n    return (this._cache.data = this.normalize(timestamps));\n  }\n  getLabelTimestamps() {\n    const timestamps = this._cache.labels || [];\n    let i, ilen;\n    if (timestamps.length) {\n      return timestamps;\n    }\n    const labels = this.getLabels();\n    for (i = 0, ilen = labels.length; i < ilen; ++i) {\n      timestamps.push(parse(this, labels[i]));\n    }\n    return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n  }\n  normalize(values) {\n    return _arrayUnique(values.sort(sorter));\n  }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n  bounds: 'data',\n  adapters: {},\n  time: {\n    parser: false,\n    unit: false,\n    round: false,\n    isoWeekday: false,\n    minUnit: 'millisecond',\n    displayFormats: {}\n  },\n  ticks: {\n    source: 'auto',\n    major: {\n      enabled: false\n    }\n  }\n};\n\nfunction interpolate(table, val, reverse) {\n  let lo = 0;\n  let hi = table.length - 1;\n  let prevSource, nextSource, prevTarget, nextTarget;\n  if (reverse) {\n    if (val >= table[lo].pos && val <= table[hi].pos) {\n      ({lo, hi} = _lookupByKey(table, 'pos', val));\n    }\n    ({pos: prevSource, time: prevTarget} = table[lo]);\n    ({pos: nextSource, time: nextTarget} = table[hi]);\n  } else {\n    if (val >= table[lo].time && val <= table[hi].time) {\n      ({lo, hi} = _lookupByKey(table, 'time', val));\n    }\n    ({time: prevSource, pos: prevTarget} = table[lo]);\n    ({time: nextSource, pos: nextTarget} = table[hi]);\n  }\n  const span = nextSource - prevSource;\n  return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n  constructor(props) {\n    super(props);\n    this._table = [];\n    this._minPos = undefined;\n    this._tableRange = undefined;\n  }\n  initOffsets() {\n    const timestamps = this._getTimestampsForTable();\n    const table = this._table = this.buildLookupTable(timestamps);\n    this._minPos = interpolate(table, this.min);\n    this._tableRange = interpolate(table, this.max) - this._minPos;\n    super.initOffsets(timestamps);\n  }\n  buildLookupTable(timestamps) {\n    const {min, max} = this;\n    const items = [];\n    const table = [];\n    let i, ilen, prev, curr, next;\n    for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n      curr = timestamps[i];\n      if (curr >= min && curr <= max) {\n        items.push(curr);\n      }\n    }\n    if (items.length < 2) {\n      return [\n        {time: min, pos: 0},\n        {time: max, pos: 1}\n      ];\n    }\n    for (i = 0, ilen = items.length; i < ilen; ++i) {\n      next = items[i + 1];\n      prev = items[i - 1];\n      curr = items[i];\n      if (Math.round((next + prev) / 2) !== curr) {\n        table.push({time: curr, pos: i / (ilen - 1)});\n      }\n    }\n    return table;\n  }\n  _getTimestampsForTable() {\n    let timestamps = this._cache.all || [];\n    if (timestamps.length) {\n      return timestamps;\n    }\n    const data = this.getDataTimestamps();\n    const label = this.getLabelTimestamps();\n    if (data.length && label.length) {\n      timestamps = this.normalize(data.concat(label));\n    } else {\n      timestamps = data.length ? data : label;\n    }\n    timestamps = this._cache.all = timestamps;\n    return timestamps;\n  }\n  getDecimalForValue(value) {\n    return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n  }\n  getValueForPixel(pixel) {\n    const offsets = this._offsets;\n    const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n    return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n  }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n  controllers,\n  elements,\n  plugins,\n  scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","/*!\n* chartjs-plugin-zoom v1.2.1\n* undefined\n * (c) 2016-2022 chartjs-plugin-zoom Contributors\n * Released under the MIT License\n */\nimport Hammer from 'hammerjs';\nimport { each, valueOrDefault, callback, sign } from 'chart.js/helpers';\n\nconst getModifierKey = opts => opts && opts.enabled && opts.modifierKey;\nconst keyPressed = (key, event) => key && event[key + 'Key'];\nconst keyNotPressed = (key, event) => key && !event[key + 'Key'];\n\n/**\n * @param {string|function} mode can be 'x', 'y' or 'xy'\n * @param {string} dir can be 'x' or 'y'\n * @param {import('chart.js').Chart} chart instance of the chart in question\n * @returns {boolean}\n */\nfunction directionEnabled(mode, dir, chart) {\n  if (mode === undefined) {\n    return true;\n  } else if (typeof mode === 'string') {\n    return mode.indexOf(dir) !== -1;\n  } else if (typeof mode === 'function') {\n    return mode({chart}).indexOf(dir) !== -1;\n  }\n\n  return false;\n}\n\n/**\n * Debounces calling `fn` for `delay` ms\n * @param {function} fn - Function to call. No arguments are passed.\n * @param {number} delay - Delay in ms. 0 = immediate invocation.\n * @returns {function}\n */\nfunction debounce(fn, delay) {\n  let timeout;\n  return function() {\n    clearTimeout(timeout);\n    timeout = setTimeout(fn, delay);\n    return delay;\n  };\n}\n\n/** This function use for check what axis now under mouse cursor.\n * @param {{x: number, y: number}} point - the mouse location\n * @param {import('chart.js').Chart} [chart] instance of the chart in question\n * @return {import('chart.js').Scale}\n */\nfunction getScaleUnderPoint({x, y}, chart) {\n  const scales = chart.scales;\n  const scaleIds = Object.keys(scales);\n  for (let i = 0; i < scaleIds.length; i++) {\n    const scale = scales[scaleIds[i]];\n    if (y >= scale.top && y <= scale.bottom && x >= scale.left && x <= scale.right) {\n      return scale;\n    }\n  }\n  return null;\n}\n\n/** This function return only one scale whose position is under mouse cursor and which direction is enabled.\n * If under mouse hasn't scale, then return all other scales which 'mode' is diffrent with overScaleMode.\n * So 'overScaleMode' works as a limiter to scale the user-selected scale (in 'mode') only when the cursor is under the scale,\n * and other directions in 'mode' works as before.\n * Example: mode = 'xy', overScaleMode = 'y' -> it's means 'x' - works as before, and 'y' only works for one scale when cursor is under it.\n * options.overScaleMode can be a function if user want zoom only one scale of many for example.\n * @param {string} mode - 'xy', 'x' or 'y'\n * @param {{x: number, y: number}} point - the mouse location\n * @param {import('chart.js').Chart} [chart] instance of the chart in question\n * @return {import('chart.js').Scale[]}\n */\nfunction getEnabledScalesByPoint(mode, point, chart) {\n  const scale = getScaleUnderPoint(point, chart);\n\n  if (scale && directionEnabled(mode, scale.axis, chart)) {\n    return [scale];\n  }\n\n  const enabledScales = [];\n  each(chart.scales, function(scaleItem) {\n    if (!directionEnabled(mode, scaleItem.axis, chart)) {\n      enabledScales.push(scaleItem);\n    }\n  });\n  return enabledScales;\n}\n\nconst chartStates = new WeakMap();\n\nfunction getState(chart) {\n  let state = chartStates.get(chart);\n  if (!state) {\n    state = {\n      originalScaleLimits: {},\n      updatedScaleLimits: {},\n      handlers: {},\n      panDelta: {}\n    };\n    chartStates.set(chart, state);\n  }\n  return state;\n}\n\nfunction removeState(chart) {\n  chartStates.delete(chart);\n}\n\nfunction zoomDelta(scale, zoom, center) {\n  const range = scale.max - scale.min;\n  const newRange = range * (zoom - 1);\n\n  const centerPoint = scale.isHorizontal() ? center.x : center.y;\n  // `scale.getValueForPixel()` can return a value less than the `scale.min` or\n  // greater than `scale.max` when `centerPoint` is outside chartArea.\n  const minPercent = Math.max(0, Math.min(1,\n    (scale.getValueForPixel(centerPoint) - scale.min) / range || 0\n  ));\n\n  const maxPercent = 1 - minPercent;\n\n  return {\n    min: newRange * minPercent,\n    max: newRange * maxPercent\n  };\n}\n\nfunction getLimit(state, scale, scaleLimits, prop, fallback) {\n  let limit = scaleLimits[prop];\n  if (limit === 'original') {\n    const original = state.originalScaleLimits[scale.id][prop];\n    limit = valueOrDefault(original.options, original.scale);\n  }\n  return valueOrDefault(limit, fallback);\n}\n\nfunction updateRange(scale, {min, max}, limits, zoom = false) {\n  const state = getState(scale.chart);\n  const {id, axis, options: scaleOpts} = scale;\n\n  const scaleLimits = limits && (limits[id] || limits[axis]) || {};\n  const {minRange = 0} = scaleLimits;\n  const minLimit = getLimit(state, scale, scaleLimits, 'min', -Infinity);\n  const maxLimit = getLimit(state, scale, scaleLimits, 'max', Infinity);\n\n  const cmin = Math.max(min, minLimit);\n  const cmax = Math.min(max, maxLimit);\n  const range = zoom ? Math.max(cmax - cmin, minRange) : scale.max - scale.min;\n  if (cmax - cmin !== range) {\n    if (minLimit > cmax - range) {\n      min = cmin;\n      max = cmin + range;\n    } else if (maxLimit < cmin + range) {\n      max = cmax;\n      min = cmax - range;\n    } else {\n      const offset = (range - cmax + cmin) / 2;\n      min = cmin - offset;\n      max = cmax + offset;\n    }\n  } else {\n    min = cmin;\n    max = cmax;\n  }\n  scaleOpts.min = min;\n  scaleOpts.max = max;\n\n  state.updatedScaleLimits[scale.id] = {min, max};\n\n  // return true if the scale range is changed\n  return scale.parse(min) !== scale.min || scale.parse(max) !== scale.max;\n}\n\nfunction zoomNumericalScale(scale, zoom, center, limits) {\n  const delta = zoomDelta(scale, zoom, center);\n  const newRange = {min: scale.min + delta.min, max: scale.max - delta.max};\n  return updateRange(scale, newRange, limits, true);\n}\n\nconst integerChange = (v) => v === 0 || isNaN(v) ? 0 : v < 0 ? Math.min(Math.round(v), -1) : Math.max(Math.round(v), 1);\n\nfunction existCategoryFromMaxZoom(scale) {\n  const labels = scale.getLabels();\n  const maxIndex = labels.length - 1;\n\n  if (scale.min > 0) {\n    scale.min -= 1;\n  }\n  if (scale.max < maxIndex) {\n    scale.max += 1;\n  }\n}\n\nfunction zoomCategoryScale(scale, zoom, center, limits) {\n  const delta = zoomDelta(scale, zoom, center);\n  if (scale.min === scale.max && zoom < 1) {\n    existCategoryFromMaxZoom(scale);\n  }\n  const newRange = {min: scale.min + integerChange(delta.min), max: scale.max - integerChange(delta.max)};\n  return updateRange(scale, newRange, limits, true);\n}\n\nfunction scaleLength(scale) {\n  return scale.isHorizontal() ? scale.width : scale.height;\n}\n\nfunction panCategoryScale(scale, delta, limits) {\n  const labels = scale.getLabels();\n  const lastLabelIndex = labels.length - 1;\n  let {min, max} = scale;\n  // The visible range. Ticks can be skipped, and thus not reliable.\n  const range = Math.max(max - min, 1);\n  // How many pixels of delta is required before making a step. stepSize, but limited to max 1/10 of the scale length.\n  const stepDelta = Math.round(scaleLength(scale) / Math.max(range, 10));\n  const stepSize = Math.round(Math.abs(delta / stepDelta));\n  let applied;\n  if (delta < -stepDelta) {\n    max = Math.min(max + stepSize, lastLabelIndex);\n    min = range === 1 ? max : max - range;\n    applied = max === lastLabelIndex;\n  } else if (delta > stepDelta) {\n    min = Math.max(0, min - stepSize);\n    max = range === 1 ? min : min + range;\n    applied = min === 0;\n  }\n\n  return updateRange(scale, {min, max}, limits) || applied;\n}\n\nconst OFFSETS = {\n  second: 500, // 500 ms\n  minute: 30 * 1000, // 30 s\n  hour: 30 * 60 * 1000, // 30 m\n  day: 12 * 60 * 60 * 1000, // 12 h\n  week: 3.5 * 24 * 60 * 60 * 1000, // 3.5 d\n  month: 15 * 24 * 60 * 60 * 1000, // 15 d\n  quarter: 60 * 24 * 60 * 60 * 1000, // 60 d\n  year: 182 * 24 * 60 * 60 * 1000 // 182 d\n};\n\nfunction panNumericalScale(scale, delta, limits, canZoom = false) {\n  const {min: prevStart, max: prevEnd, options} = scale;\n  const round = options.time && options.time.round;\n  const offset = OFFSETS[round] || 0;\n  const newMin = scale.getValueForPixel(scale.getPixelForValue(prevStart + offset) - delta);\n  const newMax = scale.getValueForPixel(scale.getPixelForValue(prevEnd + offset) - delta);\n  const {min: minLimit = -Infinity, max: maxLimit = Infinity} = canZoom && limits && limits[scale.axis] || {};\n  if (isNaN(newMin) || isNaN(newMax) || newMin < minLimit || newMax > maxLimit) {\n    // At limit: No change but return true to indicate no need to store the delta.\n    // NaN can happen for 0-dimension scales (either because they were configured\n    // with min === max or because the chart has 0 plottable area).\n    return true;\n  }\n  return updateRange(scale, {min: newMin, max: newMax}, limits, canZoom);\n}\n\nfunction panNonLinearScale(scale, delta, limits) {\n  return panNumericalScale(scale, delta, limits, true);\n}\n\nconst zoomFunctions = {\n  category: zoomCategoryScale,\n  default: zoomNumericalScale,\n};\n\nconst panFunctions = {\n  category: panCategoryScale,\n  default: panNumericalScale,\n  logarithmic: panNonLinearScale,\n  timeseries: panNonLinearScale,\n};\n\nfunction shouldUpdateScaleLimits(scale, originalScaleLimits, updatedScaleLimits) {\n  const {id, options: {min, max}} = scale;\n  if (!originalScaleLimits[id] || !updatedScaleLimits[id]) {\n    return true;\n  }\n  const previous = updatedScaleLimits[id];\n  return previous.min !== min || previous.max !== max;\n}\n\nfunction removeMissingScales(limits, scales) {\n  each(limits, (opt, key) => {\n    if (!scales[key]) {\n      delete limits[key];\n    }\n  });\n}\n\nfunction storeOriginalScaleLimits(chart, state) {\n  const {scales} = chart;\n  const {originalScaleLimits, updatedScaleLimits} = state;\n\n  each(scales, function(scale) {\n    if (shouldUpdateScaleLimits(scale, originalScaleLimits, updatedScaleLimits)) {\n      originalScaleLimits[scale.id] = {\n        min: {scale: scale.min, options: scale.options.min},\n        max: {scale: scale.max, options: scale.options.max},\n      };\n    }\n  });\n\n  removeMissingScales(originalScaleLimits, scales);\n  removeMissingScales(updatedScaleLimits, scales);\n  return originalScaleLimits;\n}\n\nfunction doZoom(scale, amount, center, limits) {\n  const fn = zoomFunctions[scale.type] || zoomFunctions.default;\n  callback(fn, [scale, amount, center, limits]);\n}\n\nfunction getCenter(chart) {\n  const ca = chart.chartArea;\n  return {\n    x: (ca.left + ca.right) / 2,\n    y: (ca.top + ca.bottom) / 2,\n  };\n}\n\n/**\n * @param chart The chart instance\n * @param {number | {x?: number, y?: number, focalPoint?: {x: number, y: number}}} amount The zoom percentage or percentages and focal point\n * @param {string} [transition] Which transition mode to use. Defaults to 'none'\n */\nfunction zoom(chart, amount, transition = 'none') {\n  const {x = 1, y = 1, focalPoint = getCenter(chart)} = typeof amount === 'number' ? {x: amount, y: amount} : amount;\n  const state = getState(chart);\n  const {options: {limits, zoom: zoomOptions}} = state;\n  const {mode = 'xy', overScaleMode} = zoomOptions || {};\n\n  storeOriginalScaleLimits(chart, state);\n\n  const xEnabled = x !== 1 && directionEnabled(mode, 'x', chart);\n  const yEnabled = y !== 1 && directionEnabled(mode, 'y', chart);\n  const enabledScales = overScaleMode && getEnabledScalesByPoint(overScaleMode, focalPoint, chart);\n\n  each(enabledScales || chart.scales, function(scale) {\n    if (scale.isHorizontal() && xEnabled) {\n      doZoom(scale, x, focalPoint, limits);\n    } else if (!scale.isHorizontal() && yEnabled) {\n      doZoom(scale, y, focalPoint, limits);\n    }\n  });\n\n  chart.update(transition);\n\n  callback(zoomOptions.onZoom, [{chart}]);\n}\n\nfunction getRange(scale, pixel0, pixel1) {\n  const v0 = scale.getValueForPixel(pixel0);\n  const v1 = scale.getValueForPixel(pixel1);\n  return {\n    min: Math.min(v0, v1),\n    max: Math.max(v0, v1)\n  };\n}\n\nfunction zoomRect(chart, p0, p1, transition = 'none') {\n  const state = getState(chart);\n  const {options: {limits, zoom: zoomOptions}} = state;\n  const {mode = 'xy'} = zoomOptions;\n\n  storeOriginalScaleLimits(chart, state);\n  const xEnabled = directionEnabled(mode, 'x', chart);\n  const yEnabled = directionEnabled(mode, 'y', chart);\n\n  each(chart.scales, function(scale) {\n    if (scale.isHorizontal() && xEnabled) {\n      updateRange(scale, getRange(scale, p0.x, p1.x), limits, true);\n    } else if (!scale.isHorizontal() && yEnabled) {\n      updateRange(scale, getRange(scale, p0.y, p1.y), limits, true);\n    }\n  });\n\n  chart.update(transition);\n\n  callback(zoomOptions.onZoom, [{chart}]);\n}\n\nfunction zoomScale(chart, scaleId, range, transition = 'none') {\n  storeOriginalScaleLimits(chart, getState(chart));\n  const scale = chart.scales[scaleId];\n  updateRange(scale, range, undefined, true);\n  chart.update(transition);\n}\n\nfunction resetZoom(chart, transition = 'default') {\n  const state = getState(chart);\n  const originalScaleLimits = storeOriginalScaleLimits(chart, state);\n\n  each(chart.scales, function(scale) {\n    const scaleOptions = scale.options;\n    if (originalScaleLimits[scale.id]) {\n      scaleOptions.min = originalScaleLimits[scale.id].min.options;\n      scaleOptions.max = originalScaleLimits[scale.id].max.options;\n    } else {\n      delete scaleOptions.min;\n      delete scaleOptions.max;\n    }\n  });\n  chart.update(transition);\n  callback(state.options.zoom.onZoomComplete, [{chart}]);\n}\n\nfunction getOriginalRange(state, scaleId) {\n  const original = state.originalScaleLimits[scaleId];\n  if (!original) {\n    return;\n  }\n  const {min, max} = original;\n  return valueOrDefault(max.options, max.scale) - valueOrDefault(min.options, min.scale);\n}\n\nfunction getZoomLevel(chart) {\n  const state = getState(chart);\n  let min = 1;\n  let max = 1;\n  each(chart.scales, function(scale) {\n    const origRange = getOriginalRange(state, scale.id);\n    if (origRange) {\n      const level = Math.round(origRange / (scale.max - scale.min) * 100) / 100;\n      min = Math.min(min, level);\n      max = Math.max(max, level);\n    }\n  });\n  return min < 1 ? min : max;\n}\n\nfunction panScale(scale, delta, limits, state) {\n  const {panDelta} = state;\n  // Add possible cumulative delta from previous pan attempts where scale did not change\n  const storedDelta = panDelta[scale.id] || 0;\n  if (sign(storedDelta) === sign(delta)) {\n    delta += storedDelta;\n  }\n  const fn = panFunctions[scale.type] || panFunctions.default;\n  if (callback(fn, [scale, delta, limits])) {\n    // The scale changed, reset cumulative delta\n    panDelta[scale.id] = 0;\n  } else {\n    // The scale did not change, store cumulative delta\n    panDelta[scale.id] = delta;\n  }\n}\n\nfunction pan(chart, delta, enabledScales, transition = 'none') {\n  const {x = 0, y = 0} = typeof delta === 'number' ? {x: delta, y: delta} : delta;\n  const state = getState(chart);\n  const {options: {pan: panOptions, limits}} = state;\n  const {mode = 'xy', onPan} = panOptions || {};\n\n  storeOriginalScaleLimits(chart, state);\n\n  const xEnabled = x !== 0 && directionEnabled(mode, 'x', chart);\n  const yEnabled = y !== 0 && directionEnabled(mode, 'y', chart);\n\n  each(enabledScales || chart.scales, function(scale) {\n    if (scale.isHorizontal() && xEnabled) {\n      panScale(scale, x, limits, state);\n    } else if (!scale.isHorizontal() && yEnabled) {\n      panScale(scale, y, limits, state);\n    }\n  });\n\n  chart.update(transition);\n\n  callback(onPan, [{chart}]);\n}\n\nfunction getInitialScaleBounds(chart) {\n  const state = getState(chart);\n  const scaleBounds = {};\n  for (const scaleId of Object.keys(chart.scales)) {\n    const {min, max} = state.originalScaleLimits[scaleId] || {min: {}, max: {}};\n    scaleBounds[scaleId] = {min: min.scale, max: max.scale};\n  }\n\n  return scaleBounds;\n}\n\nfunction isZoomedOrPanned(chart) {\n  const scaleBounds = getInitialScaleBounds(chart);\n  for (const scaleId of Object.keys(chart.scales)) {\n    const {min: originalMin, max: originalMax} = scaleBounds[scaleId];\n\n    if (originalMin !== undefined && chart.scales[scaleId].min !== originalMin) {\n      return true;\n    }\n\n    if (originalMax !== undefined && chart.scales[scaleId].max !== originalMax) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction removeHandler(chart, type) {\n  const {handlers} = getState(chart);\n  const handler = handlers[type];\n  if (handler && handler.target) {\n    handler.target.removeEventListener(type, handler);\n    delete handlers[type];\n  }\n}\n\nfunction addHandler(chart, target, type, handler) {\n  const {handlers, options} = getState(chart);\n  const oldHandler = handlers[type];\n  if (oldHandler && oldHandler.target === target) {\n    // already attached\n    return;\n  }\n  removeHandler(chart, type);\n  handlers[type] = (event) => handler(chart, event, options);\n  handlers[type].target = target;\n  target.addEventListener(type, handlers[type]);\n}\n\nfunction mouseMove(chart, event) {\n  const state = getState(chart);\n  if (state.dragStart) {\n    state.dragging = true;\n    state.dragEnd = event;\n    chart.update('none');\n  }\n}\n\nfunction zoomStart(chart, event, zoomOptions) {\n  const {onZoomStart, onZoomRejected} = zoomOptions;\n  if (onZoomStart) {\n    const {left: offsetX, top: offsetY} = event.target.getBoundingClientRect();\n    const point = {\n      x: event.clientX - offsetX,\n      y: event.clientY - offsetY\n    };\n    if (callback(onZoomStart, [{chart, event, point}]) === false) {\n      callback(onZoomRejected, [{chart, event}]);\n      return false;\n    }\n  }\n}\n\nfunction mouseDown(chart, event) {\n  const state = getState(chart);\n  const {pan: panOptions, zoom: zoomOptions = {}} = state.options;\n  if (keyPressed(getModifierKey(panOptions), event) || keyNotPressed(getModifierKey(zoomOptions.drag), event)) {\n    return callback(zoomOptions.onZoomRejected, [{chart, event}]);\n  }\n\n  if (zoomStart(chart, event, zoomOptions) === false) {\n    return;\n  }\n  state.dragStart = event;\n\n  addHandler(chart, chart.canvas, 'mousemove', mouseMove);\n}\n\nfunction computeDragRect(chart, mode, beginPoint, endPoint) {\n  const {left: offsetX, top: offsetY} = beginPoint.target.getBoundingClientRect();\n  const xEnabled = directionEnabled(mode, 'x', chart);\n  const yEnabled = directionEnabled(mode, 'y', chart);\n  let {top, left, right, bottom, width: chartWidth, height: chartHeight} = chart.chartArea;\n\n  if (xEnabled) {\n    left = Math.min(beginPoint.clientX, endPoint.clientX) - offsetX;\n    right = Math.max(beginPoint.clientX, endPoint.clientX) - offsetX;\n  }\n\n  if (yEnabled) {\n    top = Math.min(beginPoint.clientY, endPoint.clientY) - offsetY;\n    bottom = Math.max(beginPoint.clientY, endPoint.clientY) - offsetY;\n  }\n  const width = right - left;\n  const height = bottom - top;\n\n  return {\n    left,\n    top,\n    right,\n    bottom,\n    width,\n    height,\n    zoomX: xEnabled && width ? 1 + ((chartWidth - width) / chartWidth) : 1,\n    zoomY: yEnabled && height ? 1 + ((chartHeight - height) / chartHeight) : 1\n  };\n}\n\nfunction mouseUp(chart, event) {\n  const state = getState(chart);\n  if (!state.dragStart) {\n    return;\n  }\n\n  removeHandler(chart, 'mousemove');\n  const {mode, onZoomComplete, drag: {threshold = 0}} = state.options.zoom;\n  const rect = computeDragRect(chart, mode, state.dragStart, event);\n  const distanceX = directionEnabled(mode, 'x', chart) ? rect.width : 0;\n  const distanceY = directionEnabled(mode, 'y', chart) ? rect.height : 0;\n  const distance = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n\n  // Remove drag start and end before chart update to stop drawing selected area\n  state.dragStart = state.dragEnd = null;\n\n  if (distance <= threshold) {\n    state.dragging = false;\n    chart.update('none');\n    return;\n  }\n\n  zoomRect(chart, {x: rect.left, y: rect.top}, {x: rect.right, y: rect.bottom}, 'zoom');\n\n  setTimeout(() => (state.dragging = false), 500);\n  callback(onZoomComplete, [{chart}]);\n}\n\nfunction wheelPreconditions(chart, event, zoomOptions) {\n  // Before preventDefault, check if the modifier key required and pressed\n  if (keyNotPressed(getModifierKey(zoomOptions.wheel), event)) {\n    callback(zoomOptions.onZoomRejected, [{chart, event}]);\n    return;\n  }\n\n  if (zoomStart(chart, event, zoomOptions) === false) {\n    return;\n  }\n\n  // Prevent the event from triggering the default behavior (eg. Content scrolling).\n  if (event.cancelable) {\n    event.preventDefault();\n  }\n\n  // Firefox always fires the wheel event twice:\n  // First without the delta and right after that once with the delta properties.\n  if (event.deltaY === undefined) {\n    return;\n  }\n  return true;\n}\n\nfunction wheel(chart, event) {\n  const {handlers: {onZoomComplete}, options: {zoom: zoomOptions}} = getState(chart);\n\n  if (!wheelPreconditions(chart, event, zoomOptions)) {\n    return;\n  }\n\n  const rect = event.target.getBoundingClientRect();\n  const speed = 1 + (event.deltaY >= 0 ? -zoomOptions.wheel.speed : zoomOptions.wheel.speed);\n  const amount = {\n    x: speed,\n    y: speed,\n    focalPoint: {\n      x: event.clientX - rect.left,\n      y: event.clientY - rect.top\n    }\n  };\n\n  zoom(chart, amount);\n\n  if (onZoomComplete) {\n    onZoomComplete();\n  }\n}\n\nfunction addDebouncedHandler(chart, name, handler, delay) {\n  if (handler) {\n    getState(chart).handlers[name] = debounce(() => callback(handler, [{chart}]), delay);\n  }\n}\n\nfunction addListeners(chart, options) {\n  const canvas = chart.canvas;\n  const {wheel: wheelOptions, drag: dragOptions, onZoomComplete} = options.zoom;\n\n  // Install listeners. Do this dynamically based on options so that we can turn zoom on and off\n  // We also want to make sure listeners aren't always on. E.g. if you're scrolling down a page\n  // and the mouse goes over a chart you don't want it intercepted unless the plugin is enabled\n  if (wheelOptions.enabled) {\n    addHandler(chart, canvas, 'wheel', wheel);\n    addDebouncedHandler(chart, 'onZoomComplete', onZoomComplete, 250);\n  } else {\n    removeHandler(chart, 'wheel');\n  }\n  if (dragOptions.enabled) {\n    addHandler(chart, canvas, 'mousedown', mouseDown);\n    addHandler(chart, canvas.ownerDocument, 'mouseup', mouseUp);\n  } else {\n    removeHandler(chart, 'mousedown');\n    removeHandler(chart, 'mousemove');\n    removeHandler(chart, 'mouseup');\n  }\n}\n\nfunction removeListeners(chart) {\n  removeHandler(chart, 'mousedown');\n  removeHandler(chart, 'mousemove');\n  removeHandler(chart, 'mouseup');\n  removeHandler(chart, 'wheel');\n  removeHandler(chart, 'click');\n}\n\nfunction createEnabler(chart, state) {\n  return function(recognizer, event) {\n    const {pan: panOptions, zoom: zoomOptions = {}} = state.options;\n    if (!panOptions || !panOptions.enabled) {\n      return false;\n    }\n    const srcEvent = event && event.srcEvent;\n    if (!srcEvent) { // Sometimes Hammer queries this with a null event.\n      return true;\n    }\n    if (!state.panning && event.pointerType === 'mouse' && (\n      keyNotPressed(getModifierKey(panOptions), srcEvent) || keyPressed(getModifierKey(zoomOptions.drag), srcEvent))\n    ) {\n      callback(panOptions.onPanRejected, [{chart, event}]);\n      return false;\n    }\n    return true;\n  };\n}\n\nfunction pinchAxes(p0, p1) {\n  // fingers position difference\n  const pinchX = Math.abs(p0.clientX - p1.clientX);\n  const pinchY = Math.abs(p0.clientY - p1.clientY);\n\n  // diagonal fingers will change both (xy) axes\n  const p = pinchX / pinchY;\n  let x, y;\n  if (p > 0.3 && p < 1.7) {\n    x = y = true;\n  } else if (pinchX > pinchY) {\n    x = true;\n  } else {\n    y = true;\n  }\n  return {x, y};\n}\n\nfunction handlePinch(chart, state, e) {\n  if (state.scale) {\n    const {center, pointers} = e;\n    // Hammer reports the total scaling. We need the incremental amount\n    const zoomPercent = 1 / state.scale * e.scale;\n    const rect = e.target.getBoundingClientRect();\n    const pinch = pinchAxes(pointers[0], pointers[1]);\n    const mode = state.options.zoom.mode;\n    const amount = {\n      x: pinch.x && directionEnabled(mode, 'x', chart) ? zoomPercent : 1,\n      y: pinch.y && directionEnabled(mode, 'y', chart) ? zoomPercent : 1,\n      focalPoint: {\n        x: center.x - rect.left,\n        y: center.y - rect.top\n      }\n    };\n\n    zoom(chart, amount);\n\n    // Keep track of overall scale\n    state.scale = e.scale;\n  }\n}\n\nfunction startPinch(chart, state) {\n  if (state.options.zoom.pinch.enabled) {\n    state.scale = 1;\n  }\n}\n\nfunction endPinch(chart, state, e) {\n  if (state.scale) {\n    handlePinch(chart, state, e);\n    state.scale = null; // reset\n    callback(state.options.zoom.onZoomComplete, [{chart}]);\n  }\n}\n\nfunction handlePan(chart, state, e) {\n  const delta = state.delta;\n  if (delta) {\n    state.panning = true;\n    pan(chart, {x: e.deltaX - delta.x, y: e.deltaY - delta.y}, state.panScales);\n    state.delta = {x: e.deltaX, y: e.deltaY};\n  }\n}\n\nfunction startPan(chart, state, event) {\n  const {enabled, overScaleMode, onPanStart, onPanRejected} = state.options.pan;\n  if (!enabled) {\n    return;\n  }\n  const rect = event.target.getBoundingClientRect();\n  const point = {\n    x: event.center.x - rect.left,\n    y: event.center.y - rect.top\n  };\n\n  if (callback(onPanStart, [{chart, event, point}]) === false) {\n    return callback(onPanRejected, [{chart, event}]);\n  }\n\n  state.panScales = overScaleMode && getEnabledScalesByPoint(overScaleMode, point, chart);\n  state.delta = {x: 0, y: 0};\n  clearTimeout(state.panEndTimeout);\n  handlePan(chart, state, event);\n}\n\nfunction endPan(chart, state) {\n  state.delta = null;\n  if (state.panning) {\n    state.panEndTimeout = setTimeout(() => (state.panning = false), 500);\n    callback(state.options.pan.onPanComplete, [{chart}]);\n  }\n}\n\nconst hammers = new WeakMap();\nfunction startHammer(chart, options) {\n  const state = getState(chart);\n  const canvas = chart.canvas;\n  const {pan: panOptions, zoom: zoomOptions} = options;\n\n  const mc = new Hammer.Manager(canvas);\n  if (zoomOptions && zoomOptions.pinch.enabled) {\n    mc.add(new Hammer.Pinch());\n    mc.on('pinchstart', () => startPinch(chart, state));\n    mc.on('pinch', (e) => handlePinch(chart, state, e));\n    mc.on('pinchend', (e) => endPinch(chart, state, e));\n  }\n\n  if (panOptions && panOptions.enabled) {\n    mc.add(new Hammer.Pan({\n      threshold: panOptions.threshold,\n      enable: createEnabler(chart, state)\n    }));\n    mc.on('panstart', (e) => startPan(chart, state, e));\n    mc.on('panmove', (e) => handlePan(chart, state, e));\n    mc.on('panend', () => endPan(chart, state));\n  }\n\n  hammers.set(chart, mc);\n}\n\nfunction stopHammer(chart) {\n  const mc = hammers.get(chart);\n  if (mc) {\n    mc.remove('pinchstart');\n    mc.remove('pinch');\n    mc.remove('pinchend');\n    mc.remove('panstart');\n    mc.remove('pan');\n    mc.remove('panend');\n    mc.destroy();\n    hammers.delete(chart);\n  }\n}\n\nvar version = \"1.2.1\";\n\nvar plugin = {\n  id: 'zoom',\n\n  version,\n\n  defaults: {\n    pan: {\n      enabled: false,\n      mode: 'xy',\n      threshold: 10,\n      modifierKey: null,\n    },\n    zoom: {\n      wheel: {\n        enabled: false,\n        speed: 0.1,\n        modifierKey: null\n      },\n      drag: {\n        enabled: false,\n        modifierKey: null\n      },\n      pinch: {\n        enabled: false\n      },\n      mode: 'xy',\n    }\n  },\n\n  start: function(chart, _args, options) {\n    const state = getState(chart);\n    state.options = options;\n\n    if (Object.prototype.hasOwnProperty.call(options.zoom, 'enabled')) {\n      console.warn('The option `zoom.enabled` is no longer supported. Please use `zoom.wheel.enabled`, `zoom.drag.enabled`, or `zoom.pinch.enabled`.');\n    }\n\n    if (Hammer) {\n      startHammer(chart, options);\n    }\n\n    chart.pan = (delta, panScales, transition) => pan(chart, delta, panScales, transition);\n    chart.zoom = (args, transition) => zoom(chart, args, transition);\n    chart.zoomScale = (id, range, transition) => zoomScale(chart, id, range, transition);\n    chart.resetZoom = (transition) => resetZoom(chart, transition);\n    chart.getZoomLevel = () => getZoomLevel(chart);\n    chart.getInitialScaleBounds = () => getInitialScaleBounds(chart);\n    chart.isZoomedOrPanned = () => isZoomedOrPanned(chart);\n  },\n\n  beforeEvent(chart) {\n    const state = getState(chart);\n    if (state.panning || state.dragging) {\n      // cancel any event handling while panning or dragging\n      return false;\n    }\n  },\n\n  beforeUpdate: function(chart, args, options) {\n    const state = getState(chart);\n    state.options = options;\n    addListeners(chart, options);\n  },\n\n  beforeDatasetsDraw: function(chart, args, options) {\n    const {dragStart, dragEnd} = getState(chart);\n\n    if (dragEnd) {\n      const {left, top, width, height} = computeDragRect(chart, options.zoom.mode, dragStart, dragEnd);\n\n      const dragOptions = options.zoom.drag;\n      const ctx = chart.ctx;\n\n      ctx.save();\n      ctx.beginPath();\n      ctx.fillStyle = dragOptions.backgroundColor || 'rgba(225,225,225,0.3)';\n      ctx.fillRect(left, top, width, height);\n\n      if (dragOptions.borderWidth > 0) {\n        ctx.lineWidth = dragOptions.borderWidth;\n        ctx.strokeStyle = dragOptions.borderColor || 'rgba(225,225,225)';\n        ctx.strokeRect(left, top, width, height);\n      }\n      ctx.restore();\n    }\n  },\n\n  stop: function(chart) {\n    removeListeners(chart);\n\n    if (Hammer) {\n      stopHammer(chart);\n    }\n    removeState(chart);\n  },\n\n  panFunctions,\n\n  zoomFunctions\n};\n\nexport { plugin as default, pan, resetZoom, zoom, zoomScale };\n","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab,ListGroup} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst PublicationsData = (props) => {\n\n  \n\n  return (\n    <Tab.Pane eventKey={props.item.eventKey}>\n      <div className=\"mx-3 my-3\">\n      \n    </div>\n    <ListGroup className=\"justify-content-md-center\" align='center' as=\"ol\" variant=\"flush\" style={{width:\"100%\"}} >\n   \n    { props.item.list.map((item) =>\n                  <ListGroup as=\"li\">\n                  <a  style={{'textDecoration': 'none'}}>\n                          <Card.Body className=\"pubcardcol my-3\">\n                          <Card.Title ><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>{item.name} </h5></Card.Title>\n                          </Card.Body></a>\n                          </ListGroup> \n              )} \n              \n    </ListGroup>\n  </Tab.Pane>\n  \n  );\n};\nexport default PublicationsData;","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\nimport PublicationsData from './PublicationsData'\nimport { FaFilePdf } from \"react-icons/fa6\"\n\n\nexport function Main_publications_more_detailed () {\n    const postsA1 = [\n\n    ]\n    const postsA2 = [\n\n    ]\n    const postsQ1 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2022 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a href=\"https://arxiv.org/pdf/2112.12313.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Mean field game for modeling of COVID-19 spread. Journal of Mathematical Analysis and Application, 2022, V. 514, 126271. DOI: 10.1016/j.jmaa.2022.126271 </h5></a>,eventKey: \"Q1\",eventKey: \"all\"},\n      {id: 3, name: <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798?ref=pdf_download&fr=RR-2&rr=88d87946aecb0c42\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Sosnovskaia M., Vashchenko I., Kerr C., Lesnic D. Agent-based modeling of COVID-19 outbreaks for New York state and UK: parameter identification algorithm. Infectious Disease Modelling, 2022, V. 7, pp. 30-44. </h5></a>,eventKey: \"Q1\",eventKey: \"all\"}\n    ]\n    const postsQ2 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a href=\"https://ai-biolab.ru/data/S199508022307034X.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko. Sensitivity of MFG SEIR-HCD Epidemiological Model. Lobachevskii Journal of Mathematics. 2023. Vol. 44, No. 7, pp. 2856–2869. DOI: 10.1134/S199508022307034X </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 3, name: <a href=\"http://semr.math.nsc.ru/v20/n2/p1211-1268.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И. О математическом моделировании COVID-19. Сибирские электронные математические известия. 2023. Т. 20, № 2. С. 1211-1268. DOI: 10.33048/semi.2023.20.075 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 4, name: <a href=\"https://ai-biolab.ru/data/JIIP_ident_AMB_COVID_Nsk.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, M. Sosnovskaia, S. Kabanikhin. Agent-based mathematical model of COVID-19 spread in Novosibirsk region: Identifiability, optimization and forecasting. Journal of Inverse and Ill-posed Problems. 2023. DOI: 10.1515/jiip-2021-0038 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 5, name: <a href=\"http://old.math.nsc.ru/publishing/DAOR/content/2023/01/746.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Бектемесов М.А., Сосновская М.И., Неверов А.В. Моделирование сценариев распространения COVID-19 в Республике Казахстан на основе регуляризации агентной модели. Дискретный анализ и исследование операций, 2023, Т. 30, №1, 40-66. DOI: 10.33048/daio.2023.30.746 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2021 </h5></a>,eventKey: \"all\"},\n      {id: 7, name: <a href=\"https://ai-biolab.ru/data/JIIP2020_Geo-information_system.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O., Takuadina A., Andornaya D., Zhang S. Geo-information system of tuberculosis spread based on inversion and prediction. Journal of Inverse and Ill-Posed Problems, 2021, V. 29 (1), pp. 65-79 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 8, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2020 </h5></a>,eventKey: \"all\"},\n      {id: 9, name: <a href=\"https://arxiv.org/pdf/1904.10627v1.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> Kabanikhin S., Krivorotko O., Bektemessov Z., Bektemessov M., Zhang S. Differential evolution algorithm of solving an inverse problem for the spatial Solow mathematical model. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (5), pp. 761-774</h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 10, name: <a href=\"https://ai-biolab.ru/data/JIIP_Global_and_local_optimization_in_identification_of_parabolic.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zhang S., Kashtanova V. Global and local optimization in identification of parabolic systems. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (6), pp. 899-913 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 11, name: <a href=\"https://www.mathnet.ru/links/f9d99531cc3895955b627f81fbc5e127/sjvm756.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Зятьков Н.Ю., Приходько А.Ю., Прохошин Н.М., Шишленин М.А. Математическое моделирование и прогнозирование COVID-19 в Москве и Новосибирской области. Сибирский журнал вычислительной математики, 2020, т. 23, № 4, стр. 395-414 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 12, name: <a href=\"https://www.mathnet.ru/links/c75165e99ccfc537b01e483352323dba/sjim1081.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Андорная Д.В., Кабанихин С.И. Анализ чувствительности и практическая идентифицируемость математических моделей биологии. Сибирский журнал индустриальной математики, 2020, т. 23, № 1, стр. 107-125</h5></a>,eventKey: \"Q2\",eventKey: \"all\"}    \n    ]\n    const postsQ3 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Зятьков Н.Ю. Нейросетевое моделирование распространения COVID-19 c учетом социально-экономических процессов // Всемирный конгресс (26–30 июня 2023 г., Москва). Теория систем, алгебраическая биология, искусственный интеллект: математические основы и приложения: Тезисы докладов. М., 2023. С. 787-789. DOI 10.18699/sblai2023-22</h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 3, name: <a href=\"https://ai-biolab.ru/data/_Numerical Modelling of Mean-Field .pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Neverov A., Krivorotko O. Numerical Modelling of Mean-Field Game Epidemic. Lecture Notes in Computer Science. 2023. V.14395 - Optimization and Applications: 14th International Conference, OPTIMA 2023, Petrovac, Montenegro, September 18–22, 2023. P.207-217. DOI: 10.1007/978-3-031-47859-8_15</h5></a>,eventKey: \"Q3\",eventKey: \"all\" },\n      {id: 4, name: <a href=\"https://ai-biolab.ru/data/КСИ_КОИ_ЗНЮ_ЖВМиМФ_COVID_NN.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Зятьков Н.Ю., Кабанихин С.И. Моделирований эпидемий: нейросеть на основе данных и SIR-модели. Журнал вычислительной математики и математической физики. 2023. Т. 63, № 10. С. 1733-1746. DOI: 10.31857/S0044466923100095 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 5, name: <a href=\"https://sciencejournals.ru/pdf-viewer/pdf-viewer.html?j=vychmat&y=2023&v=63&n=9&a=VychMat2309019Zvonareva\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Звонарева Т.А., Кабанихин С.И., Криворотько О.И. Численный алгоритм определения источника диффузионно-логистической модели по данным интегрального типа, основанный на тензорной оптимизации. Журнал вычислительной математики и математической физики. 2023. Т. 63, № 9. С. 1513-1523. DOI: 10.31857/S0044466923090193 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 6, name: <a href=\"https://ru.jcyb.ru/nisii_tech/article/view/185/146\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Петракова В.С., Криворотько О.И. Несколько подходов к моделированию динамики доходов населения в условиях эпидемии. Успехи кибернетики. 2023;4(1):24–32. DOI: 10.51790/2712-9942-2023-4-1-04 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 7, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2022 </h5></a>,eventKey: \"all\"},\n      {id: 8, name: <a href=\"https://drive.google.com/file/d/11uUdZ7lUkaPN6Ghs_PQyP-ZxPMVeuuK-/view\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O.I., Zyatkov N.Y. Data-driven regularization of inverse problem for SEIR-HCD model of COVID-19 propagation in Novosibirsk region. Eurasian Journal of Mathematical and Computer Applications, 2022, V. 10, iss. 1, pp. 51-68. DOI: 10.32523/2306-6172-2022-10-1-51-68 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 9, name: <a href=\"https://sciencejournals.ru/cgi/getPDF.pl?jid=vychmat&year=2022&vol=62&iss=4&file=VychMat2204014Zvonarev.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Звонарева Т.А., Криворотько О.И. Сравнительный анализ градиентных методов определения источника диффузионно-логистической модели. Журнал вычислительной математики и математической физики, 2022, т. 62, № 4, стр. 694-704 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 10, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2020 </h5></a>,eventKey: \"all\"},\n      {id: 11, name: <a href=\"https://sciencejournals.ru/cgi/getPDF.pl?jid=vychmat&year=2020&vol=60&iss=11&file=VychMat2011006Kabanikhin.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Кабанихин С.И., Криворотько О.И. Математическое моделирование эпидемии Уханьского коронавируса COVID-2019 и обратные задачи. Журнал вычислительной математики и математической физики, 2020, т. 60, № 11, стр. 1950-1961 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 12, name: <a href=\"https://sciencejournals.ru/cgi/getPDF.pl?jid=vychmat&year=2020&vol=60&iss=4&file=VychMat2004010Kabanikhin.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Кабанихин С.И., Криворотько О.И. Оптимизационные методы решения обратных задач иммунологии и эпидемиологии. Журнал вычислительной математики и математической физики, 2020, т. 60, № 4, стр. 590-600 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"}\n    ]\n    const postsQ4 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2024 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> G. Akindinov, O. Krivorotko, V. Matyukhin. Numerical solution of an inverse problem for a general hyperbolic heat equation // In: Olenev, N., Evtushenko, Y., Jacimovic, M., Khachay, M., Malkova, V. (eds) Advances in Optimization and Applications. OPTIMA 2023. Communications in Computer and Information Science, vol 1913. Springer, Cham. 2024. P. 47-60. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 3, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n      {id: 4, name: <a href=\"https://www.matbio.org/2023/Krivorotko_18_177.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Петракова В.С. Идентифицируемость математических моделей эпидемиологии: туберкулез, ВИЧ, COVID-19. Математическая биология и биоинформатика. 2023. Т. 18, № 1. С. 177-214. DOI: 10.17537/2022.18.177 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 5, name: <a href=\"https://www.mathnet.ru/links/1fed30f7956e7927a2f183ccee249e4e/crm1058.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Акиндинов Г.Д., Матюхин В.В., Криворотько О.И. Численное решение обратной задачи для уравнения гиперболической теплопроводности с малым параметром. Компьютерные исследования и моделирование. 2023. Т. 15, № 2. С. 245–258. DOI: 10.20537/2076-7633-2023-15-2-245-258</h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2021 </h5></a>,eventKey: \"all\"},\n      {id: 7, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012014/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Bektemesov M., Krivorotko O., Bektemessov Z. Practical identifiability of mathematical models of biomedical processes. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012014 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 8, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012012/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Andornaya D. Sensitivity analysis and practical identifiability of the mathematical model for partial differential equations. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012012. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 9, name: <a href=\"https://sites.icgbio.ru/vogis/download/12_Krivorotko_2.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Сосновская М.И., Андорная Д.В. Анализ чувствительности и идентифицируемости математических моделей распространения эпидемии COVID-19. Вавиловский журнал генетики и селекции, 2021, т. 25(1), стр. 82-91 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n\n    ]  \nconst postsall = [\n  {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2024 </h5></a>,eventKey: \"all\"},\n  {id: 2, name: <a href=\"https://ai-biolab.ru/data/mathematics-12-03044.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, N. Zyatkov. The Forecasting of the Spread of Infectious Diseases Based on Conditional Generative Adversarial Networks. Mathematics 2024, 12, 3044.</h5></a>,eventKey: \"all\"},\n  {id: 3, name: <a href=\"https://ai-biolab.ru/data/COVID_review_10.1515_jiip-2024-0013.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, S. Kabanikhin. Artificial intelligence for COVID-19 spread modeling. Journal of Inverse and Ill-Posed Problems. Vol. 32, No.2. DOI: 10.1515/jiip-2024-0013.</h5></a>,eventKey: \"all\"},\n  {id: 4, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> G. Akindinov, O. Krivorotko, V. Matyukhin. Numerical solution of an inverse problem for a general hyperbolic heat equation // In: Olenev, N., Evtushenko, Y., Jacimovic, M., Khachay, M., Malkova, V. (eds) Advances in Optimization and Applications. OPTIMA 2023. Communications in Computer and Information Science, vol 1913. Springer, Cham. 2024. P. 47-60. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 5, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n  {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Зятьков Н.Ю. Нейросетевое моделирование распространения COVID-19 c учетом социально-экономических процессов // Всемирный конгресс (26–30 июня 2023 г., Москва). Теория систем, алгебраическая биология, искусственный интеллект: математические основы и приложения: Тезисы докладов. М., 2023. С. 787-789. DOI 10.18699/sblai2023-22</h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 7, name: <a href=\"https://ai-biolab.ru/data/Proc_Petrakova_Krivorotko_CSGB-23.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko, A. Neverov. Review of the mean field models for predicting the spread of viral infections. 2023 IEEE CSGB.2023. P. 45-50. DOI: 10.1109/CSGB60362.2023</h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 8, name: <a href=\"https://ai-biolab.ru/data/_Numerical Modelling of Mean-Field .pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Neverov A., Krivorotko O. Numerical Modelling of Mean-Field Game Epidemic. Lecture Notes in Computer Science. 2023. V.14395 - Optimization and Applications: 14th International Conference, OPTIMA 2023, Petrovac, Montenegro, September 18–22, 2023. P.207-217. DOI: 10.1007/978-3-031-47859-8_15</h5></a>,eventKey: \"Q3\",eventKey: \"all\" },\n  {id: 9, name: <a href=\"https://ai-biolab.ru/data/PCI_2023_paper_146.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>T. Zvonareva, O. Krivorotko. Identifiability analysis for source problem of quasi-hyperbolic equation // IEEE Proceedings of 5th International Conference on Problems of Cybernetics and Informatics (PCI 2023), Baku, August 28-30, 2023. P. 1-4. DOI: 10.1109/PCI60110.2023.10325964 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 10, name: <a href=\"https://ai-biolab.ru/data/PCI_2023_paper_158.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, N. Zyatkov. Modeling of the COVID-19 epidemic in the Russian regions based on deep learning // IEEE Proceedings of 5th International Conference on Problems of Cybernetics and Informatics (PCI 2023), Baku, August 28-30, 2023. P. 1-5. DOI: 10.1109/PCI60110.2023.10325993 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 11, name: <a href=\"https://ai-biolab.ru/data/IEEE_MFG_PetrakovaKrivorotko\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko. Mean Field Optimal Control Problem for Predicting the Spread of Viral Infections. 2023 19th International Asian School-Seminar on Optimization Problems of Complex Systems (OPCS), Novosibirsk, Moscow, Russian Federation. 2023. P. 79-84. DOI: 10.1109/OPCS59592.2023.10275759 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 12, name: <a href=\"https://ai-biolab.ru/data/КСИ_КОИ_ЗНЮ_ЖВМиМФ_COVID_NN.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Зятьков Н.Ю., Кабанихин С.И. Моделирований эпидемий: нейросеть на основе данных и SIR-модели. Журнал вычислительной математики и математической физики. 2023. Т. 63, № 10. С. 1733-1746. DOI: 10.31857/S0044466923100095 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 13, name: <a href=\"https://ai-biolab.ru/data/S199508022307034X.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko. Sensitivity of MFG SEIR-HCD Epidemiological Model. Lobachevskii Journal of Mathematics. 2023. Vol. 44, No. 7, pp. 2856–2869. DOI: 10.1134/S199508022307034X </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 14, name: <a href=\"https://sciencejournals.ru/pdf-viewer/pdf-viewer.html?j=vychmat&y=2023&v=63&n=9&a=VychMat2309019Zvonareva\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Звонарева Т.А., Кабанихин С.И., Криворотько О.И. Численный алгоритм определения источника диффузионно-логистической модели по данным интегрального типа, основанный на тензорной оптимизации. Журнал вычислительной математики и математической физики. 2023. Т. 63, № 9. С. 1513-1523. DOI: 10.31857/S0044466923090193 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 15, name: <a href=\"https://www.matbio.org/2023/Krivorotko_18_177.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Петракова В.С. Идентифицируемость математических моделей эпидемиологии: туберкулез, ВИЧ, COVID-19. Математическая биология и биоинформатика. 2023. Т. 18, № 1. С. 177-214. DOI: 10.17537/2022.18.177 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 16, name: <a href=\"https://www.mathnet.ru/links/1fed30f7956e7927a2f183ccee249e4e/crm1058.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Акиндинов Г.Д., Матюхин В.В., Криворотько О.И. Численное решение обратной задачи для уравнения гиперболической теплопроводности с малым параметром. Компьютерные исследования и моделирование. 2023. Т. 15, № 2. С. 245–258. DOI: 10.20537/2076-7633-2023-15-2-245-258</h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 17, name: <a href=\"http://semr.math.nsc.ru/v20/n2/p1211-1268.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И. О математическом моделировании COVID-19. Сибирские электронные математические известия. 2023. Т. 20, № 2. С. 1211-1268. DOI: 10.33048/semi.2023.20.075 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 18, name: <a href=\"https://ai-biolab.ru/data/JIIP_ident_AMB_COVID_Nsk.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, M. Sosnovskaia, S. Kabanikhin. Agent-based mathematical model of COVID-19 spread in Novosibirsk region: Identifiability, optimization and forecasting. Journal of Inverse and Ill-posed Problems. 2023. DOI: 10.1515/jiip-2021-0038 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 19, name: <a href=\"https://ru.jcyb.ru/nisii_tech/article/view/185/146\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Петракова В.С., Криворотько О.И. Несколько подходов к моделированию динамики доходов населения в условиях эпидемии. Успехи кибернетики. 2023;4(1):24–32. DOI: 10.51790/2712-9942-2023-4-1-04 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 20, name: <a href=\"http://old.math.nsc.ru/publishing/DAOR/content/2023/01/746.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Бектемесов М.А., Сосновская М.И., Неверов А.В. Моделирование сценариев распространения COVID-19 в Республике Казахстан на основе регуляризации агентной модели. Дискретный анализ и исследование операций, 2023, Т. 30, №1, 40-66. DOI: 10.33048/daio.2023.30.746 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 21, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2022 </h5></a>,eventKey: \"all\"},\n  {id: 22, name: <a href=\"https://arxiv.org/pdf/2112.12313.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Mean field game for modeling of COVID-19 spread. Journal of Mathematical Analysis and Application, 2022, V. 514, 126271. DOI: 10.1016/j.jmaa.2022.126271 </h5></a>,eventKey: \"Q1\",eventKey: \"all\"},\n  {id: 23, name: <a href=\"https://drive.google.com/file/d/11uUdZ7lUkaPN6Ghs_PQyP-ZxPMVeuuK-/view\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O.I., Zyatkov N.Y. Data-driven regularization of inverse problem for SEIR-HCD model of COVID-19 propagation in Novosibirsk region. Eurasian Journal of Mathematical and Computer Applications, 2022, V. 10, iss. 1, pp. 51-68. DOI: 10.32523/2306-6172-2022-10-1-51-68 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 24, name: <a href=\"https://arxiv.org/pdf/2112.05315.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И. Математическое моделирование распространения COVID-19. Новосибирск: Препринт Института математики № 300, 2022. </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 25, name: <a href=\"https://sciencejournals.ru/cgi/getPDF.pl?jid=vychmat&year=2022&vol=62&iss=4&file=VychMat2204014Zvonarev.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Звонарева Т.А., Криворотько О.И. Сравнительный анализ градиентных методов определения источника диффузионно-логистической модели. Журнал вычислительной математики и математической физики, 2022, т. 62, № 4, стр. 694-704 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 26, name: <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798?ref=pdf_download&fr=RR-2&rr=88d87946aecb0c42\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Sosnovskaia M., Vashchenko I., Kerr C., Lesnic D. Agent-based modeling of COVID-19 outbreaks for New York state and UK: parameter identification algorithm. Infectious Disease Modelling, 2022, V. 7, pp. 30-44. </h5></a>,eventKey: \"Q1\",eventKey: \"all\"},\n  {id: 27, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2021 </h5></a>,eventKey: \"all\"},\n  {id: 28, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012014/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Bektemesov M., Krivorotko O., Bektemessov Z. Practical identifiability of mathematical models of biomedical processes. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012014 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 29, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012012/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Andornaya D. Sensitivity analysis and practical identifiability of the mathematical model for partial differential equations. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012012. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 30, name: <a href=\"https://ai-biolab.ru/data/1216_zyatkovnykrivorotkooi.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Zyatkov N., Krivorotko O. Forecasting recessions in the US economy using machine learning methods. Proceedings – 2021 17th International Asian School-Seminar Optimization Problems of Complex Systems (OPCS), 2021, pp. 139-146 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 31, name: <a href=\"https://link.springer.com/content/pdf/10.1007/978-3-030-86433-0_31?pdf=chapter%20toc\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Zvonareva T., Zyatkov N. Numerical solution of the inverse problem for diffusion-logistic model arising in online social networks. In: Mathematical Optimization Theory and Operations Research: Recent Trends. Publisher: Springer International Publishing, 2021, pp. 444-459 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 32, name: <a href=\"https://sites.icgbio.ru/vogis/download/12_Krivorotko_2.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Сосновская М.И., Андорная Д.В. Анализ чувствительности и идентифицируемости математических моделей распространения эпидемии COVID-19. Вавиловский журнал генетики и селекции, 2021, т. 25(1), стр. 82-91 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 33, name: <a href=\"https://ai-biolab.ru/data/JIIP2020_Geo-information_system.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O., Takuadina A., Andornaya D., Zhang S. Geo-information system of tuberculosis spread based on inversion and prediction. Journal of Inverse and Ill-Posed Problems, 2021, V. 29 (1), pp. 65-79 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 34, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2020 </h5></a>,eventKey: \"all\"},\n  {id: 35, name: <a href=\"https://arxiv.org/pdf/1904.10627v1.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> Kabanikhin S., Krivorotko O., Bektemessov Z., Bektemessov M., Zhang S. Differential evolution algorithm of solving an inverse problem for the spatial Solow mathematical model. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (5), pp. 761-774</h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 36, name: <a href=\"https://ai-biolab.ru/data/JIIP_Global_and_local_optimization_in_identification_of_parabolic.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zhang S., Kashtanova V. Global and local optimization in identification of parabolic systems. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (6), pp. 899-913 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 37, name: <a href=\"https://www.mathnet.ru/links/f9d99531cc3895955b627f81fbc5e127/sjvm756.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Зятьков Н.Ю., Приходько А.Ю., Прохошин Н.М., Шишленин М.А. Математическое моделирование и прогнозирование COVID-19 в Москве и Новосибирской области. Сибирский журнал вычислительной математики, 2020, т. 23, № 4, стр. 395-414 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 38, name: <a href=\"https://sciencejournals.ru/cgi/getPDF.pl?jid=vychmat&year=2020&vol=60&iss=11&file=VychMat2011006Kabanikhin.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Кабанихин С.И., Криворотько О.И. Математическое моделирование эпидемии Уханьского коронавируса COVID-2019 и обратные задачи. Журнал вычислительной математики и математической физики, 2020, т. 60, № 11, стр. 1950-1961 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 39, name: <a href=\"https://sciencejournals.ru/cgi/getPDF.pl?jid=vychmat&year=2020&vol=60&iss=4&file=VychMat2004010Kabanikhin.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Кабанихин С.И., Криворотько О.И. Оптимизационные методы решения обратных задач иммунологии и эпидемиологии. Журнал вычислительной математики и математической физики, 2020, т. 60, № 4, стр. 590-600 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 40, name: <a href=\"https://www.mathnet.ru/links/c75165e99ccfc537b01e483352323dba/sjim1081.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Андорная Д.В., Кабанихин С.И. Анализ чувствительности и практическая идентифицируемость математических моделей биологии. Сибирский журнал индустриальной математики, 2020, т. 23, № 1, стр. 107-125</h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n]  \n\n    const items = [\n        {id:1, list:postsA1, eventKey:\"A1\"},\n        {id:2, list:postsA2, eventKey:\"A2\"},\n        {id:3, list:postsQ1, eventKey:\"Q1\"},\n        {id:4, list:postsQ2, eventKey:\"Q2\"},\n        {id:5, list:postsQ3, eventKey:\"Q3\"},\n        {id:6, list:postsQ4, eventKey:\"Q4\"},\n        {id:7, list:postsall, eventKey:\"all\"}\n    ]\n\n    \n  return (\n        <>\n\n        <NaviBarv2 />\n        <Container className=\"my-3\" style={{\n          height: \"120%\" },\n        {  width: \"100%\"}}>\n\n  <Container>\n    \n      <div ><h4 className=\"mx-5 text-secondary\">Рейтинг статьи</h4></div>\n      <hr/>\n    \n  </Container>\n  <Tab.Container style={{\n          width: \"100%\" }} id=\"left-tabs-example\" defaultActiveKey=\"all\" >\n\n      <Nav variant=\"pills\" defaultActiveKey=\"/home\" >\n        <Nav.Item key={1}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 0</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  className=\"shadow3\" size=\"sm\" variant=\"outline-info\"  style={{color:\"#FFFFFF\"}}>\n      <Nav.Link  eventKey=\"A1\">A</Nav.Link>\n        </Button>\n     \n        </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={2}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 0</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"A2\">A*</Nav.Link>\n          </Button>\n            \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={3}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 2</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  size=\"sm\" variant=\"outline-info\" className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q1\">Q1</Nav.Link>\n          </Button>\n          \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={4}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 8</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q2\">Q2</Nav.Link>\n          </Button>\n            \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={5}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 9</div>\n               </Popover.Body>\n             </Popover>\n           }>\n          \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q3\">Q3</Nav.Link>\n          </Button>\n           \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={6}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 6</div>\n               </Popover.Body>\n             </Popover>\n           }>\n          \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q4\">Q4</Nav.Link>\n          </Button>\n          \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={7}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 35</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"all\">Все</Nav.Link>\n          </Button>\n           \n          </OverlayTrigger>\n        </Nav.Item>\n      </Nav>\n\n      <Tab.Content>\n      {items.map((item) =>\n          <PublicationsData key={item.id} item = {item}/>\n      )}\n      </Tab.Content>\n  </Tab.Container>\n</Container>\n    <Footer />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Krivorotko from \"../images/team/Krivorotko.png\"\n\nexport function Krivorotko_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Krivorotko} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Криворотько Ольга Игоревна</h1></div>\n        <div class=\"row ps-4\"><p>Доктор физико-математических наук</p></div>\n        <div class=\"row ps-4\"><p>Заведующий лабораторией</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 krivorotko.olya@mail.ru</h5>\n        <h5>📩 o.i.krivorotko@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/E-5775-2014\">E-5775-2014</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID РИНЦ:<a rel=\"noopener\" target=\"_blank\" href=\"https://www.elibrary.ru/author_profile.asp?authorid=746714\">746714</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57217457913\">57217457913</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0003-0125-4988\">0000-0003-0125-4988</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме-Криворотько_2023 .pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>03.04.1989</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2006-2011 г. — Студент специалист Новосибирского государственного университета, Россия. Название дипломной работы: решение обратной задачи термоакустики. Научный руководитель: член-корр. РАН, профессор С.И. Кабанихин.</p>\n        <p>2011-2014 г. — Аспирант Новосибирского государственного университета, Россия. Название кандидатской диссертации: Регуляризация задач определения источников колебаний. Научный руководитель: член-корр. РАН, профессор С.И. Кабанихин.</p>\n        <p>2015 г. — Кандидат физико-математических наук по специальности 05.13.18 – математическое моделирование, численные методы и комплексы программ. </p>\n        <p>2023 г. — Доктор физико-математических наук по специальности 1.2.2. - математическое моделирование, численные методы и комплексы программ.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2024 г.-н.вр. —  Заведующий лабораторией ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов, Институт математики им. С.Л.Соболева СО РАН.</p>\n        <p> 2023 г.-н.вр. —  Начальник научно-исследовательского отдела Международного математического центра, Институт математики им. С.Л. Соболева СО РАН.</p>\n        <p> 2023 г.-н.вр. — Старший научный сотрудник, Институт математики им. С.Л. Соболева СО РАН.</p>\n        <p> 2021 г.-н.вр. — Доцент кафедры высшей математики физического факультета, Новосибирский государственный университет, Новосибирск, Россия.</p>\n        <p> 2015 г.-н.вр. — Доцент кафедры математических методов геофизики механико-математического факультета Новосибирского государственного университета, Новосибирск, Россия. Численные методы решения обратных и некорректных задач, годовой спецкурс.</p>\n        <p> 2015 г.-н.вр. — Заместитель заведующего совместной лабораторией ННЦ-НГУ «Методы создания, исследования и идентификации математических моделей естествознания», Новосибирский государственный университет, Новосибирск, Россия.</p>\n        <p> 2014 - 2022 г. — Заместитель Председателя совета научной молодежи Института вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия. </p>\n        <p> 2014 - 2022 г. — Старший научный сотрудник, Лаборатория математических задач геофизики, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия. Исследователь в области прямых и обратных задач математической физики (геофизики, акустики, сейсмики), медицины и связанных с ними областей науки, задач об источнике (определение источников цунами, землетрясений, задача термоакустики), численное решение прямых и обратных задач иммунологии и эпидемиологии, цифровая экономика.</p>\n        <p> 2012 - 2014 г. — Инженер, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия. Исследователь в области прямых и обратных задач математической физики (геофизики, акустики, сейсмики), медицины и связанных с ними областей науки.</p>\n        <p> 2011 - 2021 г. — Старший преподаватель кафедры высшей математики физического факультета, Новосибирский государственный университет, Новосибирск, Россия. Векторный и тензорный анализ (3 курс).</p>\n        <p> 2011 - 2014 г. — Инженер-программист, ООО «ГеоСистема», Новосибирск, Россия. Один из разработчиков наукоемкого программного продукта ITRIS, предназначенный для моделирования природных и техногенных катастроф (цунами, землетрясения и пр.). Разработчик-исследователь в области прямых и обратных задач математической физики (сейсмики, электроразведки), медицины, обработки изображений.</p>\n        <p> 2011 - 2015 г. — Ученый секретарь третьей, четвертой, пятой, шестой и седьмой международной молодежной научной школы-конференции «Теория и численные методы решения обратных и некорректных задач», Новосибирск, 10-15 октября 2011, 5-15 августа 2012, 8-13 октября 2013, 8-14 декабря 2014, 19-24 октября 2015, соответственно.</p></div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Преподавание</h3></div>\n\n        <p>Численные методы решения обратных и некорректных задач - годовой спецкурс кафедры математических методов геофизики ММФ НГУ, 3-6 курсы.</p>\n        <Button href=\"/Krivorotko_teaching_methods\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n        <div style={{fontSize: 16}}><b>Материалы</b></div></Button>\n        <div class=\"row ps-4 my-3\"><p class=\"lead\"></p></div>\n        <p>Векторный и тензорный анализ - лекции и семинары, 3 курс физического факультета НГУ.</p>\n        <Button href=\"/Krivorotko_Zvonareva_teaching\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Материалы</b></div></Button>\n            <div class=\"row ps-4 my-3\"><p class=\"lead\"></p></div>\n        <p>Обратные задачи: теория и практика - курс на <a rel=\"noopener\" target=\"_blank\" href=\"https://cytometry.ru/biomed/schedule.html\">кафедре биомедицинской физики Новосибирского государственного университета</a> для магистрантов 5-6 курса.</p>\n        <Button href=\"/Krivorotko_teaching\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Материалы</b></div></Button>\n            <div class=\"row ps-4 my-3\"><p class=\"lead\"></p></div>\n        <p>Научный руководитель 6 студентов (2 аспиранта, 1 магистрант, 3 бакалавра).</p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Обратные и некорректные задачи в науках о Земле и биологии.</p>\n        <p>Идентифицируемость и анализ чувствительности.</p>\n        <p>Оптимизация и регуляризация.</p>\n        <p>Машинное обучение с точки зрения оптимизации.</p>\n        <p>Высокопроизводительные вычисления.</p>\n        <p>Эпидемиология, иммунология и социальные процессы.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>РФФИ 09-01-00746 «Создание новых численных методов и изучение известных методов решения обратных задач математической физики» (2009-2011) — исполнитель.</p>\n          <p>РФФИ 12-01-00773 «Теория и численные методы решения обратных задач математической физики» (2012-2014) — исполнитель.</p>\n          <p>СО РАН 14 «Обратные задачи и их приложения: теория, алгоритмы и комплекс программ» (2014) — исполнитель.</p>\n          <p>РФФИ 14-01-31182 «Оптимальное управление формой тонких включений в задачах теории упругости» (2014-2015) — исполнитель.</p>\n          <p>РФФИ 15-01-09230 «Построение и исследование аналогов уравнений И.М. Гельфанда, Б.М. Левитана, М.Г. Крейна и численных методов их решения в применении к многомерным обратным задачам акустики, электродинамики и теории упругости» (2015-2017) — исполнитель.</p>\n          <p>РФФИ 16-31-00189 «Развитие параллельных алгоритмов численного решения прямых и обратных задач распространения волн в системе гидросфера-литосфера» (2016-2017) — руководитель.</p>\n          <p>РФФИ 16-31-00382 «Разработка численных алгоритмов решения прямых и обратных задач в биологии и медицине» (2016-2017) — исполнитель.</p>\n          <p>РФФИ 16-01-00755 «Разработка численных методов продолжения решений с части границы уравнений математической физики» (2016-2018) — исполнитель.</p>\n          <p>Грант Президента Российской Федерации MK-1214.2017.1 «Исследование и разработка численных алгоритмов решения прямых и обратных задач иммунологии и эпидемиологии» (2017-2018) — руководитель.</p>\n          <p>РФФИ 17-52-14004 «Методы реконструкции ПЭТ и ОФЭКТ изображений высокого качества при низкой статистике гамма квантов» (2017-2019) — исполнитель.</p>\n          <p>РФФИ 17-51-540004 «Обоснование существующих и разработка новых численных методов решения обратных и некорректных задач для эллиптических и параболических уравнений» (2017-2018) — исполнитель.</p>\n          <p>РНФ 18-71-10044 «Суперкомпьютерный анализ социальных, эпидемиологических и экономических процессов. Теория, алгоритмы и комплекс программ» (2018-2023) — руководитель.</p>\n          <p>РФФИ 18-41-540017 «Разработка методов компьютерного моделирования и комплекса программ для супер-ЭВМ в целях вероятностного прогнозирования аномальных и опасных природных явлений в Новосибирской области» (2018-2020) - исполнитель.</p>\n          <p>РФФИ 18-31-20019 «Прямые и обратные задачи социальных процессов: теория, алгоритмы и комплекс программ» (2018-2020) — руководитель.</p>\n          <p>Грант Президента Российской Федерации MK-814.2019.1 «Анализ и применение методов машинного обучения в обратных задачах с использованием параллельных вычислений на супер-ЭВМ» (2019-2020) — руководитель.</p>\n          <p>РФФИ 21-51-10003 «Обратное математическое моделирование в эпидемиологии» (2021-2022) — руководитель.</p>\n          <p>Грант Президента Российской Федерации МК-4994.2021.1.1 «Агентное моделирование и прогнозирование распространения коронавирусной эпидемии в регионах Российской Федерации с учетом анализа эффективности карантинных мер» (2021-2022) — руководитель.</p>\n          <p>РНФ 23-71-10068 «Разработка интеллектуальной программной системы мониторинга и моделирования взаимосвязанных эпидемиологических и экономических процессов в Российской Федерации» (2023-2026) — руководитель.</p>\n          <p>Грант Правительства Новосибирской области молодым ученым \"Исследование эпидемиологии микобактериальных инфекций человека и сельскохозяйственных животных с применением методов математического моделирования, машинного обучения и ГИС-технологий: значение для здравоохранения и животноводства Новосибирской области\" (2024) - руководитель.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Награды и достижения</h3></div>\n        <p>Премия Правительства Новосибирской области за выдающиеся научные достижения в номинации «Лучший молодой исследователь» за работа \"Программный комплекс моделирования и построения сценариев распространения инфекционных заболеваний в Новосибирской области с учетом социально-экономических ограничений\" (2023).</p>\n        <p>Премия имени Г.И. Марчука за работу «Идентифицируемость математических моделей иммунологии и эпидемиологии» (2021).</p>\n        <p>Премия мэрии города Новосибирска в сфере науки и инноваций. Номинация «Лучший молодой исследователь в организациях науки» за разработку карты прогноза распространения социально-значимых заболеваний в городе Новосибирске (2020).</p>\n        <p>Грант УМНИК за проект «Разработка наукоемкой 3D интеграционной системы визуализации и предупреждения цунами» (2015).</p>\n        <p>Вторая премия Лаврентьевского конкурса студенческих и аспирантских работ по математике и механике «Исследование совмещенной обратной задачи восстановления источника возмущения водной поверхности» (2014).</p>\n        <p>Стипендия компании British Petroleum для аспирантов (2013-2014).</p>\n        <p>Первая премия Лаврентьевского конкурса студенческих и аспирантских работ по математике и механике «Исследование задач определения источников волновых процессов» (2013).</p>\n        <p>Стипендия Президента РФ (2012-2013).</p>\n        <p>Вторая премия Лаврентьевского конкурса студенческих и аспирантских работ по математике и механике за решение обратной задачи термоакустики (2011).</p>\n        <p>Премия компании Бэйкер Хьюз («Baker Hughes BV»): Определение источников цунами и землетрясений (2011-2012).</p>\n        <p>Премия компании Бэйкер Хьюз («Baker Hughes BV»): Исследование и решение обратной задачи термоакустики методом сингулярного разложения (2010-2011).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}\n    \n    ","import React, {useState} from \"react\";\nimport {Navbar, Nav, Button, Container, NavDropdown, OverlayTrigger, Tooltip, Modal, Image, Stack} from 'react-bootstrap';\nimport {NavLink} from \"react-router-dom\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \".././styles.css\";\nimport ip_head from \"../images/ip_head.png\"\nimport logo_nav2En from \"../images/logo_nav2En.png\"\n\nconst setActive=({isActive}) => isActive ? 'active-link' : 'non-active';\n\nfunction NaviBarv2_En() {\n\n  return (\n\n    <>\n      <Navbar collapseOnSelect expand=\"lg\" bg=\"dark\" variant=\"dark\" >\n        <Container className=\"py-1\">\n        <Navbar.Brand className=\"text-white\">\n        <NavLink to=\"/En\" className={setActive}>\n        <Stack direction=\"horizontal\" gap={3}>\n        <Image variant=\"bottom\" className = \"\"\n          src={logo_nav2En}\n          fluid\n          style={{ width: '6rem' }, {height: '6rem'}}\n          />{' '}\n          <h3></h3></Stack></NavLink></Navbar.Brand>\n        <Navbar.Toggle aria-controls=\"responsive-navbar-nav\" />\n        <Navbar.Collapse id=\"responsive-navbar-nav\">\n        <Nav className=\"me-auto\" className=\"justify-content-end flex-grow-1 pe-4\">\n        <Nav.Link><NavLink to=\"/news/En\" className={setActive} ><h5>News</h5></NavLink></Nav.Link>\n          <h5><NavDropdown title={<span className=\"fdrop\">Scientific directions</span>} id=\"collasible-nav-dropdown\">\n                      <NavDropdown.Item> <NavLink to=\"/data_processing_and_analysis\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Data processing and analysis</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/the_spread_of_epidemics/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling and scenarios of epidemic spread</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/social_processes/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling of social processes</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/pollution_modeling/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling of pollution in the regions of the Russian Federation</NavLink></NavDropdown.Item>\n                      <NavDropdown.Item> <NavLink to=\"/medicine/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling in medicine</NavLink></NavDropdown.Item>\n                    </NavDropdown></h5>\n          <h5><NavDropdown title={<span className=\"fdrop\">Data</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/data/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Download data</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/links/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Useful links</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          <h5><NavDropdown title={<span className=\"fdrop\">Statistics</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/statistics/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Coronavirus</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/tub/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Tuberculosis</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          <div class=\"header__lang\">\n                    <a href=\"/\" class=\"header__lang-link \">RU</a>\n                    <span>|</span>\n                    <a href=\"/EN/\" class=\"header__lang-link active\">EN</a>\n                </div>\n        </Nav>\n        </Navbar.Collapse>\n        </Container>\n      </Navbar>\n    </>\n  )\n}\nexport default NaviBarv2_En;\n\n","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Krivorotko from \"../images/team/Krivorotko.png\"\n\nexport function Krivorotko_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Krivorotko} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Olga Krivorotko</h1></div>\n        <div class=\"row ps-4\"><p>Doctor of Physical and Mathematical Sciences</p></div>\n        <div class=\"row ps-4\"><p>Head of the laboratory</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 krivorotko.olya@mail.ru</h5>\n        <h5>📩 o.i.krivorotko@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/E-5775-2014\">E-5775-2014</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID OF the RSCI:<a rel=\"noopener\" target=\"_blank\" href=\"https://www.elibrary.ru/author_profile.asp?authorid=746714\">746714</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57217457913\">57217457913</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0003-0125-4988\">0000-0003-0125-4988</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Krivorotko-CV_short .pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>03.04.1989</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2006-2011 — Specialist student at Novosibirsk State University, Russia. Title of the thesis: solving the inverse problem of thermoacoustics. Scientific supervisor: Corresponding Member of the Russian Academy of Sciences, Professor S. Kabanikhin.</p>\n        <p>2011-2014 — Postgraduate student at Novosibirsk State University, Russia. The title of the PhD thesis: Regularization of the problems of determining the sources of oscillations. Scientific supervisor: Corresponding Member of the Russian Academy of Sciences, Professor S. Kabanikhin.</p>\n        <p>2015 — Candidate of Physical and Mathematical Sciences, specialty 05.13.18 - mathematical modeling, numerical methods and software packages. </p>\n        <p>2023 — Doctor of Physical and Mathematical Sciences, specialty 1.2.2. - mathematical modeling, numerical methods and software packages.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2024-present — Head of the Laboratory of AI Technologies for Mathematical Modeling of Biological, Socio-economic and Environmental Processes, S. Sobolev Institute of Mathematics SB RAS</p>\n        <p> 2023-present — Head of the Research Department of the International Mathematical Center, S. Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2023-present — Senior Researcher, S. Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2021-present — Associate Professor of the Department of Higher Mathematics, Faculty of Physics, Novosibirsk State University, Novosibirsk, Russia.</p>\n        <p> 2015-present — Associate Professor of the Department of Mathematical Methods of Geophysics, Faculty of Mechanics and Mathematics, Novosibirsk State University, Novosibirsk, Russia. Numerical methods for solving inverse and ill-posed problems, annual special course.</p>\n        <p> 2015-present — Deputy Head of the NSC-NSU Joint Laboratory \"Methods of Creation, Research and identification of mathematical models of Natural Science\", Novosibirsk State University, Novosibirsk, Russia.</p>\n        <p> 2014-present — Deputy Chairman of the Council of Scientific Youth of the Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia. </p>\n        <p> 2014-present — Senior Researcher, Laboratory of Mathematical Problems of Geophysics, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia. Researcher in the field of direct and inverse problems of mathematical physics (geophysics, acoustics, seismics), medicine and related fields of science, source problems (identification of sources of tsunamis, earthquakes, thermoacoustics problem), numerical solution of direct and inverse problems of immunology and epidemiology, digital economy.</p>\n        <p> 2012-2014 — Engineer, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia. Researcher in the field of direct and inverse problems of mathematical physics (geophysics, acoustics, seismics), medicine and related fields of science.</p>\n        <p> 2011-2021 — Senior Lecturer at the Department of Higher Mathematics, Faculty of Physics, Novosibirsk State University, Novosibirsk, Russia. Vector and tensor analysis (3rd year).</p>\n        <p> 2011-2014 — Software Engineer, Geosystem LLC, Novosibirsk, Russia. One of the developers of the high-tech ITRIS software product designed for modeling natural and man-made disasters (tsunamis, earthquakes, etc.). The developer is a researcher in the field of direct and inverse problems of mathematical physics (seismics, electrical exploration), medicine, image processing.</p>\n        <p> 2011-2015 — Scientific Secretary of the third, Fourth, fifth, sixth and Seventh International Youth Scientific School-conference \"Theory and Numerical Methods for solving Inverse and Ill-posed problems\", Novosibirsk, October 10-15, 2011, August 5-15, 2012, October 8-13, 2013, December 8-14, 2014, October 19-24, 2015, respectively.</p></div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Teaching</h3></div>\n        <p>Numerical methods for solving inverse and incorrect problems - annual special course of the Department of Mathematical Methods of Geophysics of MMF NSU, courses 3-6.</p>\n        <Button href=\"/Krivorotko_teaching_methods/En\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Materials</b></div></Button>\n            <div class=\"row ps-4 my-3\"><p class=\"lead\"></p></div>\n        <p>Vector and tensor analysis - lectures and seminars, 3rd year of the NSU Faculty of Physics.</p>\n        <Button href=\"/Krivorotko_Zvonareva_teaching/En\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Materials</b></div></Button>\n            <div class=\"row ps-4 my-3\"><p class=\"lead\"></p></div>\n            <p>Inverse problems: theory and practice - a course at <a rel=\"noopener\" target=\"_blank\" href=\"https://cytometry.ru/biomed/schedule.html\">the Department of Biomedical Physics of Novosibirsk State University</a> for 5th-6th year undergraduates.</p>\n        <Button href=\"/Krivorotko_teaching/En\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Materials</b></div></Button>\n            <div class=\"row ps-4 my-3\"><p class=\"lead\"></p></div>\n        <p>Supervisor of 6 students (2 graduate students, 1 undergraduate, 3 bachelors).</p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Inverse and incorrect problems in Earth sciences and biology.</p>\n        <p>Identifiability and sensitivity analysis.</p>\n        <p>Optimization and regularization.</p>\n        <p>Machine learning from the point of view of optimization.</p>\n        <p>High-performance computing.</p>\n        <p>Epidemiology, immunology and social processes.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>RFBR 09-01-00746 \"Creation of new numerical methods and study of known methods for solving inverse problems of mathematical physics\" (2009-2011) — performer</p>\n          <p>RFBR 12-01-00773 \"Theory and numerical methods for solving inverse problems of mathematical physics\" (2012-2014) — performer.</p>\n          <p>SB RAS 14 \"Inverse problems and their applications: theory, algorithms and software package\" (2014) — performer.</p>\n          <p>RFBR 14-01-31182 \"Optimal control of the shape of thin inclusions in problems of elasticity theory\" (2014-2015) — performer.</p>\n          <p>RFBR 15-01-09230 \"Construction and research of analogues of I.M. Gelfand, B.M. Levitan, M.G. Crane equations and numerical methods for their solution in application to multidimensional inverse problems of acoustics, electrodynamics and elasticity theory\" (2015-2017) — performer.</p>\n          <p>RFBR 16-31-00189 \"Development of parallel algorithms for numerical solution of direct and inverse problems of wave propagation in the hydrosphere-lithosphere system\" (2016-2017) — Head.</p>\n          <p>RFBR 16-31-00382 \"Development of numerical algorithms for solving direct and inverse problems in biology and medicine\" (2016-2017) — performer.</p>\n          <p>RFBR 16-01-00755 \"Development of numerical methods for continuation of solutions from a part of the boundary of equations of mathematical physics\" (2016-2018) — performer.</p>\n          <p>Grant of the President of the Russian Federation MK-1214.2017.1 \"Research and development of numerical algorithms for solving direct and inverse problems of immunology and epidemiology\" (2017-2018) — Head.</p>\n          <p>RFBR 17-52-14004 \"Methods of reconstruction of high-quality PET and SPECT images with low gamma quantum statistics\" (2017-2019) — performer.</p>\n          <p>RFBR 17-51-540004 \"Substantiation of existing and development of new numerical methods for solving inverse and ill-posed problems for elliptic and parabolic equations\" (2017-2018) — performer.</p>\n          <p>RNF 18-71-10044 \"Supercomputer analysis of social, epidemiological and economic processes. Theory, algorithms and Software package\" (2018-2023) — Head.</p>\n          <p>RFBR 18-41-540017 \"Development of computer modeling methods and a set of programs for supercomputers for the purpose of probabilistic forecasting of abnormal and dangerous natural phenomena in the Novosibirsk region\" (2018-2020) - performer.</p>\n          <p>RFBR 18-31-20019 \"Direct and inverse problems of social processes: theory, algorithms and a set of programs\" (2018-2020) — Head.</p>\n          <p>Grant of the President of the Russian Federation MK-814.2019.1 \"Analysis and application of machine learning methods in inverse problems using parallel computing on a supercomputer\" (2019-2020) - Head.</p>\n          <p>RFBR 21-51-10003 \"Reverse mathematical modeling in epidemiology\" (2021-2022) — Head.</p>\n          <p>Grant of the President of the Russian Federation MK-4994.2021.1.1 \"Agent modeling and forecasting of the spread of the coronavirus epidemic in the regions of the Russian Federation, taking into account the analysis of the effectiveness of quarantine measures\" (2021-2022) — Head.</p>\n          <p>RNF 23-71-10068 \"Development of an intelligent software system for monitoring and modeling interrelated epidemiological and economic processes in the Russian Federation\" (2023-2026) — Head.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Awards and achievements</h3></div>\n        <p>Novosibirsk Region Government Award for outstanding scientific achievements in the nomination \"Best Young Researcher\" for the work \"Software package for modeling and constructing scenarios for the spread of infectious diseases in the Novosibirsk region, taking into account socio-economic constraints\" (2023).</p>\n        <p>The G. Marchuk Prize for the work \"Identifiability of mathematical models of immunology and epidemiology\" (2021).</p>\n        <p>Novosibirsk City Hall Award in the field of science and innovation. Nomination \"The best young researcher in scientific organizations\" for the development of a forecast map for the spread of socially significant diseases in the city of Novosibirsk (2020).</p>\n        <p>Grant UMNIK for the project \"Development of a high-tech 3D integration system for visualization and tsunami warning\" (2015).</p>\n        <p>The second prize of the Lavrentiev competition of student and postgraduate works in mathematics and mechanics \"Study of the combined inverse problem of restoring the source of disturbance of the water surface\" (2014).</p>\n        <p>British Petroleum Fellowship for Graduate Students (2013-2014).</p>\n        <p>The first prize of the Lavrentiev competition of student and postgraduate works in mathematics and mechanics \"Research of problems of determining the sources of wave processes\" (2013).</p>\n        <p>Scholarship of the President of the Russian Federation (2012-2013).</p>\n        <p>The second prize of the Lavrentiev competition of student and postgraduate works in mathematics and mechanics for solving the inverse problem of thermoacoustics (2011).</p>\n        <p>Baker Hughes BV Award: Identification of sources of tsunamis and earthquakes (2011-2012).</p>\n        <p>Baker Hughes BV Award: Research and solution of the inverse problem of thermoacoustics by the method of singular value decomposition (2010-2011).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Kabanikhin from \"../images/team/Kabanikhin.jpg\"\n\nexport function Kabanikhin_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Kabanikhin} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Кабанихин Сергей Игоревич</h1></div>\n        <div class=\"row ps-4\"><p>Доктор физико-математических наук, член-корреспондент РАН</p></div>\n        <div class=\"row ps-4\"><p>Главный научный сотрудник</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 ksi52@mail.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/A-8104-2011\">A-8104-2011</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID РИНЦ:<a rel=\"noopener\" target=\"_blank\" href=\"https://www.elibrary.ru/author_items.asp?authorid=3945\">3945</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=6602773229\">57217457913</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0003-4772-1481\">0000-0003-4772-1481</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/_CV-Kabanikhin.pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>27.12.1952</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>1975 г. — Механико-математический факультет Новосибирского государственного университета.</p>\n        <p>1978 г. — Аспирантура при Вычислительном центре Сибирского отделения Академии наук СССР.</p>\n        <p>1978 г. — Кандидат физико-математических наук, тема диссертации: \"Некоторые обратные задачи для гиперболических уравнений и конечно-разностные методы их исследования\", научный руководитель: член-корреспондент В.Г. Романов.</p>\n        <p>1990 г. — Доктор физико-математических наук, тема диссертации: \"Проекционно-разностные методы определения коэффициентов гиперболических уравнений\".</p>\n        <p>1993 г. — Профессор.</p>\n        <p>2011 г. — Член-корреспондент РАН.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2024 г.-н.вр. — Главный научный сотрудник, лаборатория ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов, Институт математики им. С.Л.Соболева СО РАН.</p>\n        <p> 2023 г.-н.вр. — Директор Международного математического центра Института математики им. С.Л. Соболева СО РАН.</p>\n        <p> 2018 г.-н.вр. — Главный научный сотрудник, лаборатория обратных задач естествознания.</p>\n        <p> 2015 - 2018 г. — Директор ИВМиМГ СО РАН.</p>\n        <p> 2014 г.-н.вр. — Заведующий кафедрой математических методов геофизики ММФ НГУ главный научный сотрудник лаборатории прикладных обратных задач ИМ СО РАН.</p>\n        <p> 2014 г. — Временно исполняющий обязанности директора ИВМиМГ СО РАН.</p>\n        <p> 2014 г.-н.вр. — Главный научный сотрудник, лаборатория математических задач геофизики ИВМиМГ Сибирского отделения Российской Академии Наук. </p>\n        <p> 2014 г. — Заместитель директора по научной работе в ИВМиМГ СО РАН.</p>\n        <p> 2009 - 2014 г. — Заведующий лабораторией математических задач геофизики ИВМиМГ Сибирского отделения Российской Академии Наук.</p>\n        <p> 1990 - 2009 г. — Ведущий научный сотрудник Института математики Сибирского отделения Российской Академии Наук.</p>\n        <p> 1978 - 1987 г. — Младший научный сотрудник, старший научный сотрудник, заведующий научно-исследовательской группой, ведущий научный сотрудник Вычислительного центра СО АН СССР.</p>\n        <p> 1978 г.-н.вр. — Ассистент, доцент, профессор, с 2014 года – заведующий кафедрой математических методов геофизики ММФ НГУ.</p></div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Преподавание</h3></div>\n        <p>2017 г. — Преподаватель математики физико-математического факультета, Новосибирск.</p>\n        <p>1990 г.-н.вр. — Профессор Новосибирского государственного университета.</p>\n        <p>1978 - 1990 г. — Доцент Новосибирского государственного университета.</p>\n        <p>1977 - 1978 г. — Учитель математики физико-математической школы, Новосибирск.</p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Вычислительная математика.</p>\n        <p>Разработка, исследование и применение численных методов для решения обратных задач математической физики.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>17-01-20243 - Проект организации Международной конференции «Вычислительная и прикладная математика 2017».</p>\n          <p>17-51-540004 - Обоснование существующих и разработка новых численных методов решения обратных и некорректных задач для эллиптических и параболических уравнений.</p>\n          <p>16-51-77011 - Проект организации российско-британского семинара по теме «Количественная неопределенность в обратном моделировании».</p>\n          <p>16-31-10314 - Проект организации восьмой международной молодежной научной школы-конференции \"Теория и численные методы решения обратных и некорректных задач\".</p>\n          <p>16-01-20522 - Проект организации второй Международной конференции «Математическое моделирование и высокопроизводительные вычисления в биоинформатике, биомедицине и биотехнологии».</p>\n          <p>16-29-15120 - Разработка алгоритмического и программного обеспечения многомасштабного моделирования месторождений углеводородов с использованием суперкомпьютеров.</p>\n          <p>15-31-10413 - Проект организации седьмой международной молодежной научной школы-конференции \"Теория и численные методы решения обратных и некорректных задач\", посвященной 90-летию со дня рождения академика Гурия Ивановича Марчука.</p>\n          <p>15-01-20772 - Проект организации Международной конференции «Актуальные проблемы вычислительной и прикладной математики 2015» (АПВПМ-2015), посвященной 90-летию со дня рождения академика Гурия Ивановича Марчука.</p>\n          <p>15-01-09230 - Построение и исследование аналогов уравнений И.М. Гельфанда, Б.М. Левитана, М.Г. Крейна и численных методов их решения в применении к многомерным обратным задачам акустики, электродинамики и теории упругости.</p>\n          <p>14-01-06035 - Проект организации Международной конференции «Математическое моделирование и высокопроизводительные вычисления в биоинформатике, биомедицине и биотехнологии».</p>\n          <p>14-01-06815 - Проект организации международной школы-конференции молодых ученых \"Современные проблемы прикладной математики и информатики\", посвященной 50-летию ИВМиМГ СО РАН (бывший Вычислительный центр).</p>\n          <p>13-01-06834 - Организация и проведение пятой международной молодежной школы-конференции \"Теория и численные методы решения обратных и некорректных задач\".</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Награды и достижения</h3></div>\n        <p>Почетная грамота «За добросовестный труд на благо отечественной науки, большие успехи, достигнутые в научной и производственной деятельности», и в связи с 60-летием образования ФГБУ \"Сибирское отделение Российской академии наук\" (2017).</p>\n        <p>Памятная серебряная медаль в ознаменование 60-летия Сибирского отделения Российской академии наук (2017).</p>\n        <p>Премия Евразийской ассоциации обратных задач за выдающийся научный вклад в развитие обратных задач и в усиление сотрудничества между учеными стран Евразии (2016).</p>\n        <p>Почетная грамота Министерства образования, науки и инновационной политики Новосибирской области (2013).</p>\n        <p>Почетная грамота НГУ (2012).</p>\n        <p>Памятная медаль «За вклад в развитие Новосибирской области» (2012).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Kabanikhin from \"../images/team/Kabanikhin.jpg\"\n\nexport function Kabanikhin_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Kabanikhin} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Sergey Kabanikhin</h1></div>\n        <div class=\"row ps-4\"><p>Doctor of Physical and Mathematical Sciences, Corresponding Member of the Russian Academy of Sciences</p></div>\n        <div class=\"row ps-4\"><p>Chief Research Associate</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 ksi52@mail.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/A-8104-2011\">A-8104-2011</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID OF the RSCI:<a rel=\"noopener\" target=\"_blank\" href=\"https://www.elibrary.ru/author_items.asp?authorid=3945\">3945</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=6602773229\">57217457913</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0003-4772-1481\">0000-0003-4772-1481</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/_CV-Kabanikhin.pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>27.12.1952</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>1975 — Faculty of Mechanics and Mathematics of Novosibirsk State University.</p>\n        <p>1978 — Postgraduate study at the Computing Center of the Siberian Branch of the USSR Academy of Sciences.</p>\n        <p>1978 — Candidate of Physical and Mathematical Sciences, dissertation topic: \"Some inverse problems for hyperbolic equations and finite difference methods of their study\", supervisor: Corresponding member V. Romanov.</p>\n        <p>1990 — Doctor of Physical and Mathematical Sciences, thesis topic: \"Projection-difference methods for determining the coefficients of hyperbolic equations\".</p>\n        <p>1993 — Professor.</p>\n        <p>2011 — Corresponding Member of the Russian Academy of Sciences.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2024 - present — Chief Research Associate, Laboratory of I-technologies for Mathematical Modeling of Biological, Socio-economic and Environmental Processes, S.L.Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2023 - present — Director of the International Mathematical Center of the S.L. Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2018 - present — Chief Researcher, Laboratory of Inverse Problems of Natural Science.</p>\n        <p> 2015 - 2018 г. — Director of the IVMiMG SB RAS.</p>\n        <p> 2014 - present — Head of the Department of Mathematical Methods of Geophysics at MMF NSU, Chief Researcher at the Laboratory of Applied Inverse Problems named after SB RAS.</p>\n        <p> 2014 — Acting Director of the IVMiMG SB RAS.</p>\n        <p> 2014 - present — Chief Researcher, Laboratory of Mathematical Problems of Geophysics, IVMiMG, Siberian Branch of the Russian Academy of Sciences. </p>\n        <p> 2014 — Deputy Director for Scientific Work at IVMiMG SB RAS.</p>\n        <p> 2009 - 2014 — Head of the Laboratory of Mathematical Problems of Geophysics of the Siberian Branch of the Russian Academy of Sciences.</p>\n        <p> 1990 - 2009 — Leading Researcher at the Institute of Mathematics of the Siberian Branch of the Russian Academy of Sciences.</p>\n        <p> 1978 - 1987 — Junior Researcher, senior researcher, Head of the research group, leading researcher at the Computing Center of the SB Academy of Sciences of the USSR.</p>\n        <p> 1978 - present — Assistant, Associate Professor, Professor, since 2014 – Head of the Department of Mathematical Methods of Geophysics at MMF NSU.</p></div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Teaching</h3></div>\n        <p>2017 — Teacher of mathematics, School of Physics and Mathematics, Novosibirsk.</p>\n        <p>1990 - present — Professor, Novosibirsk State University.</p>\n        <p>1978 - 1990 — Associate Professor, Novosibirsk State University.</p>\n        <p>1977 - 1978 — Teacher of mathematics, School of Physics and Mathematics, Novosibirsk.</p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Computational mathematics.</p>\n        <p>Development, research and application of numerical methods for solving inverse problems of mathematical physics.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>17-01-20243 - Project of international conference on “Computational and Applied Mathematics 2017”.</p>\n          <p>17-51-540004 - Justification of existing numerical methods for solving inverse and ill-posed problems for elliptic and parabolic equations and development of new ones.</p>\n          <p>16-51-77011 - Project of Russian-British Seminar on “Quantitative Indefiniteness in Inverse Modeling”.</p>\n          <p>16-31-10314 - Project of eighth international school-conference for young scientists on “Theory and Numerical Methods for Solving Inverse and Ill-Posed Problems”.</p>\n          <p>16-01-20522 - Project of second international school-conference on “Mathematical Simulation and High Performance Computing in Bioinformatics, Biomedicine, and Biotechnology”.</p>\n          <p>16-29-15120 - Development of algorithms and software of multiscale simulation of hydrocarbon deposits using supercomputers.</p>\n          <p>15-31-10413 - Project of seventh international school-conference for young scientists on “Theory and Numerical Methods for Solving Inverse and Ill-Posed Problems” devoted to the 90th anniversary of Gury I. Marchuk.</p>\n          <p>15-01-20772 - Project of international conference on “Important Problems of Computational and Applied Mathematics 2015” (IPCAM-2015) devoted to the 90th anniversary of Gury I. Marchuk.</p>\n          <p>15-01-09230 - Construction and investigation of analogs of Gelfand, Levitan, and Krein equations and numerical methods of their solution as applied to multidimensional inverse problems of acoustics, electrodynamics, and elasticity theory.</p>\n          <p>14-01-06035 - Project of international conference on “Mathematical Simulation and High Performance Computing in Bioinformatics, Biomedicine, and Biotechnology”.</p>\n          <p>14-01-06815 - Project of international school-conference for young scientists on \"Modern Problems of Applied Mathematics and Informatics\" devoted to the 50th anniversary of ICM&MG SB RAS (former Computing Center).</p>\n          <p>13-01-06834 - Organization of fifth international school-conference for young scientists on \"Theory and Numerical Methods for Solving Inverse and Ill-Posed Problems\".</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Awards and achievements</h3></div>\n        <p>Honorary diploma, 60th Anniversary of the Siberian Branch, Russian Academy of Sciences (2017).</p>\n        <p>Commemorative silver medal, 60th Anniversary of the Siberian Branch, Russian Academy of Sciences. (2017).</p>\n        <p>Prize of the Eurasian Association on Inverse Problems (ASAP) for an outstanding contribution to the development of inverse problems and enhancement of cooperation between scientists of Eurasian countries (2016).</p>\n        <p>Certificate of Honor from the Ministry of Education, Science and Innovation Policy of the Novosibirsk Region (2013).</p>\n        <p>Certificate of Honor of NSU (2012).</p>\n        <p>Commemorative medal \"For contribution to the development of the Novosibirsk region\" (2012).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Mikhailapov from \"../images/team/Mikhailapov.png\"\n\nexport function Mikhailapov_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Mikhailapov} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Михайлапов Денис Иванович</h1></div>\n        <div class=\"row ps-4\"><p>Стажёр-исследователь</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 d.i.mikhailapov@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/JNR-9548-2023\">JNR-9548-2023</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57899372200\">57899372200</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0009-0009-1105-4358\">0009-0009-1105-4358</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>14.08.1999г</p></div>\n        </section>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2017-2021 г. –  Бакалавр ММФ НГУ, Прикладная математика и информатика, Дипломная работа: “Распознавание речевых сигналов импульсными нейронными сетями”, Руководитель: Тарков Михаил Сергеевич, к.т.н., профессор.</p>\n        <p>2021-2023 г. –  Магистр ФИТ НГУ, Компьютерное моделирование и анализ данных, Дипломная работа: “Knowledge Distillation для Antialiasing эффекта”, Руководитель:  Бериков Владимир Борисович, д.т.н., профессор. </p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2023-2024 –  И1 Лаборатория анализа данных ИМ СО РАН, Стажер-исследователь.</p>\n        <p> 2023 г. –  ЦВОВИП НГУ, Специалист ИИ.</p>\n        <p> 2021-2023 г. –  ООО Экспософт, Разработчик-исследователь систем искусственного интеллекта.</p></div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Преподавание</h3></div>\n        <p>Нейросети и машинное обучение – полугодовой курс кафедры СИ ФИТ НГУ, 2 курс магистратуры.</p>\n        <p>Методы машинного обучения – полугодовой курс кафедры СИ ФИТ НГУ, 3 курс. </p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Нейронные сети.</p>\n        <p>Анализ медицинских изображений.</p>\n        <p>Анализ временных рядов.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>РФФИ 19-29-01175, FWNF-2022-0015 (122040800258-2) -- Compression of Deep Neural Network for Acute Ischemic Stroke Segmentation (2022г.) — исполнитель.</p>\n          <p>FWNF-2022-0015 (122040800258-2) -- Дистилляция знаний для увеличения устойчивости свёрточных сетей к сдвигам изображений (2023г.) — исполнитель.</p>\n          <p>РНФ 24-21-00195 -- Mask Correction in 3-D Tomography Brain Images for Weakly Supervised Segmentation of Acute Ischemic Stroke (2024г.) — исполнитель.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Награды и достижения</h3></div>\n        <p>Окончание магистратуры ФИТ НГУ с отличием (Красный диплом).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Mikhailapov from \"../images/team/Mikhailapov.png\"\n\nexport function Mikhailapov_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Mikhailapov} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Denis Mikhailapov</h1></div>\n        <div class=\"row ps-4\"><p>Intern Researcher</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 d.mikhailapov@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/JNR-9548-2023\">JNR-9548-2023</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57899372200\">57899372200</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0009-0009-1105-4358\">0009-0009-1105-4358</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>14.08.1999г</p></div>\n        </section>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2017-2021 – Bachelor of MMF NSU, Applied Mathematics and Computer Science, Thesis: “Automatic Speech Recognition with Spike Neural Networks\", Supervisor: Mikhail Tarkov, Ph.D., Professor.</p>\n        <p>2021-2023 – Master's degree in FIT NSU, Computer Modeling and data analysis, Thesis: “Knowledge Distillation for Antialiasing effect\", Head: Vladimir Berikov, Doctor of Technical Sciences, Professor. </p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2023-2024 – I1 SB RAS Data Analysis Laboratory, Research Intern.</p>\n        <p> 2023 – Center for Government & Industrial Partners Relations NSU, AI Specialist.</p>\n        <p> 2021-2023 – Exposoft LLC, Developer and researcher of artificial intelligence systems.</p></div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Teaching</h3></div>\n        <p>Neural networks and machine learning – a six-month course of the Department of SI FIT NSU, the 2nd year of the master's degree.</p>\n        <p>Machine learning methods – a six-month course of the Department of Computer Science at NSU, 3rd year. </p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Neural networks.</p>\n        <p>Medical image Analysis.</p>\n        <p>Time series analysis.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>РФФИ 19-29-01175, FWNF-2022-0015 (122040800258-2) -- Compression of Deep Neural Network for Acute Ischemic Stroke Segmentation (2022г.) — performer.</p>\n          <p>FWNF-2022-0015 (122040800258-2) -- Distillation of knowledge to increase the stability of convolutional networks to image shifts (2023г.) — performer.</p>\n          <p>РНФ 24-21-00195 -- Mask Correction in 3-D Tomography Brain Images for Weakly Supervised Segmentation of Acute Ischemic Stroke (2024г.) — performer.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Awards and achievements</h3></div>\n        <p>Completion of the Master's degree at FIT NSU with honors (Red Diploma).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Petrakova from \"../images/team/Petrakova.jpg\"\n\nexport function Petrakova_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Petrakova} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Петракова Виктория Сергеевна</h1></div>\n        <div class=\"row ps-4\"><p>Кандидат физико-математических наук</p></div>\n        <div class=\"row ps-4\"><p>Научный сотрудник</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 vika-svetlakova@yandex.ru</h5>\n        <h5>📩 rikka@icm.krasn.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/641682\">C-4300-2016</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID РИНЦ:<a rel=\"noopener\" target=\"_blank\" href=\"https://elibrary.ru/author_profile.asp?authorid=1182060\">1182060</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57192186292\">57192186292</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0003-1126-2148\">0000-0003-1126-2148</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме-Петракова_2024.pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>1994</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2010-2016 г. – Студент Сибирского федерального университета, Научный руководитель: к.ф.-м.н., доцент Е.Д. Карепова (бакалавриат); член-корр. РАН, профессор В.В. Шайдуров.</p>\n        <p>2016–2022 г. – Аспирант Сибирского федерального университета, Научный руководитель: член-корр. РАН, профессор В.В. Шайдуров.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2016 – н.вр. Доцент базовой кафедры вычислительных и информационных технологий, Сибирский федеральный университет, Красноярск, Россия.</p>\n        <p> 2014 – н.вр. научный сотрудник, Институт вычислительного моделирования СО РАН.</p>\n        </div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Преподавание</h3></div>\n        <p>Параллельное программирование, 4 курс бакалавриата, семинары, СФУ.</p>\n        <p>Высокопроизводительные вычисления, 1 курс магистратуры, семинары, СФУ.</p>\n        <p>факультатив «Введение в интеллектуальный анализ данных», СФУ.</p>\n        <p>научный руководитель 5-ти студентов (4 бакалавра, 1 магистрант)</p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Математическое моделирование.</p>\n        <p>Математическая эпидемиология.</p>\n        <p>Анализ данных.</p>\n        <p>Вычислительная математика.</p>\n        <p>Математическая статистика.</p>\n        <p>Высокопроизводительные вычисления.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>РФФИ № 18-47-242005 «Создание эффективных распределенных сетей температурных датчиков для бортовой аппаратуры спутников» (2018-2020) — исполнитель.</p>\n          <p>РНФ № 18-72-10005 «Формирование устойчивых комплексных наноструктур за счет самосборки из ансамбля резонансных наночастиц в поле лазерного излучения» (2018-2021) — исполнитель.</p>\n          <p>РНФ № 20-61-46017 «Развитие динамических математических моделей прогноза критических социально-экономических ситуаций и создание эффективных численных методов решения таких моделей» (2020-2021) — исполнитель.</p>\n          <p>РФФИ № 20-01-00090 «Эйлерово-лагранжевы (полулагранжевы) методы конечных разностей и конечных элементов со специальными свойствами» (2020-2022) — исполнитель.</p>\n          <p>РНФ № 18-71-10044 «Суперкомпьютерный анализ социальных, эпидемиологических и экономических процессов. Теория, алгоритмы и комплекс программ» (2021-2023) — исполнитель.</p>\n          <p>ККФН № 2022110809055 «Оценка эффективности использования сети недорогих сенсорных датчиков для сбора данных о загрязнениях в пограничных слоях атмосферы на основе анализа наблюдений за динамикой концентрации взвешенных частиц PM2.5» (2022-2023) — руководитель.</p>\n          <p>РНФ № 23-71-10068  «Разработка интеллектуальной программной системы мониторинга и моделирования взаимосвязанных эпидемиологических и экономических процессов в Российской Федерации» (2023-2026) — исполнитель.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Награды и достижения</h3></div>\n        <p>Первая премия Лаврентьевского конкурса студенческих и аспирантских работ по математике и механике «Численные методы решения задач «среднего поля»» (2020).</p>\n        <p>Диплом финалиста конкурса на лучшую работу студентов федеральных университетов России 2014 года по естественнонаучному направлению (2014).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Petrakova from \"../images/team/Petrakova.jpg\"\n\nexport function Petrakova_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Petrakova} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Victoria Petrakova</h1></div>\n        <div class=\"row ps-4\"><p>Candidate of Physical and Mathematical Sciences</p></div>\n        <div class=\"row ps-4\"><p>Researcher</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 vika-svetlakova@yandex.ru</h5>\n        <h5>📩 rikka@icm.krasn.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/641682\">C-4300-2016</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID RSCI:<a rel=\"noopener\" target=\"_blank\" href=\"https://elibrary.ru/author_profile.asp?authorid=1182060\">1182060</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57192186292\">57192186292</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0003-1126-2148\">0000-0003-1126-2148</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме-Петракова_2024.pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>1994</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2010-2016 – Student of the Siberian Federal University, Scientific supervisor: Ph.D., Associate Professor E. Karepova (Bachelor's degree); Corresponding member of the Russian Academy of Sciences, Professor V. Shaidurov.</p>\n        <p>2016–2022 – Postgraduate student of the Siberian Federal University, Scientific supervisor: Corresponding Member of the Russian Academy of Sciences, Professor V. Shaidurov.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2016 – present Associate Professor of the Basic Department of Computing and Information Technologies, Siberian Federal University, Krasnoyarsk, Russia.</p>\n        <p> 2014 – present Researcher, Institute of Computational Modeling SB RAS.</p>\n        </div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Teaching</h3></div>\n        <p>Parallel programming, 4th year of Bachelor's degree, seminars, SFU.</p>\n        <p>High-performance computing, 1st year of Master's degree, seminars, SFU.</p>\n        <p>Optional course \"Introduction to Data Mining\", SIBFU.</p>\n        <p>Supervisor of 5 students (4 bachelors, 1 undergraduate)</p></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Mathematical modeling.</p>\n        <p>Mathematical epidemiology.</p>\n        <p>Data analysis.</p>\n        <p>Computational mathematics.</p>\n        <p>Mathematical statistics.</p>\n        <p>High-performance computing.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>RFBR No. 18-47-242005 «Creation of efficient distributed networks of temperature sensors for on-board satellite equipment» (2018-2020) — performer.</p>\n          <p>RNF No. 18-72-10005 «Formation of stable complex nanostructures due to self—assembly from an ensemble of resonant nanoparticles in the field of laser radiation» (2018-2021) - performer.</p>\n          <p>RNF No. 20-61-46017 «Development of dynamic mathematical models for forecasting critical socio-economic situations and creation of effective numerical methods for solving such models» (2020-2021) — performer.</p>\n          <p>RFBR No. 20-01-00090 «Eulerian-Lagrangian (semi-Lagrangian) finite difference and finite element methods with special properties» (2020-2022) — performer.</p>\n          <p>RNF No. 18-71-10044 «Supercomputer analysis of social, epidemiological and economic processes. Theory, algorithms and software package» (2021-2023) — performer.</p>\n          <p>KKFN No. 2022110809055 «Assessment of the effectiveness of using a network of inexpensive sensor sensors to collect data on pollution in the boundary layers of the atmosphere based on the analysis of observations of the dynamics of the concentration of suspended particles PM2.5» (2022-2023) — head.</p>\n          <p>RPF No. 23-71-10068 «Development of an intelligent software system for monitoring and modeling interrelated epidemiological and economic processes in the Russian Federation» (2023-2026) — head.</p>\n          <p>RSF No. 24-71-10022 «Joint analysis of a system of time series of meteorological factors and concenration levels of PM2.5 pollution in the surface layer of the city's atmoshere. Theory, algorithms and software packages» (2024-2027) — head.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Awards and achievements</h3></div>\n        <p>The first prize of the Lavrentiev competition of student and postgraduate works in mathematics and mechanics «Numerical methods for solving problems of the «average field»». (2020).</p>\n        <p>Diploma of the finalist of the competition for the best work of students of federal universities of Russia 2014 in the field of natural sciences (2014).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}\n    ","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Semenova from \"../images/team/Semenova.jpg\"\n\nexport function Semenova_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Semenova} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Семенова Диана Анзоровна</h1></div>\n        <div class=\"row ps-4\"><p>Младший научный сотрудник</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 dianasoulmate@yandex.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме_Семенова_Диана.pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>1995</p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2013-2019 г. – Студент ФГАОУ ВО Первый МГМУ им. И.М. Сеченова Минздрава России (Сеченовский Университет), медико-профилактическое дело.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2024 – н.вр. Младший научный сотрудник лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов, Институт математики им. С.Л. Соболева СО РАН.</p>\n        <p> 2021 – н.вр. Младший научный сотрудник научного отдела инфекционной патологии ФГБУ «НМИЦ ФПИ» Минздрава России.</p>\n        <p> 2019 – н.вр. Врач-эпидемиолог центра общей инфектологии ФГБУ «НМИЦ ФПИ» Минздрава России.</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Semenova from \"../images/team/Semenova.jpg\"\n\nexport function Semenova_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Semenova} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Diana Semenova</h1></div>\n        <div class=\"row ps-4\"><p>Junior Researcher</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 dianasoulmate@yandex.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме_Семенова_Диана.pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>1995</p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2013-2019 –Student of the Sechenov First Moscow State Medical University of the Ministry of Health of the Russian Federation (Sechenov University), medical and preventive medicine.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2024 – present. Junior Researcher at the Laboratory of AI Technologies for Mathematical Modeling of Biological, socio-economic and Environmental Processes, S.L. Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2021 – present. Junior Researcher at the Scientific Department of Infectious Pathology of the Federal State Budgetary Institution «NMRC for phthisiopulmonology and infectious diseases» of the Ministry of Health of the Russian Federation.</p>\n        <p> 2019 – present Epidemiologist of the Center for General Infectology of the Federal State Budgetary Institution «NMRC for phthisiopulmonology and infectious diseases» of the Ministry of Health of the Russian Federation.</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Question from \"../images/conf/Question.png\"\n\nexport function Nesterova_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Question} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Нестерова Ангелина Витальевна</h1></div>\n        <div class=\"row ps-4\"><p>Инженер-исследователь</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 a.v.nesterova@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме_НестероваАВ.pdf\">Резюме</a></p></div>\n        </section>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2017-2021 г. – Бакалавриат, Новосибирский государственный университет, Механико-математический факультет, Специальность: Механика и математическое моделирование.Название дипломной работы: Исследование граничных артефактов на реконструированных изображениях в эмиссионной томографии. Научные руководители: д.ф.-м.н., проф. Н. В. Денисова, д.ф.-м.н. О.И. Криворотько.</p>\n        <p>2021–2023г. - Магистратура, Новосибирский государственный университет, Механико-математический факультет, Специальность: Прикладная математика и информатика. Название дипломной работы: Статистические подходы к решению обратной некорректной задачи реконструкции изображений в эмиссионной медицинской томографии. Научный руководитель: д.ф.-м.н., проф. Н. В. Денисова.</p>\n        <p>2023–н.в. - Аспирантура, Институт математики им. С. Л. Соболева СО РАН. Научный руководитель: к.ф.-м.н., проф. П. С. Рузанкин.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2024 – н.в. - Инженер-исследователь, Лаборатория ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.</p>\n        <p> 2024 – н.в. - Инженер-исследователь, Международный математический центр, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.</p>\n        <p> 2023 – Стажер-исследователь, Международный математический центр, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.</p>\n        <p>2022 – 2023 - Лаборант, Институт теоретической и прикладной механики имени С. А. Христиановича СО РАН, Новосибирск, Россия.</p>\n        <p>2022 – 2024 - Лаборант, Лаборатория моделирования в ядерной медицине, Новосибирский государственный университет, Новосибирск, Россия.</p>\n        <p>2021 – 2022 - Лаборант, Институт теоретической и прикладной механики имени С. А. Христиановича СО РАН, Новосибирск, Россия.</p>\n        </div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Ядерная медицина.</p>\n        <p>Однофотонная эмиссионная компьютерная томография.</p>\n        <p>Статистические алгоритмы реконструкции изображений в эмиссионной томографии.</p>\n        <p>Обратные задачи.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>2024 - Новые подходы к улучшению и анализу изображений в ядерной медицине и компьютерной томографии на основе виртуальных клинических испытаний (при поддержке Математического центра в Академгородке в рамках соглашения № 075-15-2022-281 с Министерством науки и высшего образования Российской Федерации) - исполнитель.</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Question from \"../images/conf/Question.png\"\n\nexport function Nesterova_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Question} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Angelina Nesterova</h1></div>\n        <div class=\"row ps-4\"><p>Research Engineer</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 a.v.nesterova@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме_НестероваАВ.pdf\">CV</a></p></div>\n        </section>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2017-2021 – Bachelor's degree, Novosibirsk State University, Faculty of Mechanics and Mathematics, Specialty: Mechanics and Mathematical Modeling.The title of the thesis: The study of boundary artifacts on reconstructed images in emission tomography. Scientific supervisors: Doctor of Ph.D., Professor N. Denisova, Doctor of Ph.D. O.Krivorotko.</p>\n        <p>2021–2023 - Master's degree, Novosibirsk State University, Faculty of Mechanics and Mathematics, Specialty: Applied Mathematics and Computer Science. Title of the thesis: Statistical approaches to solving the inverse ill-posed problem of image reconstruction in emission medical tomography. Scientific supervisor: Doctor of Ph.D., Professor N.Denisova.</p>\n        <p>2023–present - Postgraduate course, S. L. Sobolev Institute of Mathematics SB RAS. Scientific supervisor: Ph.D., P.Ruzankin.</p>\n        </div>\n        \n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2024 – present - Research Engineer, Laboratory of AI-Technologies for Mathematical Modeling of Biological, Socio-economic and Environmental Processes, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2024 – present - Research Engineer, International Mathematical Center, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2023 – Intern Researcher, International Mathematical Center, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.</p>\n        <p>2022 – 2023 - Laboratory assistant, S. A. Khristianovich Institute of Theoretical and Applied Mechanics SB RAS, Novosibirsk, Russia.</p>\n        <p>2022 – 2024 - Laboratory Assistant, Laboratory of Modeling in Nuclear Medicine, Novosibirsk State University, Novosibirsk, Russia.</p>\n        <p>2021 – 2022 - Laboratory assistant, S. A. Khristianovich Institute of Theoretical and Applied Mechanics SB RAS, Novosibirsk, Russia.</p>\n        </div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Nuclear medicine.</p>\n        <p>Single-photon emission computed tomography.</p>\n        <p>Statistical algorithms for image reconstruction in emission tomography.</p>\n        <p>Inverse problems.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>2024 - New approaches to image improvement and analysis in nuclear medicine and computed tomography based on virtual clinical trials (supported by of the Mathematical Center in Akademgorodok under Agreement No. 075-15-2022-281 with the Ministry of Science and Higher Education of the Russian Federation) - performer.</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Zyatkov from \"../images/team/Zyatkov.png\"\n\nexport function Zyatkov_info () {\n  return (\n    <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n      <div><img src={Zyatkov} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Зятьков Николай Юрьевич</h1></div>\n        <div class=\"row ps-4\"><p>Кандидат технических наук</p></div>\n        <div class=\"row ps-4\"><p>Научный сотрудник</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 n.y.zyatkov@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/1137811\">1137811</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID РИНЦ:<a rel=\"noopener\" target=\"_blank\" href=\"https://elibrary.ru/author_profile.asp?authorid=1093951\">1093951</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=55151392600\">55151392600</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0001-5847-4194\">0000-0001-5847-4194</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Zyatkov N. - CV.pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>12.04.1990</p></div>\n        </section>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2007-2011 г. — Бакалавриат, Новосибирский государственный университет , факультет информационных технологий, Россия. Название диссертации: Разработка программного комплекса для многокритериального выбора на конечном множестве альтернатив (на примере производственного планирования). Научный руководитель: Полякова Галина Леонидовна.</p>\n        <p>2011-2013 г. — Магистратура, Новосибирский государственный университет , факультет информационных технологий, Россия. Название диссертации: Разработка высокооптимизированного пакета программ дифракционного моделирования сейсмических волновых полей в слоисто-блоковых средах. Научный руководитель: к.ф.-м.н., доцент Аркадий Маркович Айзенберг; к.т.н. Романенко Алексей Анатольевич.</p>\n        <p>2013-2016 г. — Аспирант факультета информационных технологий Новосибирского государственного университета , Россия. Название диссертации: Разработка и оптимизация программного комплекса для дифракционного моделирования сейсмических волн с адаптацией под графические ускорители. Научный руководитель: к.ф.-м.н., доцент Аркадий Маркович Айзенберг; д.ф.-м.н., член.-корр. РАН Кабанихин Сергей Игоревич.</p>\n        <p>2016-2017 г. — Профессиональная переподготовка по программе \"Экономика и менеджмент организации\", Новосибирский государственный университет. Тема выпускной квалификационной работы: \"Применение методов поиска недооцененных акций при выборе инвестором стратегии на фондовом рынке РФ\" Научный руководитель: к.э.н., доцент Е.Н. Мельтенисова.</p>\n        </div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2024 г.-н.вр. — научный сотрудник лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов, Институт математики им. С.Л.Соболева СО РАН.</p>\n        <p> 2023 г.-н.вр. — начальник инновационного отдела Международного математического центра, Институт математики им. С.Л. Соболева СО РАН.</p>\n        <p> 2022-2024 г. — научный сотрудник лаборатории прикладных обратных задач, Институт математики им. С.Л.Соболева СО РАН.</p>\n        <p> 2020-2023 г. — младший научный сотрудник лаборатории обратных задач естествознания, Институт вычислительной математики и математической геофизики СО РАН.</p>\n        <p> 2014-2018 г. — программист отдела компьютерной техники факультета информационных технологий, Новосибирский государственный университет.</p>\n        <p> 2010-2014 г. — лаборант отдела компьютерной техники факультета информационных технологий, Новосибирский государственный университет.</p>\n\n</div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Компьютерные науки.</p>\n        <p>Математическое моделирование.</p>\n        <p>Количественные исследования.</p>\n        <p>Машинное обучение.</p>\n        <p>Глубокое обучение.</p>\n        <p>Алгоритмическая торговля.</p>\n        <p>Финансовые рынки.</p>\n        <p>Макроэкономика.</p>\n        <p>Стартапы.</p>\n        <p>Высокопроизводительные вычисления.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>РФФИ 18-31-20019 «Прямые и обратные задачи социальных процессов: теория, алгоритмы и комплексы программ» (2018-2020).</p>\n          <p>РФФИ 19-410-540002 «Агентные системы поддержки принятия пространственных решений на региональном уровне» (2019-2021).</p>\n          <p>РФФИ 14 21-51-10003 «Обратное математическое моделирование в эпидемиологии» (2021-2022).</p>\n          <p>РНФ 18-71-10044 «Суперкомпьютерный анализ социальных, эпидемиологических и экономических процессов. Теория, алгоритмы и комплекс программ» (2018-2023).</p>\n          <p>РНФ 23-71-10068 «Разработка интеллектуальной программной системы мониторинга и моделирования взаимосвязанных эпидемиологических и экономических процессов в Российской Федерации» (2023-н.в.).</p>\n         </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Награды и достижения</h3></div>\n        <p>Победа в бизнес-акселераторе А:СТАРТ новосибирского технопарка \"Академпарк\" в секции IT с проектом \"Панель управляющего: облачный сервис для управления рисками по инвестиционным счетам\" (2018).</p>\n        <p>1 место в номинации \"Эффективное приложение\" на конкурсе \"GPU: серьезные ускорители для больших задач\", NVIDIA Ltd., Московский государственный университет, Москва, Россия (2013).</p>\n        <p>Стипендия Правительства РФ (2012-2013).</p>\n        <p>2 место на 51-й Международной научной студенческой конференции \"Студент и научно-технический прогресс\", Новосибирский государственный университет, Новосибирск, Россия (2013).</p>\n        <p>1 место на 50-й Международной научной студенческой конференции \"Студент и научно-технический прогресс\", Новосибирский государственный университет, Новосибирск, Россия (2012).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}\n    ","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Zyatkov from \"../images/team/Zyatkov.png\"\n\nexport function Zyatkov_info_En () {\n  return (\n    <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n      <div><img src={Zyatkov} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Nikolay Zyatkov</h1></div>\n        <div class=\"row ps-4\"><p>PhD in Computer Science</p></div>\n        <div class=\"row ps-4\"><p>Researcher</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 n.y.zyatkov@math.nsc.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/1137811\">1137811</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID RSCI:<a rel=\"noopener\" target=\"_blank\" href=\"https://elibrary.ru/author_profile.asp?authorid=1093951\">1093951</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=55151392600\">55151392600</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0001-5847-4194\">0000-0001-5847-4194</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Zyatkov N. - CV.pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>12.04.1990</p></div>\n        </section>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2006-2009 — B. Sc. in Engineering and Technology, Novosibirsk State University, Department of Information Technology, Russia Thesis title: Development of a software system for multi-criteria choice on a finite set of alternatives (by example of the production planning). Scientific advisor: Galina L. Polyakova.</p>\n        <p>2011-2013 — M. Sc. in Engineering and Technology, Novosibirsk State University, Department of Information Technology, Russia Thesis title: Development of highly-optimized software for diffraction modeling of seismic wavefields in layered mediums. Scientific advisor: Dr. Arkady M. Aizenberg; PhD Alexey A. Romanenko.</p>\n        <p>2013-2016 — PhD student of the Novosibirsk State University, Department of Information Technology, Russia Thesis title: Development of highly-optimized software for diffraction modeling of seismic wavefields in layered mediums with adaptation on GPU. Scientific advisor: Dr. Arkady M. Aizenberg; Prof. Sergey I. Kabanikhin, Member of Russian Academy of Science.</p>\n        <p>2016-2017 — Professional retraining under the program \"Economics and Organization Management\", Novosibirsk State University Theme of graduation work: “Using search methods for undervalued stocks when choosing an investor strategy in the Russian stock market” Scientific adviser: Ph.D., Associate Professor E. Meltenisova.</p>\n        </div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2024-present — Researcher, Laboratory of AI Technologies for Mathematical Modeling of Biological, Socioeconomic and Ecological Processes, Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2023-present — Head of the Innovation Department, International Mathematical Center, Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2022-2024 — Researcher, Laboratory of Applied Inverse Problems, Sobolev Institute of Mathematics SB RAS.</p>\n        <p> 2020-2023 — Junior Researcher, Laboratory of Inverse Problems of Natural Science, Institute of Computational Mathematics and Mathematical Geophysics SB RAS.</p>\n        <p> 2014-2018 - Programmer, Department of Computer Engineering, Faculty of Information Technology, Novosibirsk State University.</p>\n        <p> 2010-2014 - Laboratory Assistant, Department of Computer Engineering, Faculty of Information Technology, Novosibirsk State University.</p>\n</div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Computer Science.</p>\n        <p>Mathematical modeling.</p>\n        <p>Quantitative research.</p>\n        <p>Machine learning.</p>\n        <p>Deep learning.</p>\n        <p>Algorithmic Trading.</p>\n        <p>Financial markets.</p>\n        <p>Macroeconomics.</p>\n        <p>Start-ups.</p>\n        <p>High performance computing.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>RFBR 18-31-20019 \"Direct and inverse problems of social processes: theory, algorithms and complexes of programs\" (2018-2020).</p>\n          <p>RFBR 19-410-540002 \"Agent-based spatial decision support systems at the regional level\" (2019-2021).</p>\n          <p>RFBR 14 21-51-10003 \"Inverse mathematical modeling in epidemiology\" (2021-2022).</p>\n          <p>RNF 18-71-10044 \"Supercomputer analysis of social, epidemiological and economic processes. Theory, algorithms and complex of programs\" (2018-2023).</p>\n          <p>RNF 23-71-10068 \"Development of an intelligent software system for monitoring and modeling interrelated epidemiological and economic processes in the Russian Federation\" (2023-present).</p>\n         </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"my-3\"><h3>Awards and achievements</h3></div>\n        <p>Victory in the business accelerator A:START of the Novosibirsk Technopark “Akadempark” in the IT section with the project “Manager's Panel: Cloud Service for Risk Management for Investment Accounts” (2018).</p>\n        <p>1st place in nomination “Effective application” at the contest “GPU: serious accelerators for large problems”, NVIDIA Ltd., Moscow State University, Moscow, Russia (2013).</p>\n        <p>The Scholarship of the Government of Russian Federation (2012-2013).</p>\n        <p>2st place at the 51th International Scientific Conference for Students “Student and Scientific-Technical progress”, Novosibirsk State University, Novosibirsk, Russia (2013).</p>\n        <p>1st place at the 50th International Scientific Conference for Students “Student and Scientific-Technical progress”, Novosibirsk State University, Novosibirsk, Russia (2012).</p>\n        </div>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}\n    ","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Zvonareva from \"../images/team/Zvonareva.png\"\n\nexport function Zvonareva_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Zvonareva} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Звонарева Татьяна Александровна</h1></div>\n        <div class=\"row ps-4\"><p>Младший научный сотрудник</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 t.a.zvonareva@math.nsc.ru</h5>\n        <h5>📩 t.zvonareva@g.nsu.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/GQP-5052-2022\">GQP-5052-2022</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID РИНЦ:<a rel=\"noopener\" target=\"_blank\" href=\"https://www.elibrary.ru/author_profile.asp?authorid=1163527\">1163527</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57274354900\">57274354900</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0002-5418-3098\">0000-0002-5418-3098</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме ЗвонареваТА.pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p>1997</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2015-2019 г. — Студент бакалавр Новосибирского государственного университета, Россия. Название дипломной работы: Метод роя частиц численного решения обратной задачи социальных сетей.Научные руководители: член-корр. РАН, профессор С.И. Кабанихин, канд. физ.-мат. наук О.И.Криворотько.</p>\n        <p>2019-2021 г. — Студент магистрант Новосибирского государственного университета, Россия. Название дипломной работы: Регуляризированный алгоритм решения задачи об источнике для диффузионно-логистической модели.Научный руководитель: канд. физ.-мат. наук О.И. Криворотько.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2023 г.-н.вр. — Младший научный сотрудник, Лаборатория ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.</p>\n        <p> 2023 г.-н.вр. — Младший научный сотрудник, Международный математический центр, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.</p>\n        <p> 2020 г.-н.вр. — Ассистент, Кафедра высшей математики физического факультета, Новосибирский государственный университет, Новосибирск, Россия.</p>\n        <p> 2021 г.-2022 г. — Инженер, Лаборатория методов создания, исследования и идентификации математических моделей естествознания, Новосибирский государственный университет, Новосибирск, Россия.</p>\n        <p> 2020 г.-2023 г. — Инженер, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия.</p>\n        <p> 2020 г. — Инженер, Международный научно-образовательный математический центр, Новосибирский государственный университет, Новосибирск, Россия.</p>\n</div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Преподавание</h3></div>\n        <p>Векторный и тензорный анализ - семинары, 3 курс физического факультета НГУ.</p>\n        <Button href=\"/Krivorotko_Zvonareva_teaching\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Материалы</b></div></Button>\n   \n</div>\n\n\n\n\n\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Математическое моделирование.</p>\n        <p>Обратные задачи.</p>\n        <p>Идентифицируемость.</p>\n        <p>Оптимизация.</p>\n        <p>Социальные процессы.</p>\n        <p>Регуляризация.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>РНФ 18-71-10044 «Суперкомпьютерный анализ социальных, эпидемиологических и экономических процессов. Теория, алгоритмы и комплекс программ» (2018-2023) — исполнитель.</p>\n          <p>РФФИ 18-31-20019 «Прямые и обратные задачи социальных процессов: теория, алгоритмы и комплекс программ» (2018-2020) — исполнитель.</p>\n          <p>Грант Президента Российской Федерации MK-814.2019.1 «Анализ и применение методов машинного обучения в обратных задачах с использованием параллельных вычислений на супер-ЭВМ» (2019-2020) — исполнитель.</p>\n          <p>РФФИ 21-51-10003 «Обратное математическое моделирование в эпидемиологии» (2021-2022) — исполнитель.</p>\n          <p>Грант Президента Российской Федерации МК-4994.2021.1.1 «Агентное моделирование и прогнозирование распространения коронавирусной эпидемии в регионах Российской Федерации с учетом анализа эффективности карантинных мер» (2021-2022) — исполнитель.</p>\n          <p>РНФ 23-71-10068 «Разработка интеллектуальной программной системы мониторинга и моделирования взаимосвязанных эпидемиологических и экономических процессов в Российской Федерации» (2023-2026) — исполнитель.</p>\n        </div>\n        <hr></hr>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Zvonareva from \"../images/team/Zvonareva.png\"\n\nexport function Zvonareva_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Zvonareva} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Tatiana Zvonareva</h1></div>\n        <div class=\"row ps-4\"><p>Junior Researcher</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 t.a.zvonareva@math.nsc.ru</h5>\n        <h5>📩 t.zvonareva@g.nsu.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5\">WOS Research ID:<a href=\"https://www.webofscience.com/wos/author/record/GQP-5052-2022\">GQP-5052-2022</a></div>\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID RSCI:<a rel=\"noopener\" target=\"_blank\" href=\"https://www.elibrary.ru/author_profile.asp?authorid=1163527\">1163527</a></div>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto ps-5 \">Scopus Author ID:<a href=\"https://www.scopus.com/authid/detail.uri?authorId=57274354900\">57274354900</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0002-5418-3098\">0000-0002-5418-3098</a><hr></hr></div>\n        </div>\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Резюме ЗвонареваТА.pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p>1997</p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2015-2019 — Bachelor's degree student of Novosibirsk State University, Russia. The title of the thesis: The particle swarm method for the numerical solution of the inverse problem of social networks.Scientific supervisors: Corresponding Member of the Russian Academy of Sciences, Professor S.I. Kabanikhin, Candidate of Physical and Mathematical Sciences O.Krivorotko.</p>\n        <p>2019-2021 — Undergraduate student at Novosibirsk State University, Russia. Title of the thesis: A regularized algorithm for solving the source problem for a diffusion-logistic model.Scientific supervisor: Candidate of Physical and Mathematical Sciences O.Krivorotko.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2023-present — Junior Researcher, Laboratory of AI Technologies for Mathematical Modeling of Biological, Socio-Economic and Environmental Processes, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2023-present — Junior Researcher, International Mathematical Center, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2020-present — Assistant Professor, Department of Higher Mathematics, Faculty of Physics, Novosibirsk State University, Novosibirsk, Russia.</p>\n        <p> 2021-2022 — Engineer, Laboratory of Methods of Creation, Research and Identification of Mathematical Models of Natural Science, Novosibirsk State University, Novosibirsk, Russia.</p>\n        <p> 2020-2023 — Engineer, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2020 — Engineer, International Scientific and Educational Mathematical Center, Novosibirsk State University, Novosibirsk, Russia.</p>\n</div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Teaching</h3></div>\n        <p>Vector and Tensor analysis - seminars, 3rd year of the NSU Faculty of Physics.</p>\n        <Button href=\"/Krivorotko_Zvonareva_teaching/En\" className=\"text-white shadow4 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Materials</b></div></Button>\n   \n</div>\n\n\n\n\n\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Mathematical modeling.</p>\n        <p>Inverse problems.</p>\n        <p>Identifiability.</p>\n        <p>Optimization.</p>\n        <p>Social processes.</p>\n        <p>Regularization.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Research projects and grants</h3></div>\n          <p>RNF 18-71-10044 \"Supercomputer analysis of social, epidemiological and economic processes. Theory, Algorithms and Software package\" (2018-2023) — performer.</p>\n          <p>RFBR 18-31-20019 \"Direct and inverse problems of social processes: theory, algorithms and software package\" (2018-2020) — performer.</p>\n          <p>Grant of the President of the Russian Federation MK-814.2019.1 \"Analysis and application of machine learning methods in inverse problems using parallel computing on a supercomputer\" (2019-2020) — performer.</p>\n          <p>RFBR 21-51-10003 \"Reverse mathematical modeling in epidemiology\" (2021-2022) — performer.</p>\n          <p>Grant of the President of the Russian Federation MK-4994.2021.1.1 \"Agent modeling and forecasting of the spread of the coronavirus epidemic in the regions of the Russian Federation, taking into account the analysis of the effectiveness of quarantine measures\" (2021-2022) — performer.</p>\n          <p>RNF 23-71-10068 \"Development of an intelligent software system for monitoring and modeling interrelated epidemiological and economic processes in the Russian Federation\" (2023-2026) — contractor.</p>\n        </div>\n        <hr></hr>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Neverov from \"../images/team/Neverov.png\"\n\nexport function Neverov_info () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div><img src={Neverov} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Неверов Андрей Вячеславович</h1></div>\n        <div class=\"row ps-4\"><p>Инженер-исследователь</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 a.v.neverov@math.nsc.ru</h5>\n        <h5>📩 a.neverov@g.nsu.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0 \">ID РИНЦ:<a rel=\"noopener\" target=\"_blank\" href=\"https://elibrary.ru/author_profile.asp?authorid=1152944\">1152944</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0002-0698-0578\">0000-0002-0698-0578</a><hr></hr></div>\n        </div>\n \n\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Неверов_Резюме.pdf\">Резюме</a></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Образование</h3></div>\n        <p>2017-2021 г. – Бакалавриат, Новосибирский государственный университет, Механико-математический факультет, Специальность: Механика и математическое моделирование.Название дипломной работы: Новый подход к решению обратных задач для стохастических дифференциальных уравнений, возникающих в экономике и финансах. Научный руководитель: д.ф.-м.н. О.И.Криворотько.</p>\n        <p>2021–2023г. - Магистратура, Новосибирский государственный университет, Механико-математический факультет, Специальность: Прикладная математика и информатика. Название дипломной работы: Численная реализация модели игры среднего поля в эпидемиологии. Научный руководитель: д.ф.-м.н. О.И.Криворотько.</p>\n        <p>2023–н.в. - Аспирантура, Институт математики им. С. Л. Соболева СО РАН. Научный руководитель: д.ф.-м.н. О.И. Криворотько.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Профессиональный опыт</h3></div>\n        <p> 2023 – н.в. Инженер-исследователь, Институт математики им. С.Л.Соболева СО РАН, Новосибирск, Россия.</p>\n        <p> 2021 – н.в. Ассистент, кафедра математики физического факультета, Новосибирский государственный университет, Новосибирск, Россия.</p>\n        <p> 2021 – 2024 – Инженер. Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия.</p>\n        <p> 2020 – Лаборант, Международный математический центр, Новосибирский государственный университет, Новосибирск, Россия.</p>\n</div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Преподавание</h3></div>\n        <p>2021 – 2024, проведение семинаров на кафедре высшей математики ФФ НГУ.</p>\n   \n</div>\n\n\n\n\n\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Профессиональные интересы</h3></div>\n        <p>Обратные задачи.</p>\n        <p>Численные методы решения дифференциальных уравнений.</p>\n        <p>Игры среднего поля.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>РНФ 18-71-10044 «Суперкомпьютерный анализ социальных, эпидемиологических и экономических процессов. Теория, алгоритмы и комплекс программ» (2018-2023) — исполнитель.</p>\n          <p>РФФИ 21-51-10003 «Обратное математическое моделирование в эпидемиологии» (2021-2022) — исполнитель.</p>\n          <p>РНФ 23-71-10068 «Разработка интеллектуальной программной системы мониторинга и моделирования взаимосвязанных эпидемиологических и экономических процессов в Российской Федерации» (2023-2026) — исполнитель.</p>\n        </div>\n        <hr></hr>\n        </div>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Neverov from \"../images/team/Neverov.png\"\n\nexport function Neverov_info_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div><img src={Neverov} align=\"left\" width={320} ></img></div>\n        <div class=\"row my-4 ps-4\"><h1>Andrei Neverov</h1></div>\n        <div class=\"row ps-4\"><p>Research Engineer</p><hr></hr></div>\n        <div class=\"row ps-4\"><h5>📩 a.v.neverov@math.nsc.ru</h5>\n        <h5>📩 a.neverov@g.nsu.ru</h5><hr></hr>\n        </div>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6 ps-5 \">ID RSCI:<a rel=\"noopener\" target=\"_blank\" href=\"https://elibrary.ru/author_profile.asp?authorid=1152944\">1152944</a><hr></hr></div>\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\">ORCID: <a href=\"https://orcid.org/0000-0002-0698-0578\">0000-0002-0698-0578</a><hr></hr></div>\n        </div>\n \n\n        <div class=\"row ps-4\"><p><a href=\"https://ai-biolab.ru/data/Неверов_Резюме.pdf\">CV</a></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        <div class=\"row ps-4\"><p></p></div>\n        </section>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-5 col-md-6\"><div class=\"my-3\"><h3>Education</h3></div>\n        <p>2017-2021 – Bachelor's degree, Novosibirsk State University, Faculty of Mechanics and Mathematics, Specialty: Mechanics and Mathematical Modeling.Title of the thesis: A new approach to solving inverse problems for stochastic differential equations arising in economics and finance. Scientific supervisor: Ph.D. O.Krivorotko.</p>\n        <p>2021–2023 - Master's degree, Novosibirsk State University, Faculty of Mechanics and Mathematics, Specialty: Applied Mathematics and Computer Science. Title of the thesis: Numerical implementation of the middle field game model in epidemiology. Scientific supervisor: Ph.D. O.Krivorotko.</p>\n        <p>2023–present - Postgraduate course, S. L. Sobolev Institute of Mathematics SB RAS. Scientific supervisor: Ph.D. O.Krivorotko.</p>\n        </div>\n\n        <div class=\"col-sm-5 offset-sm-2 col-md-6 offset-md-0\"><div class=\"my-3\"><h3>Professional experience</h3></div>\n        <p> 2023 – present Research Engineer, S.L.Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2021 – present Assistant, Department of Mathematics, Faculty of Physics, Novosibirsk State University, Novosibirsk, Russia.</p>\n        <p> 2021 – 2024 – Engineer. Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia.</p>\n        <p> 2020 – Laboratory Assistant, International Mathematical Center, Novosibirsk State University, Novosibirsk, Russia.</p>\n</div>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n        <div class=\"col-sm-6 col-md-5 col-lg-6 mx-auto\"><div class=\"my-3\"><h3>Teaching</h3></div>\n        <p>2021 – 2024, conducting seminars at the Department of Higher Mathematics of the FF NSU.</p>\n   \n</div>\n\n\n\n\n\n        <div class=\"col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0\"><div class=\"my-3\"><h3>Professional interests</h3></div>\n        <p>Inverse problems.</p>\n        <p>Numerical methods for solving differential equations.</p>\n        <p>Mean field Games.</p>\n        </div>\n        <hr></hr>\n        <div class=\"row\">\n          <div class=\"my-3\"><h3>Исследовательские проекты и гранты</h3></div>\n          <p>RNF 18-71-10044 «Supercomputer analysis of social, epidemiological and economic processes. Theory, Algorithms and Software package» (2018-2023) — performer.</p>\n          <p>RFBR 21-51-10003 «Reverse mathematical modeling in epidemiology» (2021-2022) — performer.</p>\n          <p>RNF 23-71-10068 «Development of an intelligent software system for monitoring and modeling interrelated epidemiological and economic processes in the Russian Federation» (2023-2026) — performer.</p>\n        </div>\n        <hr></hr>\n        </div>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\n\n\nexport function Krivorotko_Zvonareva_teaching () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div class=\"row my-4 text-center\"><h1>Семинары курса \"Векторный и тензорный анализ\"</h1></div>\n\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Курс на <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/physics-department/departments/kafedra-vysshey-matematiki/\">кафедре высшей математики</a> Новосибирского государственного университета для студентов 3 курса.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Авторы: <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info\">Криворотько О.И.</a>, <a rel=\"noopener\" target=\"_blank\" href=\"/Zvonareva_info\">Звонарева Т.А.</a>.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Учебные пособия: <br></br><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Криворотько_О_И_,_Звонарева_Т_А_Учебно_методическое_пособие_Векторный.pdf\">Криворотько О.И., Звонарева Т.А. Учебно-методическое пособие Векторный и тензорный анализ. НГУ, 2021</a>.<br></br> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Аюпова_Н_Б_Лекции_по_векторному_и_тензорному_анализу.pdf\">Аюпова Н.Б. Лекции по векторному и тензорному анализу. НГУ, 2012</a>.</p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\">Далее приведено содержание семинаров, ссылки в названии тем ведут на файлы семинаров в формате pdf.</p></div>\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>1.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 1-2.pdf\">Тензор, преобразования тензора. Главные оси и главные значения тензора. Инварианты.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>2.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 3.pdf\">Симметризация и антисимметризация.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>3.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 4.pdf\">Неортогональные базисы и общее определение тензора. Операции над тензорами: сложение, произведение, свертка, симметрирование и антисимметрирование.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>4.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 5-6.pdf\">Метрический тензор. Основные понятия и свойства.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>5.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 7.pdf\">Тензорные поля. Криволинейные системы координат. Коэффициенты Ламе.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>6.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 8-9.pdf\">Тензорные поля. Криволинейные системы координат и преобразование тензора. Градиент, дивергенция векторного поля, лапласиан, ротор.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>7.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 10-11.pdf\">Понятие геодезических линий. Символы Кристоффеля и их свойства. Ковариантная производная.</a></p></div>\n\n</section>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\n\nexport function Krivorotko_teaching () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div class=\"row my-4 text-center\"><h1>Обратные задачи: теория и практика</h1></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Курс на <a rel=\"noopener\" target=\"_blank\" href=\"https://cytometry.ru/biomed/schedule.html\">кафедре биомедицинской физики Новосибирского государственного университета</a> для магистрантов 5-6 курса.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Авторы: <a rel=\"noopener\" target=\"_blank\" href=\"https://sites.google.com/site/yurkin/home\">к.ф.-м.н. Юркин М.А.</a>, <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info\">д.ф.-м.н. Криворотько О.И.</a>.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Сначала приведено краткое содержание, ниже - чуть подробнее расписана каждая тема. В подробном плане ссылки на названии темы ведут на презентации в формате PowerPoint. Доступна запись <a rel=\"noopener\" target=\"_blank\" href=\"https://youtube.com/playlist?list=PLPJ7DMh8UqNP9D98Urd5D1ZIzHTxVvb7j\">лекций</a> (от 2023 г.). Основная литература доступна по <a rel=\"noopener\" target=\"_blank\" href=\"http://cyto.kinetics.nsc.ru/yurkin/InverseProblems/Literature/\">ссылке</a>.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Введение</h2></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_01.pptx\">1. Введение в курс</a></h4></div>\n<div class=\"row my-2 ps-4\"><p class=\"\">1.1. Цели и структура курса.</p>\n<p>1.2. Классификация обратных задач.</p>\n<p>1.3. Примеры обратных задач.</p>\n<p>1.4. Корректность обратной задачи: существование, единственность и устойчивость.</p>\n<p>1.5. Обсуждение конкретных примеров обратных задач в дипломных работах студентов.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Параметрическое описание искомой функции</h2></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_02.pptx\">2. Задача регрессии при анализе экспериментальных данных</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>2.1. Правильная постановка задачи регрессии в терминах мат. статистики - залог достоверного результата обработки экспериментальных данных.</p>\n<p>2.2. Линейные и нелинейные модели.</p>\n<p>2.3. Стандартные предположения о погрешностях экспериментальных данных - нормальное распределение и независимость.</p>\n<p>2.4. Сведение к методу наименьших квадратов. Использование ожидаемых погрешностей экспериментальных данных в качестве веса.</p>\n<p>2.5. Стандартные распределения вероятности.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_03.pptx\">3. Линейная регрессия</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>3.1. Простейший пример: один параметр.</p>\n<p>3.2. Прямое решение задачи минимизации.</p>\n<p>3.3. Оценка погрешности определения параметров: стандартные ошибки, корреляции и доверительные интервалы.</p>\n<p>3.4. Доверительные интервалы на модельную (теоретическую) кривую.</p>\n<p>3.5. Разные подходы к оценке погрешностей - один и тот же результат.</p>\n<p>3.6. Усложнение линейной регрессии.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_04.pptx\">4. Задача минимизации при нелинейной регрессии</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>4.1. Наличие многих локальных минимумов в общем случае.</p>\n<p>4.2. Алгоритмы поиска глобального минимума: Левенберга-Марквардта, мультистарта, DIRECT и др.</p>\n<p>4.3. Классификация алгоритмов по использованию ими производной от целевой функции.</p>\n<p>4.4. Необходимость исследования целевой функции (зависимость суммы квадратов отклонений от параметров) для конкретной задачи. Проверка применимости используемого алгоритма.</p>\n<p>4.5. Разделяемые параметры.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_05.pptx\">5. Оценка погрешности определения параметров</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>5.1. Линейное приближение.</p>\n<p>5.2. Контуры правдоподобия.</p>\n<p>5.3. Байесовский подход.</p>\n<p>5.4. Использование информации о поверхности целевой функции, полученной в ходе минимизации.</p>\n<p>5.5. Метод Монте-Карло.</p>\n<p>5.6. Применимость линейного приближения.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_06.pptx\">6. Проверка изначальных предположений и модификация стандартной процедуры регрессии</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>6.1. Обобщённый метод наименьших квадратов.</p>\n<p>6.2. Определение выпадающих точек.</p>\n<p>6.3. Ненормальное распределение погрешностей.</p>\n<p>6.4. Зависимость погрешностей разных точек между собой.</p>\n<p>6.5. Общая адекватность модели.</p>\n<p>6.6. Сравнение разных моделей.</p>\n<p>6.7. Учёт повторных измерений.</p>\n<p>6.8. Одновременная регрессия нескольких наборов данных при одинаковых значениях части параметров.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_07.pptx\">7. Решение обратной задачи с предварительным обучением</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>7.1. Общие замечания.</p>\n<p>7.2. Предварительно расчитанная таблица значений целевой функции.</p>\n<p>7.3. Аналитическое обращение.</p>\n<p>7.4. Автоматическое обучение.</p>\n<p>7.5. Нейронные сети.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Восстановление функции</h2></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_08.pptx\">8. Регуляризация</a></h4></div>\n<div class=\"row my-2 ps-4\">\n  <p>8.1. Корректность обратной задачи.</p>\n<p>8.2. Сингулярное разложение.</p>\n<p>8.3. Бесконечномерные линейные операторы.</p>\n<p>8.4. Регуляризация Тихонова.</p>\n<p>8.5. Выбор матрицы регуляризации.</p>\n<p>8.6. Обобщённое сингулярное разложение.</p>\n<p>8.7. Выбор параметра регуляризации.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_09.pptx\">9. Основы томографии</a></h4></div>\n<div class=\"row my-2 ps-4\">\n<p>9.1. Виды томографии.</p>\n<p>9.2. Аналитические формулы обращения.</p>\n<p>9.3. Физические проблемы.</p>\n<p>9.4. Технические проблемы.</p>\n<p>9.5. Численные методы.</p>\n<p>9.6. Оптическая дифракционная томография.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Применение полученных знаний в дипломных работах студентов</h2></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">В качестве экзаменационной работы студенты должны предоставить главу дипломной работы (для 5-го курса - предварительную), в которой описывается обработка экспериментальных данных. При проверке основное внимание будет уделяться на статистическую достоверность полученных результатов и выводов.</p></div>\n</section>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\n\n\nexport function Krivorotko_Zvonareva_teaching_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div class=\"row my-4 text-center\"><h1>Seminars of the course \"Vector and tensor analysis\"</h1></div>\n\n<div class=\"row my-4 ps-4\"><p class=\"lead\">A course at <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/physics-department/departments/kafedra-vysshey-matematiki/\">the Department of Higher Mathematics</a> of Novosibirsk State University for 3rd year students.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Authors: <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info/En\">O. Krivorotko</a>, <a rel=\"noopener\" target=\"_blank\" href=\"/Zvonareva_info/En\">T. Zvonareva</a>.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Training manuals: <br></br><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Криворотько_О_И_,_Звонарева_Т_А_Учебно_методическое_пособие_Векторный.pdf\">O. Krivorotko, T. Zvonareva Educational and methodical manual Vector and tensor analysis. NSU, 2021</a>.<br></br> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Аюпова_Н_Б_Лекции_по_векторному_и_тензорному_анализу.pdf\">Ayupova N.B. Lectures on vector and tensor analysis. NSU, 2012</a>.</p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\">The following is the content of the seminars, the links in the title of the topics lead to the seminar files in pdf format.</p></div>\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>1.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 1-2.pdf\">Tensor, tensor transformations. The main axes and the main values of the tensor. Invariants.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>2.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 3.pdf\">Symmetrization and antisymmetrization.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>3.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 4.pdf\">Non-orthogonal bases and the general definition of a tensor. Tensor operations: addition, product, convolution, symmetry and antisymmetry.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>4.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 5-6.pdf\">The metric tensor. Basic concepts and properties.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>5.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 7.pdf\">Tensor fields. Curved coordinate systems. Lame coefficients.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>6.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинары 8-9.pdf\">Tensor fields. Curved coordinate systems and tensor transformation. Gradient, divergence of the vector field, Laplacian, rotor.</a></p></div>\n\n       <div class=\"row my-4 ps-4\"><p class=\"lead\"><b>7.</b> <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 10-12.pdf\">The concept of geodetic lines. Christoffel symbols and their properties. The covariant derivative.</a></p></div>\n\n</section>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\n\nexport function Krivorotko_teaching_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div class=\"row my-4 text-center\"><h1>Inverse problems: theory and practice</h1></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">A course at <a rel=\"noopener\" target=\"_blank\" href=\"https://cytometry.ru/biomed/schedule.html\">the Department of Biomedical Physics of Novosibirsk State University</a> for undergraduates of the 5th-6th year.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Authors: <a rel=\"noopener\" target=\"_blank\" href=\"https://sites.google.com/site/yurkin/home\">Candidate of Physical and Mathematical Sciences M. Yurkin</a>, <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info\">Doctor of Physical and Mathematical Sciences O. Krivorotko</a>.</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">First, a summary is provided, below is a little more detailed description of each topic. In the detailed plan, the links on the topic title lead to presentations in PowerPoint format. A recording  <a rel=\"noopener\" target=\"_blank\" href=\"https://youtube.com/playlist?list=PLPJ7DMh8UqNP9D98Urd5D1ZIzHTxVvb7j\">of lectures is available</a> (from 2023). The main literature is available at <a rel=\"noopener\" target=\"_blank\" href=\"http://cyto.kinetics.nsc.ru/yurkin/InverseProblems/Literature/\">the link</a>.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Introduction</h2></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_01.pptx\">1. Introduction to the course</a></h4></div>\n<div class=\"row my-2 ps-4\"><p class=\"\">1.1. Objectives and structure of the course.</p>\n<p>1.2. Classification of inverse problems.</p>\n<p>1.3. Examples of inverse problems.</p>\n<p>1.4. Correctness of the inverse problem: existence, uniqueness and stability.</p>\n<p>1.5. Discussion of specific examples of inverse problems in students' theses.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Parametric description of the desired function</h2></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_02.pptx\">2. The regression problem in the analysis of experimental data</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>2.1.The correct formulation of the regression problem in terms of math. statistics are the key to reliable results of processing experimental data.</p>\n<p>2.2. Linear and nonlinear models.</p>\n<p>2.3. The standard assumptions about experimental data errors are normal distribution and independence.</p>\n<p>2.4. Reduction to the least squares method. Using the expected errors of experimental data as a weight.</p>\n<p>2.5. Standard probability distributions.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_03.pptx\">3. Linear regression</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>3.1. The simplest example: one parameter.</p>\n<p>3.2. A direct solution to the minimization problem.</p>\n<p>3.3. Estimation of the error in determining parameters: standard errors, correlations and confidence intervals.</p>\n<p>3.4. Confidence intervals on the model (theoretical) curve.</p>\n<p>3.5. Different approaches to error estimation result in the same result.</p>\n<p>3.6. Complication of linear regression.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_04.pptx\">4. The minimization problem in nonlinear regression</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>4.1. The presence of many local minima in the general case.</p>\n<p>4.2. Global minimum search algorithms: Levenberg-Marquardt, multistart, DIRECT, etc..</p>\n<p>4.3. Classification of algorithms based on their use of the derivative of the objective function.</p>\n<p>4.4. The need to study the objective function (the dependence of the sum of squares of deviations from the parameters) for a specific task. Checking the applicability of the algorithm used.</p>\n<p>4.5. Shared parameters.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_05.pptx\">5. Estimation of the error in determining the parameters</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>5.1. Linear approximation.</p>\n<p>5.2. Contours of plausibility.</p>\n<p>5.3. The Bayesian approach.</p>\n<p>5.4. Using information about the surface of the objective function obtained during minimization.</p>\n<p>5.5. The Monte Carlo method.</p>\n<p>5.6. The applicability of the linear approximation.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_06.pptx\">6. Verification of initial assumptions and modification of the standard regression procedure</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>6.1. Generalized least squares method.</p>\n<p>6.2. Definition of drop-down points.</p>\n<p>6.3. Abnormal error distribution.</p>\n<p>6.4. The dependence of the errors of different points on each other.</p>\n<p>6.5. General adequacy of the model.</p>\n<p>6.6. Comparison of different models.</p>\n<p>6.7. Accounting for repeated measurements.</p>\n<p>6.8. Simultaneous regression of several data sets with the same values of some parameters.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_07.pptx\">7. Solving the inverse problem with pre-training</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>7.1. General remarks.</p>\n<p>7.2. A pre-calculated table of values of the objective function.</p>\n<p>7.3. Analytical appeal.</p>\n<p>7.4. Automatic learning.</p>\n<p>7.5. Neural networks.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Restoring function</h2></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_08.pptx\">8. Regularization</a></h4></div>\n<div class=\"row my-2 ps-4\"><p>8.1. Correctness of the inverse problem.</p>\n<p>8.2. Singular value decomposition.</p>\n<p>8.3. Infinite-dimensional linear operators.</p>\n<p>8.4. Tikhonov regularization.</p>\n<p>8.5. The choice of the regularization matrix.</p>\n<p>8.6. Generalized singular value decomposition.</p>\n<p>8.7. Choosing a regularization parameter.</p></div>\n<div class=\"row my-2 ps-4\"><h4><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/InvProb_09.pptx\">9. The basics of tomography</a></h4></div>\n<div class=\"row my-2 ps-4\">\n<p>9.1. Types of tomography.</p>\n<p>9.2. Analytical formulas of treatment.</p>\n<p>9.3. Physical problems.</p>\n<p>9.4. Technical problems.</p>\n<p>9.5. Numerical methods.</p>\n<p>9.6. Optical diffraction tomography.</p></div>\n<div class=\"row my-4 ps-4\"><h2>Application of the acquired knowledge in students' theses</h2></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">As an examination paper, students must submit a chapter of the thesis (for the 5th year - preliminary), which describes the processing of experimental data. During the verification, the main attention will be paid to the statistical reliability of the results and conclusions.</p></div>\n</section>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from './Footer'\nimport NaviBarv2 from './NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\n\nexport function Krivorotko_teaching_methods () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n      <section>\n        <div class=\"row my-4 text-center\"><h1>Численные методы решения обратных и некорректных задач - годовой спецкурс кафедры математических методов геофизики ММФ НГУ, 3-6 курсы.</h1></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">27 февраля стартует спецкурс для студентов 4-6 курсов ММФ «Численные методы решения обратных и некорректных задач»</p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Руководитель: <b>Криворотько О.И.</b></p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Место проведения: дистанционно Zoom</p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Время проведения: четверг 10:30-12:00 (первое занятие - 27.02.2025)</p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Изучаются численные методы решения обратных и некорректных задач биологии (иммунологии, эпидемиологии, фармакокинетики), медицины (термоакустика, биостатистика), математической физики (геофизики, цунами, акустики), экономики и социальных процессов. Особое внимание уделяется численной регуляризации обратных задач, оценкам условной устойчивости решений обратных задач, идентифицируемости.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Лекция 1. Введение в обратные задачи. Пример Адамара некорректности некоторых обратных задач. Сингулярное разложение.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/-amZKrP0bQF5UxQZ7RTq37fPfZzsN5kc-F6o2apDhRwXWJ4NIgunXhRaSEFsC_II.hzb974X2B49fJ9Gn?startTime=1741226931000\">Запись лекции</a> и <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 1.pdf\">материалы</a> можно найти по ссылкам. Код доступа к записи: YK*2o^j9.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Лекция 2. Некорректность обратной задачи термоакустики, Дирихле для волнового уравнения.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/-TXKyI0vYyuCE7wR18BdGBDKEnaF95r2atHtTLgM5ULHa43kXZG0pu_f-zJycS-W.CxkopbCWTm5s82_x\">Запись лекции</a> и <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 2.pdf\">материалы</a> можно найти по ссылкам. Код доступа к записи: H=Po7#pA.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Лекция 3. Метод регуляризации М.М. Лаврентьева. Метод регуляризации А.Н. Тихонова.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/_zJWjUOe45ECfsam3GqtfIQtF1KVg-lDLuE3S1ACaQu3U87qfyJ6isYJp4Ey_y2H.0yvXYletbWaWRlyt\">Запись лекции</a> и <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 3.pdf\">материалы</a> можно найти по ссылкам. Код доступа к записи: *sewC5D5.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Лекция 4. Метод регуляризации А.Н. Тихонова (продолжение).</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/qyA31kCP-xFvDhsm5qoRvCQAJhCmz4SCJZjgSoX-6WoZgB-VaNdFGvv7BqRoDUyn.XgLQUQiLLEiOmN4N\">Запись лекции</a> и <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 4.pdf\">материалы</a> можно найти по ссылкам. Код доступа к записи: qcGnLt4..</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Лекция 5. Некорректность задачи дифференцирования. Введение в градиентные методы.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/fhccpXT_gw1B4vRXWpTqgzcc2qD0UNpgH1xMFABGZuGAfiWRTnMW-tJCqgproGOe.OV3w3E_c8UgH3Zjl\">Запись лекции</a> и <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 5.pdf\">материалы</a> можно найти по ссылкам. Код доступа к записи: g4v.U9B?.</p></div>\n\n</section>\n        </Container>\n        \n\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\n\nexport function Krivorotko_teaching_methods_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n      <section>\n        <div class=\"row my-4 text-center\"><h1>Inverse and incorrect problems - annual special course of the Department of Mathematical Methods of Geophysics of MMF NSU, courses 3-6.</h1></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">On February 27, a special course for 4th-6th year students of the MMF «Numerical methods for solving inverse and ill-posed problems» starts</p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Director: <b>Olga Krivorotko</b></p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Venue: Remote Zoom</p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div class=\"row my-4 ps-4\"><p class=\"lead\">Time: Thursday 10:30-12:00 (first lesson - 02.27.2025)</p></div>\n<div class=\"row my-4 ps-4\"><p class=\"lead\">Numerical methods for solving inverse and incorrect problems in biology (immunology, epidemiology, pharmacokinetics), medicine (thermoacoustics, biostatistics), mathematical physics (geophysics, tsunami, acoustics), economics and social processes are studied. Special attention is paid to numerical regularization of inverse problems, evaluation of conditional stability of solutions to inverse problems, and identifiability.\\</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Lecture 1. Introduction to inverse problems. Hadamard's example of the incorrectness of some inverse problems. Singular value decomposition.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\">It is fashionable to find<a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/-amZKrP0bQF5UxQZ7RTq37fPfZzsN5kc-F6o2apDhRwXWJ4NIgunXhRaSEFsC_II.hzb974X2B49fJ9Gn?startTime=1741226931000\"> lecture recording</a> and <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 1.pdf\">materials</a> by following the links. Entry access code: YK*2o^j9.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Lecture 2. The incorrectness of the inverse problem of thermoacoustics, Dirichlet for the wave equation.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\">It is fashionable to find<a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/-TXKyI0vYyuCE7wR18BdGBDKEnaF95r2atHtTLgM5ULHa43kXZG0pu_f-zJycS-W.CxkopbCWTm5s82_x\"> lecture recording</a> and <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 2.pdf\">materials</a> by following the links. Entry access code: H=Po7#pA.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Lecture 3. M.M. Lavrentiev's regularization method. The regularization method of A.N. Tikhonov.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\">It is fashionable to find<a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/_zJWjUOe45ECfsam3GqtfIQtF1KVg-lDLuE3S1ACaQu3U87qfyJ6isYJp4Ey_y2H.0yvXYletbWaWRlyt\"> lecture recording</a> and <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 3.pdf\">materials</a> by following the links. Entry access code: *sewC5D5.</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Lecture 4. The regularization method by A.N. Tikhonov (continued).</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\">It is fashionable to find<a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/qyA31kCP-xFvDhsm5qoRvCQAJhCmz4SCJZjgSoX-6WoZgB-VaNdFGvv7BqRoDUyn.XgLQUQiLLEiOmN4N\"> lecture recording</a> and <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 4.pdf\">materials</a> by following the links. Entry access code: qcGnLt4..</p></div>\n        <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\"><h4>Lecture 5. The incorrectness of the differentiation problem. Introduction to gradient methods.</h4></p></div>\n        <div class=\"row ps-4\"><p class=\"lead\">It is fashionable to find<a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/rec/share/fhccpXT_gw1B4vRXWpTqgzcc2qD0UNpgH1xMFABGZuGAfiWRTnMW-tJCqgproGOe.OV3w3E_c8UgH3Zjl\"> lecture recording</a> and <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/СК-25_Семинар 5.pdf\">materials</a> by following the links. Entry access code: g4v.U9B?.</p></div>\n\n</section>\n        </Container>\n        \n\n    <Footer_En />\n    </>\n    \n    )}","export var IconsManifest = [\n  {\n    \"id\": \"ci\",\n    \"name\": \"Circum Icons\",\n    \"projectUrl\": \"https://circumicons.com/\",\n    \"license\": \"MPL-2.0 license\",\n    \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n  },\n  {\n    \"id\": \"fa\",\n    \"name\": \"Font Awesome 5\",\n    \"projectUrl\": \"https://fontawesome.com/\",\n    \"license\": \"CC BY 4.0 License\",\n    \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n  },\n  {\n    \"id\": \"fa6\",\n    \"name\": \"Font Awesome 6\",\n    \"projectUrl\": \"https://fontawesome.com/\",\n    \"license\": \"CC BY 4.0 License\",\n    \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n  },\n  {\n    \"id\": \"io\",\n    \"name\": \"Ionicons 4\",\n    \"projectUrl\": \"https://ionicons.com/\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"io5\",\n    \"name\": \"Ionicons 5\",\n    \"projectUrl\": \"https://ionicons.com/\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"md\",\n    \"name\": \"Material Design icons\",\n    \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n    \"license\": \"Apache License Version 2.0\",\n    \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"ti\",\n    \"name\": \"Typicons\",\n    \"projectUrl\": \"http://s-ings.com/typicons/\",\n    \"license\": \"CC BY-SA 3.0\",\n    \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n  },\n  {\n    \"id\": \"go\",\n    \"name\": \"Github Octicons icons\",\n    \"projectUrl\": \"https://octicons.github.com/\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"fi\",\n    \"name\": \"Feather\",\n    \"projectUrl\": \"https://feathericons.com/\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"lu\",\n    \"name\": \"Lucide\",\n    \"projectUrl\": \"https://lucide.dev/\",\n    \"license\": \"ISC\",\n    \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n  },\n  {\n    \"id\": \"gi\",\n    \"name\": \"Game Icons\",\n    \"projectUrl\": \"https://game-icons.net/\",\n    \"license\": \"CC BY 3.0\",\n    \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n  },\n  {\n    \"id\": \"wi\",\n    \"name\": \"Weather Icons\",\n    \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n    \"license\": \"SIL OFL 1.1\",\n    \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n  },\n  {\n    \"id\": \"di\",\n    \"name\": \"Devicons\",\n    \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"ai\",\n    \"name\": \"Ant Design Icons\",\n    \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"bs\",\n    \"name\": \"Bootstrap Icons\",\n    \"projectUrl\": \"https://github.com/twbs/icons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"ri\",\n    \"name\": \"Remix Icon\",\n    \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n    \"license\": \"Apache License Version 2.0\",\n    \"licenseUrl\": \"http://www.apache.org/licenses/\"\n  },\n  {\n    \"id\": \"fc\",\n    \"name\": \"Flat Color Icons\",\n    \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"gr\",\n    \"name\": \"Grommet-Icons\",\n    \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n    \"license\": \"Apache License Version 2.0\",\n    \"licenseUrl\": \"http://www.apache.org/licenses/\"\n  },\n  {\n    \"id\": \"hi\",\n    \"name\": \"Heroicons\",\n    \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"hi2\",\n    \"name\": \"Heroicons 2\",\n    \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"si\",\n    \"name\": \"Simple Icons\",\n    \"projectUrl\": \"https://simpleicons.org/\",\n    \"license\": \"CC0 1.0 Universal\",\n    \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n  },\n  {\n    \"id\": \"sl\",\n    \"name\": \"Simple Line Icons\",\n    \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"im\",\n    \"name\": \"IcoMoon Free\",\n    \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n    \"license\": \"CC BY 4.0 License\",\n    \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n  },\n  {\n    \"id\": \"bi\",\n    \"name\": \"BoxIcons\",\n    \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n    \"license\": \"CC BY 4.0 License\",\n    \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"cg\",\n    \"name\": \"css.gg\",\n    \"projectUrl\": \"https://github.com/astrit/css.gg\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"vsc\",\n    \"name\": \"VS Code Icons\",\n    \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n    \"license\": \"CC BY 4.0\",\n    \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n  },\n  {\n    \"id\": \"tb\",\n    \"name\": \"Tabler Icons\",\n    \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n  },\n  {\n    \"id\": \"tfi\",\n    \"name\": \"Themify Icons\",\n    \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n  },\n  {\n    \"id\": \"rx\",\n    \"name\": \"Radix Icons\",\n    \"projectUrl\": \"https://icons.radix-ui.com\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n  },\n  {\n    \"id\": \"pi\",\n    \"name\": \"Phosphor Icons\",\n    \"projectUrl\": \"https://github.com/phosphor-icons/core\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/phosphor-icons/core/blob/main/LICENSE\"\n  },\n  {\n    \"id\": \"lia\",\n    \"name\": \"Icons8 Line Awesome\",\n    \"projectUrl\": \"https://icons8.com/line-awesome\",\n    \"license\": \"MIT\",\n    \"licenseUrl\": \"https://github.com/icons8/line-awesome/blob/master/LICENSE.md\"\n  }\n]","import React from \"react\";\nexport var DefaultContext = {\n  color: undefined,\n  size: undefined,\n  className: undefined,\n  style: undefined,\n  attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n  __assign = Object.assign || function (t) {\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\n      s = arguments[i];\n      for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n    }\n    return t;\n  };\n  return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext\";\nfunction Tree2Element(tree) {\n  return tree && tree.map(function (node, i) {\n    return React.createElement(node.tag, __assign({\n      key: i\n    }, node.attr), Tree2Element(node.child));\n  });\n}\nexport function GenIcon(data) {\n  // eslint-disable-next-line react/display-name\n  return function (props) {\n    return React.createElement(IconBase, __assign({\n      attr: __assign({}, data.attr)\n    }, props), Tree2Element(data.child));\n  };\n}\nexport function IconBase(props) {\n  var elem = function (conf) {\n    var attr = props.attr,\n      size = props.size,\n      title = props.title,\n      svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n    var computedSize = size || conf.size || \"1em\";\n    var className;\n    if (conf.className) className = conf.className;\n    if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n    return React.createElement(\"svg\", __assign({\n      stroke: \"currentColor\",\n      fill: \"currentColor\",\n      strokeWidth: \"0\"\n    }, conf.attr, attr, svgProps, {\n      className: className,\n      style: __assign(__assign({\n        color: props.color || conf.color\n      }, conf.style), props.style),\n      height: computedSize,\n      width: computedSize,\n      xmlns: \"http://www.w3.org/2000/svg\"\n    }), title && React.createElement(\"title\", null, title), props.children);\n  };\n  return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n    return elem(conf);\n  }) : elem(DefaultContext);\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function FiActivity (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 12 18 12 15 21 9 3 6 12 2 12\"}}]})(props);\n};\nexport function FiAirplay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 15 17 21 7 21 12 15\"}}]})(props);\n};\nexport function FiAlertCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiAlertOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12.01\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiAlertTriangle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12.01\",\"y2\":\"17\"}}]})(props);\n};\nexport function FiAlignCenter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"10\",\"x2\":\"6\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"6\",\"x2\":\"3\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"14\",\"x2\":\"3\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"18\",\"x2\":\"6\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiAlignJustify (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"10\",\"x2\":\"3\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"6\",\"x2\":\"3\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"14\",\"x2\":\"3\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"18\",\"x2\":\"3\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiAlignLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"10\",\"x2\":\"3\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"6\",\"x2\":\"3\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"14\",\"x2\":\"3\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"18\",\"x2\":\"3\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiAlignRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"10\",\"x2\":\"7\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"6\",\"x2\":\"3\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"14\",\"x2\":\"3\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"18\",\"x2\":\"7\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiAnchor (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22\",\"x2\":\"12\",\"y2\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12H2a10 10 0 0 0 20 0h-3\"}}]})(props);\n};\nexport function FiAperture (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.31\",\"y1\":\"8\",\"x2\":\"20.05\",\"y2\":\"17.94\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.69\",\"y1\":\"8\",\"x2\":\"21.17\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7.38\",\"y1\":\"12\",\"x2\":\"13.12\",\"y2\":\"2.06\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9.69\",\"y1\":\"16\",\"x2\":\"3.95\",\"y2\":\"6.06\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.31\",\"y1\":\"16\",\"x2\":\"2.83\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16.62\",\"y1\":\"12\",\"x2\":\"10.88\",\"y2\":\"21.94\"}}]})(props);\n};\nexport function FiArchive (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"21 8 21 21 3 21 3 8\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"3\",\"width\":\"22\",\"height\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"12\",\"x2\":\"14\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiArrowDownCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 12 12 16 16 12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiArrowDownLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"7\",\"x2\":\"7\",\"y2\":\"17\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 17 7 17 7 7\"}}]})(props);\n};\nexport function FiArrowDownRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"y1\":\"7\",\"x2\":\"17\",\"y2\":\"17\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 7 17 17 7 17\"}}]})(props);\n};\nexport function FiArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"5\",\"x2\":\"12\",\"y2\":\"19\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"19 12 12 19 5 12\"}}]})(props);\n};\nexport function FiArrowLeftCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 8 8 12 12 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"12\",\"x2\":\"8\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiArrowLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"y1\":\"12\",\"x2\":\"5\",\"y2\":\"12\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 19 5 12 12 5\"}}]})(props);\n};\nexport function FiArrowRightCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 16 16 12 12 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiArrowRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"y1\":\"12\",\"x2\":\"19\",\"y2\":\"12\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 5 19 12 12 19\"}}]})(props);\n};\nexport function FiArrowUpCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 12 12 8 8 12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12\",\"y2\":\"8\"}}]})(props);\n};\nexport function FiArrowUpLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"17\",\"x2\":\"7\",\"y2\":\"7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 17 7 7 17 7\"}}]})(props);\n};\nexport function FiArrowUpRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"y1\":\"17\",\"x2\":\"17\",\"y2\":\"7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 7 17 7 17 17\"}}]})(props);\n};\nexport function FiArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"19\",\"x2\":\"12\",\"y2\":\"5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"5 12 12 5 19 12\"}}]})(props);\n};\nexport function FiAtSign (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\"}}]})(props);\n};\nexport function FiAward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\"}}]})(props);\n};\nexport function FiBarChart2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"20\",\"x2\":\"18\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"20\",\"x2\":\"12\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"20\",\"x2\":\"6\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiBarChart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"20\",\"x2\":\"12\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"20\",\"x2\":\"18\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"20\",\"x2\":\"6\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiBatteryCharging (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"13\",\"x2\":\"23\",\"y2\":\"11\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"11 6 7 12 13 12 9 18\"}}]})(props);\n};\nexport function FiBattery (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"6\",\"width\":\"18\",\"height\":\"12\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"13\",\"x2\":\"23\",\"y2\":\"11\"}}]})(props);\n};\nexport function FiBellOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.73 21a2 2 0 0 1-3.46 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.63 13A17.89 17.89 0 0 1 18 8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8a6 6 0 0 0-9.33-5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiBell (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.73 21a2 2 0 0 1-3.46 0\"}}]})(props);\n};\nexport function FiBluetooth (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\"}}]})(props);\n};\nexport function FiBold (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"}}]})(props);\n};\nexport function FiBookOpen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"}}]})(props);\n};\nexport function FiBook (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"}}]})(props);\n};\nexport function FiBookmark (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"}}]})(props);\n};\nexport function FiBox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.27 6.96 12 12.01 20.73 6.96\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22.08\",\"x2\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiBriefcase (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"7\",\"width\":\"20\",\"height\":\"14\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"}}]})(props);\n};\nexport function FiCalendar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"4\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"2\",\"x2\":\"16\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"2\",\"x2\":\"8\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"10\",\"x2\":\"21\",\"y2\":\"10\"}}]})(props);\n};\nexport function FiCameraOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56\"}}]})(props);\n};\nexport function FiCamera (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"4\"}}]})(props);\n};\nexport function FiCast (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"20\",\"x2\":\"2.01\",\"y2\":\"20\"}}]})(props);\n};\nexport function FiCheckCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 4 12 14.01 9 11.01\"}}]})(props);\n};\nexport function FiCheckSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 11 12 14 22 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"}}]})(props);\n};\nexport function FiCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"20 6 9 17 4 12\"}}]})(props);\n};\nexport function FiChevronDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"6 9 12 15 18 9\"}}]})(props);\n};\nexport function FiChevronLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 18 9 12 15 6\"}}]})(props);\n};\nexport function FiChevronRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 18 15 12 9 6\"}}]})(props);\n};\nexport function FiChevronUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"18 15 12 9 6 15\"}}]})(props);\n};\nexport function FiChevronsDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 13 12 18 17 13\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 6 12 11 17 6\"}}]})(props);\n};\nexport function FiChevronsLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"11 17 6 12 11 7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"18 17 13 12 18 7\"}}]})(props);\n};\nexport function FiChevronsRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"13 17 18 12 13 7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"6 17 11 12 6 7\"}}]})(props);\n};\nexport function FiChevronsUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 11 12 6 7 11\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 18 12 13 7 18\"}}]})(props);\n};\nexport function FiChrome (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21.17\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3.95\",\"y1\":\"6.06\",\"x2\":\"8.54\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10.88\",\"y1\":\"21.94\",\"x2\":\"15.46\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function FiClipboard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"8\",\"y\":\"2\",\"width\":\"8\",\"height\":\"4\",\"rx\":\"1\",\"ry\":\"1\"}}]})(props);\n};\nexport function FiClock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 6 12 12 16 14\"}}]})(props);\n};\nexport function FiCloudDrizzle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"19\",\"x2\":\"8\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"13\",\"x2\":\"8\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"19\",\"x2\":\"16\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"13\",\"x2\":\"16\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"21\",\"x2\":\"12\",\"y2\":\"23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"15\",\"x2\":\"12\",\"y2\":\"17\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"}}]})(props);\n};\nexport function FiCloudLightning (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"13 11 9 17 15 17 11 23\"}}]})(props);\n};\nexport function FiCloudOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiCloudRain (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"13\",\"x2\":\"16\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"13\",\"x2\":\"8\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"15\",\"x2\":\"12\",\"y2\":\"23\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"}}]})(props);\n};\nexport function FiCloudSnow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"16\",\"x2\":\"8.01\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"20\",\"x2\":\"8.01\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"18\",\"x2\":\"12.01\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22\",\"x2\":\"12.01\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"16\",\"x2\":\"16.01\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"20\",\"x2\":\"16.01\",\"y2\":\"20\"}}]})(props);\n};\nexport function FiCloud (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"}}]})(props);\n};\nexport function FiCode (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 18 22 12 16 6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 6 2 12 8 18\"}}]})(props);\n};\nexport function FiCodepen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22\",\"x2\":\"12\",\"y2\":\"15.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 8.5 12 15.5 2 8.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"2 15.5 12 8.5 22 15.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"2\",\"x2\":\"12\",\"y2\":\"8.5\"}}]})(props);\n};\nexport function FiCodesandbox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7.5 4.21 12 6.81 16.5 4.21\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7.5 19.79 7.5 14.6 3 12\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"21 12 16.5 14.6 16.5 19.79\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.27 6.96 12 12.01 20.73 6.96\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22.08\",\"x2\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiCoffee (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8h1a4 4 0 0 1 0 8h-1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"1\",\"x2\":\"6\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"1\",\"x2\":\"10\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"y1\":\"1\",\"x2\":\"14\",\"y2\":\"4\"}}]})(props);\n};\nexport function FiColumns (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18\"}}]})(props);\n};\nexport function FiCommand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\"}}]})(props);\n};\nexport function FiCompass (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\"}}]})(props);\n};\nexport function FiCopy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"9\",\"y\":\"9\",\"width\":\"13\",\"height\":\"13\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"}}]})(props);\n};\nexport function FiCornerDownLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 10 4 15 9 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4v7a4 4 0 0 1-4 4H4\"}}]})(props);\n};\nexport function FiCornerDownRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 10 20 15 15 20\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v7a4 4 0 0 0 4 4h12\"}}]})(props);\n};\nexport function FiCornerLeftDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 15 9 20 4 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4h-7a4 4 0 0 0-4 4v12\"}}]})(props);\n};\nexport function FiCornerLeftUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 9 9 4 4 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20h-7a4 4 0 0 1-4-4V4\"}}]})(props);\n};\nexport function FiCornerRightDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 15 15 20 20 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h7a4 4 0 0 1 4 4v12\"}}]})(props);\n};\nexport function FiCornerRightUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 9 15 4 20 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20h7a4 4 0 0 0 4-4V4\"}}]})(props);\n};\nexport function FiCornerUpLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 14 4 9 9 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20v-7a4 4 0 0 0-4-4H4\"}}]})(props);\n};\nexport function FiCornerUpRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 14 20 9 15 4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20v-7a4 4 0 0 1 4-4h12\"}}]})(props);\n};\nexport function FiCpu (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"4\",\"y\":\"4\",\"width\":\"16\",\"height\":\"16\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"9\",\"y\":\"9\",\"width\":\"6\",\"height\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"1\",\"x2\":\"9\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"1\",\"x2\":\"15\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"20\",\"x2\":\"9\",\"y2\":\"23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"20\",\"x2\":\"15\",\"y2\":\"23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"y1\":\"9\",\"x2\":\"23\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"y1\":\"14\",\"x2\":\"23\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"9\",\"x2\":\"4\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"14\",\"x2\":\"4\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiCreditCard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"4\",\"width\":\"22\",\"height\":\"16\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"10\",\"x2\":\"23\",\"y2\":\"10\"}}]})(props);\n};\nexport function FiCrop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.13 1L6 16a2 2 0 0 0 2 2h15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 6.13L16 6a2 2 0 0 1 2 2v15\"}}]})(props);\n};\nexport function FiCrosshair (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"y1\":\"12\",\"x2\":\"18\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"12\",\"x2\":\"2\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"6\",\"x2\":\"12\",\"y2\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22\",\"x2\":\"12\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiDatabase (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"rx\":\"9\",\"ry\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"}}]})(props);\n};\nexport function FiDelete (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"18\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiDisc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function FiDivideCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]})(props);\n};\nexport function FiDivideSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"8\"}}]})(props);\n};\nexport function FiDivide (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"6\",\"r\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"y1\":\"12\",\"x2\":\"19\",\"y2\":\"12\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"18\",\"r\":\"2\"}}]})(props);\n};\nexport function FiDollarSign (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"1\",\"x2\":\"12\",\"y2\":\"23\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"}}]})(props);\n};\nexport function FiDownloadCloud (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 17 12 21 16 17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"12\",\"x2\":\"12\",\"y2\":\"21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29\"}}]})(props);\n};\nexport function FiDownload (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 10 12 15 17 10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"15\",\"x2\":\"12\",\"y2\":\"3\"}}]})(props);\n};\nexport function FiDribbble (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.56 2.75c4.37 6.03 6.02 9.42 8.03 17.72m2.54-15.38c-3.72 4.35-8.94 5.66-16.88 5.85m19.5 1.9c-3.5-.93-6.63-.82-8.94 0-2.58.92-5.01 2.86-7.44 6.32\"}}]})(props);\n};\nexport function FiDroplet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z\"}}]})(props);\n};\nexport function FiEdit2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"}}]})(props);\n};\nexport function FiEdit3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20h9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z\"}}]})(props);\n};\nexport function FiEdit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"}}]})(props);\n};\nexport function FiExternalLink (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 3 21 3 21 9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"14\",\"x2\":\"21\",\"y2\":\"3\"}}]})(props);\n};\nexport function FiEyeOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiEye (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function FiFacebook (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"}}]})(props);\n};\nexport function FiFastForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"13 19 22 12 13 5 13 19\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"2 19 11 12 2 5 2 19\"}}]})(props);\n};\nexport function FiFeather (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"8\",\"x2\":\"2\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17.5\",\"y1\":\"15\",\"x2\":\"9\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiFigma (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z\"}}]})(props);\n};\nexport function FiFileMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"15\",\"x2\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiFilePlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"18\",\"x2\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"15\",\"x2\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiFileText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"14 2 14 8 20 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"13\",\"x2\":\"8\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"17\",\"x2\":\"8\",\"y2\":\"17\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 9 9 9 8 9\"}}]})(props);\n};\nexport function FiFile (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"13 2 13 9 20 9\"}}]})(props);\n};\nexport function FiFilm (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"2\",\"width\":\"20\",\"height\":\"20\",\"rx\":\"2.18\",\"ry\":\"2.18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"y1\":\"2\",\"x2\":\"7\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"2\",\"x2\":\"17\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"12\",\"x2\":\"22\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"7\",\"x2\":\"7\",\"y2\":\"7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"17\",\"x2\":\"7\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"17\",\"x2\":\"22\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"7\",\"x2\":\"22\",\"y2\":\"7\"}}]})(props);\n};\nexport function FiFilter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"}}]})(props);\n};\nexport function FiFlag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"22\",\"x2\":\"4\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiFolderMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"14\",\"x2\":\"15\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiFolderPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"11\",\"x2\":\"12\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"14\",\"x2\":\"15\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiFolder (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"}}]})(props);\n};\nexport function FiFramer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16V9h14V2H5l14 14h-7m-7 0l7 7v-7m-7 0h7\"}}]})(props);\n};\nexport function FiFrown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16s-1.5-2-4-2-4 2-4 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"9\",\"x2\":\"9.01\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"9\",\"x2\":\"15.01\",\"y2\":\"9\"}}]})(props);\n};\nexport function FiGift (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"20 12 20 22 4 22 4 12\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"7\",\"width\":\"20\",\"height\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22\",\"x2\":\"12\",\"y2\":\"7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\"}}]})(props);\n};\nexport function FiGitBranch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"3\",\"x2\":\"6\",\"y2\":\"15\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9a9 9 0 0 1-9 9\"}}]})(props);\n};\nexport function FiGitCommit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1.05\",\"y1\":\"12\",\"x2\":\"7\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17.01\",\"y1\":\"12\",\"x2\":\"22.96\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiGitMerge (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21V9a9 9 0 0 0 9 9\"}}]})(props);\n};\nexport function FiGitPullRequest (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6h3a2 2 0 0 1 2 2v7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"9\",\"x2\":\"6\",\"y2\":\"21\"}}]})(props);\n};\nexport function FiGithub (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"}}]})(props);\n};\nexport function FiGitlab (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z\"}}]})(props);\n};\nexport function FiGlobe (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"12\",\"x2\":\"22\",\"y2\":\"12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"}}]})(props);\n};\nexport function FiGrid (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"7\",\"height\":\"7\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"14\",\"y\":\"3\",\"width\":\"7\",\"height\":\"7\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"14\",\"y\":\"14\",\"width\":\"7\",\"height\":\"7\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"14\",\"width\":\"7\",\"height\":\"7\"}}]})(props);\n};\nexport function FiHardDrive (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"y1\":\"12\",\"x2\":\"2\",\"y2\":\"12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"16\",\"x2\":\"6.01\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"16\",\"x2\":\"10.01\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiHash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"9\",\"x2\":\"20\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"15\",\"x2\":\"20\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"3\",\"x2\":\"8\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"3\",\"x2\":\"14\",\"y2\":\"21\"}}]})(props);\n};\nexport function FiHeadphones (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18v-6a9 9 0 0 1 18 0v6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"}}]})(props);\n};\nexport function FiHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"}}]})(props);\n};\nexport function FiHelpCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12.01\",\"y2\":\"17\"}}]})(props);\n};\nexport function FiHexagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}}]})(props);\n};\nexport function FiHome (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 22 9 12 15 12 15 22\"}}]})(props);\n};\nexport function FiImage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"8.5\",\"r\":\"1.5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"21 15 16 10 5 21\"}}]})(props);\n};\nexport function FiInbox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"22 12 16 12 14 15 10 15 8 12 2 12\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"}}]})(props);\n};\nexport function FiInfo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"16\",\"x2\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12.01\",\"y2\":\"8\"}}]})(props);\n};\nexport function FiInstagram (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"2\",\"width\":\"20\",\"height\":\"20\",\"rx\":\"5\",\"ry\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17.5\",\"y1\":\"6.5\",\"x2\":\"17.51\",\"y2\":\"6.5\"}}]})(props);\n};\nexport function FiItalic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"y1\":\"4\",\"x2\":\"10\",\"y2\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"y1\":\"20\",\"x2\":\"5\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"4\",\"x2\":\"9\",\"y2\":\"20\"}}]})(props);\n};\nexport function FiKey (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"}}]})(props);\n};\nexport function FiLayers (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 2 7 12 12 22 7 12 2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"2 17 12 22 22 17\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"2 12 12 17 22 12\"}}]})(props);\n};\nexport function FiLayout (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"9\",\"x2\":\"21\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"21\",\"x2\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function FiLifeBuoy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"y1\":\"4.93\",\"x2\":\"9.17\",\"y2\":\"9.17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.83\",\"y1\":\"14.83\",\"x2\":\"19.07\",\"y2\":\"19.07\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.83\",\"y1\":\"9.17\",\"x2\":\"19.07\",\"y2\":\"4.93\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.83\",\"y1\":\"9.17\",\"x2\":\"18.36\",\"y2\":\"5.64\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"y1\":\"19.07\",\"x2\":\"9.17\",\"y2\":\"14.83\"}}]})(props);\n};\nexport function FiLink2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiLink (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}}]})(props);\n};\nexport function FiLinkedin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"9\",\"width\":\"4\",\"height\":\"12\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"4\",\"cy\":\"4\",\"r\":\"2\"}}]})(props);\n};\nexport function FiList (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"6\",\"x2\":\"21\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"21\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"18\",\"x2\":\"21\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"6\",\"x2\":\"3.01\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"12\",\"x2\":\"3.01\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"18\",\"x2\":\"3.01\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiLoader (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"2\",\"x2\":\"12\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"18\",\"x2\":\"12\",\"y2\":\"22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"y1\":\"4.93\",\"x2\":\"7.76\",\"y2\":\"7.76\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16.24\",\"y1\":\"16.24\",\"x2\":\"19.07\",\"y2\":\"19.07\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"12\",\"x2\":\"6\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"12\",\"x2\":\"22\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"y1\":\"19.07\",\"x2\":\"7.76\",\"y2\":\"16.24\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16.24\",\"y1\":\"7.76\",\"x2\":\"19.07\",\"y2\":\"4.93\"}}]})(props);\n};\nexport function FiLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"11\",\"width\":\"18\",\"height\":\"11\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11V7a5 5 0 0 1 10 0v4\"}}]})(props);\n};\nexport function FiLogIn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"10 17 15 12 10 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"12\",\"x2\":\"3\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiLogOut (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 17 21 12 16 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"12\",\"x2\":\"9\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiMail (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"22,6 12,13 2,6\"}}]})(props);\n};\nexport function FiMapPin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}}]})(props);\n};\nexport function FiMap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"2\",\"x2\":\"8\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"6\",\"x2\":\"16\",\"y2\":\"22\"}}]})(props);\n};\nexport function FiMaximize2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 3 21 3 21 9\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 21 3 21 3 15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"3\",\"x2\":\"14\",\"y2\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"21\",\"x2\":\"10\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiMaximize (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"}}]})(props);\n};\nexport function FiMeh (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"15\",\"x2\":\"16\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"9\",\"x2\":\"9.01\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"9\",\"x2\":\"15.01\",\"y2\":\"9\"}}]})(props);\n};\nexport function FiMenu (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"12\",\"x2\":\"21\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"6\",\"x2\":\"21\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"18\",\"x2\":\"21\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiMessageCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"}}]})(props);\n};\nexport function FiMessageSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"}}]})(props);\n};\nexport function FiMicOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"19\",\"x2\":\"12\",\"y2\":\"23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"23\",\"x2\":\"16\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiMic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10v2a7 7 0 0 1-14 0v-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"19\",\"x2\":\"12\",\"y2\":\"23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"23\",\"x2\":\"16\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiMinimize2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"4 14 10 14 10 20\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"20 10 14 10 14 4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"y1\":\"10\",\"x2\":\"21\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"21\",\"x2\":\"10\",\"y2\":\"14\"}}]})(props);\n};\nexport function FiMinimize (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\"}}]})(props);\n};\nexport function FiMinusCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiMinusSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"y1\":\"12\",\"x2\":\"19\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiMonitor (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"3\",\"width\":\"20\",\"height\":\"14\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"21\",\"x2\":\"16\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"17\",\"x2\":\"12\",\"y2\":\"21\"}}]})(props);\n};\nexport function FiMoon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"}}]})(props);\n};\nexport function FiMoreHorizontal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"19\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"12\",\"r\":\"1\"}}]})(props);\n};\nexport function FiMoreVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"5\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"19\",\"r\":\"1\"}}]})(props);\n};\nexport function FiMousePointer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13l6 6\"}}]})(props);\n};\nexport function FiMove (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"5 9 2 12 5 15\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"9 5 12 2 15 5\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"15 19 12 22 9 19\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"19 9 22 12 19 15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"2\",\"y1\":\"12\",\"x2\":\"22\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"2\",\"x2\":\"12\",\"y2\":\"22\"}}]})(props);\n};\nexport function FiMusic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18V5l12-2v13\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"16\",\"r\":\"3\"}}]})(props);\n};\nexport function FiNavigation2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 19 21 12 17 5 21 12 2\"}}]})(props);\n};\nexport function FiNavigation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"3 11 22 2 13 21 11 13 3 11\"}}]})(props);\n};\nexport function FiOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"}}]})(props);\n};\nexport function FiPackage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"16.5\",\"y1\":\"9.4\",\"x2\":\"7.5\",\"y2\":\"4.21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"3.27 6.96 12 12.01 20.73 6.96\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"22.08\",\"x2\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiPaperclip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\"}}]})(props);\n};\nexport function FiPauseCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"15\",\"x2\":\"10\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"y1\":\"15\",\"x2\":\"14\",\"y2\":\"9\"}}]})(props);\n};\nexport function FiPause (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"6\",\"y\":\"4\",\"width\":\"4\",\"height\":\"16\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"14\",\"y\":\"4\",\"width\":\"4\",\"height\":\"16\"}}]})(props);\n};\nexport function FiPenTool (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19l7-7 3 3-7 7-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2l7.586 7.586\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"2\"}}]})(props);\n};\nexport function FiPercent (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"y1\":\"5\",\"x2\":\"5\",\"y2\":\"19\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6.5\",\"cy\":\"6.5\",\"r\":\"2.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"17.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}}]})(props);\n};\nexport function FiPhoneCall (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function FiPhoneForwarded (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"19 1 23 5 19 9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"5\",\"x2\":\"23\",\"y2\":\"5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function FiPhoneIncoming (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 2 16 8 22 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"1\",\"x2\":\"16\",\"y2\":\"8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function FiPhoneMissed (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"1\",\"x2\":\"17\",\"y2\":\"7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"7\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function FiPhoneOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"1\",\"x2\":\"1\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiPhoneOutgoing (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"23 7 23 1 17 1\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"16\",\"y1\":\"8\",\"x2\":\"23\",\"y2\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function FiPhone (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"}}]})(props);\n};\nexport function FiPieChart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.21 15.89A10 10 0 1 1 8 2.83\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12A10 10 0 0 0 12 2v10z\"}}]})(props);\n};\nexport function FiPlayCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"10 8 16 12 10 16 10 8\"}}]})(props);\n};\nexport function FiPlay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"5 3 19 12 5 21 5 3\"}}]})(props);\n};\nexport function FiPlusCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiPlusSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"12\",\"x2\":\"16\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"5\",\"x2\":\"12\",\"y2\":\"19\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"y1\":\"12\",\"x2\":\"19\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiPocket (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 10 12 14 16 10\"}}]})(props);\n};\nexport function FiPower (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.36 6.64a9 9 0 1 1-12.73 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"2\",\"x2\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiPrinter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"6 9 6 2 18 2 18 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"6\",\"y\":\"14\",\"width\":\"12\",\"height\":\"8\"}}]})(props);\n};\nexport function FiRadio (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\"}}]})(props);\n};\nexport function FiRefreshCcw (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"1 4 1 10 7 10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"23 20 23 14 17 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15\"}}]})(props);\n};\nexport function FiRefreshCw (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"23 4 23 10 17 10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"1 20 1 14 7 14\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"}}]})(props);\n};\nexport function FiRepeat (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 1 21 5 17 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11V9a4 4 0 0 1 4-4h14\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 23 3 19 7 15\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13v2a4 4 0 0 1-4 4H3\"}}]})(props);\n};\nexport function FiRewind (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 19 2 12 11 5 11 19\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"22 19 13 12 22 5 22 19\"}}]})(props);\n};\nexport function FiRotateCcw (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"1 4 1 10 7 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"}}]})(props);\n};\nexport function FiRotateCw (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"23 4 23 10 17 10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"}}]})(props);\n};\nexport function FiRss (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11a9 9 0 0 1 9 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a16 16 0 0 1 16 16\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"1\"}}]})(props);\n};\nexport function FiSave (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 21 17 13 7 13 7 21\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"7 3 7 8 15 8\"}}]})(props);\n};\nexport function FiScissors (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"y1\":\"4\",\"x2\":\"8.12\",\"y2\":\"15.88\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14.47\",\"y1\":\"14.48\",\"x2\":\"20\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8.12\",\"y1\":\"8.12\",\"x2\":\"12\",\"y2\":\"12\"}}]})(props);\n};\nexport function FiSearch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"21\",\"x2\":\"16.65\",\"y2\":\"16.65\"}}]})(props);\n};\nexport function FiSend (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"22\",\"y1\":\"2\",\"x2\":\"11\",\"y2\":\"13\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"22 2 15 22 11 13 2 9 22 2\"}}]})(props);\n};\nexport function FiServer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"2\",\"width\":\"20\",\"height\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"14\",\"width\":\"20\",\"height\":\"8\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"6\",\"x2\":\"6.01\",\"y2\":\"6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"18\",\"x2\":\"6.01\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiSettings (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"}}]})(props);\n};\nexport function FiShare2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"5\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"6\",\"cy\":\"12\",\"r\":\"3\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18\",\"cy\":\"19\",\"r\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8.59\",\"y1\":\"13.51\",\"x2\":\"15.42\",\"y2\":\"17.49\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15.41\",\"y1\":\"6.51\",\"x2\":\"8.59\",\"y2\":\"10.49\"}}]})(props);\n};\nexport function FiShare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 6 12 2 8 6\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"2\",\"x2\":\"12\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiShieldOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiShield (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"}}]})(props);\n};\nexport function FiShoppingBag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"3\",\"y1\":\"6\",\"x2\":\"21\",\"y2\":\"6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10a4 4 0 0 1-8 0\"}}]})(props);\n};\nexport function FiShoppingCart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"21\",\"r\":\"1\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"20\",\"cy\":\"21\",\"r\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"}}]})(props);\n};\nexport function FiShuffle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 3 21 3 21 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"20\",\"x2\":\"21\",\"y2\":\"3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"21 16 21 21 16 21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"15\",\"x2\":\"21\",\"y2\":\"21\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"4\",\"x2\":\"9\",\"y2\":\"9\"}}]})(props);\n};\nexport function FiSidebar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"3\",\"x2\":\"9\",\"y2\":\"21\"}}]})(props);\n};\nexport function FiSkipBack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"19 20 9 12 19 4 19 20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5\",\"y1\":\"19\",\"x2\":\"5\",\"y2\":\"5\"}}]})(props);\n};\nexport function FiSkipForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"5 4 15 12 5 20 5 4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"19\",\"y1\":\"5\",\"x2\":\"19\",\"y2\":\"19\"}}]})(props);\n};\nexport function FiSlack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z\"}}]})(props);\n};\nexport function FiSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.93\",\"y1\":\"4.93\",\"x2\":\"19.07\",\"y2\":\"19.07\"}}]})(props);\n};\nexport function FiSliders (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"21\",\"x2\":\"4\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"10\",\"x2\":\"4\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"21\",\"x2\":\"12\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"8\",\"x2\":\"12\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"y1\":\"21\",\"x2\":\"20\",\"y2\":\"16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"y1\":\"12\",\"x2\":\"20\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"14\",\"x2\":\"7\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"8\",\"x2\":\"15\",\"y2\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"16\",\"x2\":\"23\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiSmartphone (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"5\",\"y\":\"2\",\"width\":\"14\",\"height\":\"20\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"18\",\"x2\":\"12.01\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiSmile (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14s1.5 2 4 2 4-2 4-2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"9\",\"x2\":\"9.01\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"9\",\"x2\":\"15.01\",\"y2\":\"9\"}}]})(props);\n};\nexport function FiSpeaker (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"4\",\"y\":\"2\",\"width\":\"16\",\"height\":\"20\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"6\",\"x2\":\"12.01\",\"y2\":\"6\"}}]})(props);\n};\nexport function FiSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}}]})(props);\n};\nexport function FiStar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"}}]})(props);\n};\nexport function FiStopCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"9\",\"y\":\"9\",\"width\":\"6\",\"height\":\"6\"}}]})(props);\n};\nexport function FiSun (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"1\",\"x2\":\"12\",\"y2\":\"3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"21\",\"x2\":\"12\",\"y2\":\"23\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.22\",\"y1\":\"4.22\",\"x2\":\"5.64\",\"y2\":\"5.64\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18.36\",\"y1\":\"18.36\",\"x2\":\"19.78\",\"y2\":\"19.78\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"12\",\"x2\":\"3\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"12\",\"x2\":\"23\",\"y2\":\"12\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.22\",\"y1\":\"19.78\",\"x2\":\"5.64\",\"y2\":\"18.36\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18.36\",\"y1\":\"5.64\",\"x2\":\"19.78\",\"y2\":\"4.22\"}}]})(props);\n};\nexport function FiSunrise (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18a5 5 0 0 0-10 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"2\",\"x2\":\"12\",\"y2\":\"9\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.22\",\"y1\":\"10.22\",\"x2\":\"5.64\",\"y2\":\"11.64\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"18\",\"x2\":\"3\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"18\",\"x2\":\"23\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18.36\",\"y1\":\"11.64\",\"x2\":\"19.78\",\"y2\":\"10.22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"22\",\"x2\":\"1\",\"y2\":\"22\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 6 12 2 16 6\"}}]})(props);\n};\nexport function FiSunset (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18a5 5 0 0 0-10 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"9\",\"x2\":\"12\",\"y2\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4.22\",\"y1\":\"10.22\",\"x2\":\"5.64\",\"y2\":\"11.64\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"18\",\"x2\":\"3\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"18\",\"x2\":\"23\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18.36\",\"y1\":\"11.64\",\"x2\":\"19.78\",\"y2\":\"10.22\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"22\",\"x2\":\"1\",\"y2\":\"22\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 5 12 9 8 5\"}}]})(props);\n};\nexport function FiTable (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18\"}}]})(props);\n};\nexport function FiTablet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"4\",\"y\":\"2\",\"width\":\"16\",\"height\":\"20\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"18\",\"x2\":\"12.01\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiTag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"7\",\"y1\":\"7\",\"x2\":\"7.01\",\"y2\":\"7\"}}]})(props);\n};\nexport function FiTarget (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"6\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}}]})(props);\n};\nexport function FiTerminal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"4 17 10 11 4 5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"19\",\"x2\":\"20\",\"y2\":\"19\"}}]})(props);\n};\nexport function FiThermometer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z\"}}]})(props);\n};\nexport function FiThumbsDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"}}]})(props);\n};\nexport function FiThumbsUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"}}]})(props);\n};\nexport function FiToggleLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"5\",\"width\":\"22\",\"height\":\"14\",\"rx\":\"7\",\"ry\":\"7\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function FiToggleRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"5\",\"width\":\"22\",\"height\":\"14\",\"rx\":\"7\",\"ry\":\"7\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"16\",\"cy\":\"12\",\"r\":\"3\"}}]})(props);\n};\nexport function FiTool (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"}}]})(props);\n};\nexport function FiTrash2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"3 6 5 6 21 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"10\",\"y1\":\"11\",\"x2\":\"10\",\"y2\":\"17\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"14\",\"y1\":\"11\",\"x2\":\"14\",\"y2\":\"17\"}}]})(props);\n};\nexport function FiTrash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"3 6 5 6 21 6\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"}}]})(props);\n};\nexport function FiTrello (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"7\",\"y\":\"7\",\"width\":\"3\",\"height\":\"9\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"14\",\"y\":\"7\",\"width\":\"3\",\"height\":\"5\"}}]})(props);\n};\nexport function FiTrendingDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"23 18 13.5 8.5 8.5 13.5 1 6\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 18 23 18 23 12\"}}]})(props);\n};\nexport function FiTrendingUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"23 6 13.5 15.5 8.5 10.5 1 18\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 6 23 6 23 12\"}}]})(props);\n};\nexport function FiTriangle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"}}]})(props);\n};\nexport function FiTruck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"3\",\"width\":\"15\",\"height\":\"13\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"16 8 20 8 23 11 23 16 16 16 16 8\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"5.5\",\"cy\":\"18.5\",\"r\":\"2.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18.5\",\"cy\":\"18.5\",\"r\":\"2.5\"}}]})(props);\n};\nexport function FiTv (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"2\",\"y\":\"7\",\"width\":\"20\",\"height\":\"15\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 2 12 7 7 2\"}}]})(props);\n};\nexport function FiTwitch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2H3v16h5v4l4-4h5l4-4V2zM11 11V7M16 11V7\"}}]})(props);\n};\nexport function FiTwitter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"}}]})(props);\n};\nexport function FiType (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"4 7 4 4 20 4 20 7\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"20\",\"x2\":\"15\",\"y2\":\"20\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"4\",\"x2\":\"12\",\"y2\":\"20\"}}]})(props);\n};\nexport function FiUmbrella (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7\"}}]})(props);\n};\nexport function FiUnderline (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"4\",\"y1\":\"21\",\"x2\":\"20\",\"y2\":\"21\"}}]})(props);\n};\nexport function FiUnlock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"11\",\"width\":\"18\",\"height\":\"11\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11V7a5 5 0 0 1 9.9-1\"}}]})(props);\n};\nexport function FiUploadCloud (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 16 12 12 8 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"12\",\"x2\":\"12\",\"y2\":\"21\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"16 16 12 12 8 16\"}}]})(props);\n};\nexport function FiUpload (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 8 12 3 7 8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"3\",\"x2\":\"12\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiUserCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"17 11 19 13 23 9\"}}]})(props);\n};\nexport function FiUserMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"11\",\"x2\":\"17\",\"y2\":\"11\"}}]})(props);\n};\nexport function FiUserPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"20\",\"y1\":\"8\",\"x2\":\"20\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"11\",\"x2\":\"17\",\"y2\":\"11\"}}]})(props);\n};\nexport function FiUserX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"8.5\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"8\",\"x2\":\"23\",\"y2\":\"13\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"8\",\"x2\":\"18\",\"y2\":\"13\"}}]})(props);\n};\nexport function FiUser (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"7\",\"r\":\"4\"}}]})(props);\n};\nexport function FiUsers (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 21v-2a4 4 0 0 0-3-3.87\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3.13a4 4 0 0 1 0 7.75\"}}]})(props);\n};\nexport function FiVideoOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiVideo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"23 7 16 12 23 17 23 7\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"1\",\"y\":\"5\",\"width\":\"15\",\"height\":\"14\",\"rx\":\"2\",\"ry\":\"2\"}}]})(props);\n};\nexport function FiVoicemail (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"5.5\",\"cy\":\"11.5\",\"r\":\"4.5\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"18.5\",\"cy\":\"11.5\",\"r\":\"4.5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"5.5\",\"y1\":\"16\",\"x2\":\"18.5\",\"y2\":\"16\"}}]})(props);\n};\nexport function FiVolume1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.54 8.46a5 5 0 0 1 0 7.07\"}}]})(props);\n};\nexport function FiVolume2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"}}]})(props);\n};\nexport function FiVolumeX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"23\",\"y1\":\"9\",\"x2\":\"17\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"17\",\"y1\":\"9\",\"x2\":\"23\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiVolume (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"}}]})(props);\n};\nexport function FiWatch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"7\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"12 9 12 12 13.5 13.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\"}}]})(props);\n};\nexport function FiWifiOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.72 11.06A10.94 10.94 0 0 1 19 12.55\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.55a10.94 10.94 0 0 1 5.17-2.39\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.71 5.05A16 16 0 0 1 22.58 9\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.42 9a15.91 15.91 0 0 1 4.7-2.88\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.53 16.11a6 6 0 0 1 6.95 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"20\",\"x2\":\"12.01\",\"y2\":\"20\"}}]})(props);\n};\nexport function FiWifi (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.55a11 11 0 0 1 14.08 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.42 9a16 16 0 0 1 21.16 0\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.53 16.11a6 6 0 0 1 6.95 0\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"12\",\"y1\":\"20\",\"x2\":\"12.01\",\"y2\":\"20\"}}]})(props);\n};\nexport function FiWind (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"}}]})(props);\n};\nexport function FiXCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"9\",\"x2\":\"9\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"9\",\"x2\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiXOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"9\",\"x2\":\"9\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"9\",\"x2\":\"15\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiXSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\",\"ry\":\"2\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"9\",\"y1\":\"9\",\"x2\":\"15\",\"y2\":\"15\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"15\",\"y1\":\"9\",\"x2\":\"9\",\"y2\":\"15\"}}]})(props);\n};\nexport function FiX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"line\",\"attr\":{\"x1\":\"18\",\"y1\":\"6\",\"x2\":\"6\",\"y2\":\"18\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"6\",\"y1\":\"6\",\"x2\":\"18\",\"y2\":\"18\"}}]})(props);\n};\nexport function FiYoutube (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"}},{\"tag\":\"polygon\",\"attr\":{\"points\":\"9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02\"}}]})(props);\n};\nexport function FiZapOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polyline\",\"attr\":{\"points\":\"12.41 6.75 13 2 10.57 4.92\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"18.57 12.91 21 10 15.66 10\"}},{\"tag\":\"polyline\",\"attr\":{\"points\":\"8 8 3 14 12 14 11 22 16 16\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"1\",\"y1\":\"1\",\"x2\":\"23\",\"y2\":\"23\"}}]})(props);\n};\nexport function FiZap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"polygon\",\"attr\":{\"points\":\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"}}]})(props);\n};\nexport function FiZoomIn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"21\",\"x2\":\"16.65\",\"y2\":\"16.65\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"11\",\"y1\":\"8\",\"x2\":\"11\",\"y2\":\"14\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"11\",\"x2\":\"14\",\"y2\":\"11\"}}]})(props);\n};\nexport function FiZoomOut (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"21\",\"y1\":\"21\",\"x2\":\"16.65\",\"y2\":\"16.65\"}},{\"tag\":\"line\",\"attr\":{\"x1\":\"8\",\"y1\":\"11\",\"x2\":\"14\",\"y2\":\"11\"}}]})(props);\n};\n","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\nconst AlertHeading = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = DivStyledAsH4,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'alert-heading');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nAlertHeading.displayName = 'AlertHeading';\nexport default AlertHeading;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AlertLink = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = Anchor,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'alert-link');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nAlertLink.displayName = 'AlertLink';\nexport default AlertLink;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AlertHeading from './AlertHeading';\nimport AlertLink from './AlertLink';\nimport Fade from './Fade';\nimport CloseButton from './CloseButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Alert = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n  const {\n    bsPrefix,\n    show = true,\n    closeLabel = 'Close alert',\n    closeVariant,\n    className,\n    children,\n    variant = 'primary',\n    onClose,\n    dismissible,\n    transition = Fade,\n    ...props\n  } = useUncontrolled(uncontrolledProps, {\n    show: 'onClose'\n  });\n  const prefix = useBootstrapPrefix(bsPrefix, 'alert');\n  const handleClose = useEventCallback(e => {\n    if (onClose) {\n      onClose(false, e);\n    }\n  });\n  const Transition = transition === true ? Fade : transition;\n  const alert = /*#__PURE__*/_jsxs(\"div\", {\n    role: \"alert\",\n    ...(!Transition ? props : undefined),\n    ref: ref,\n    className: classNames(className, prefix, variant && `${prefix}-${variant}`, dismissible && `${prefix}-dismissible`),\n    children: [dismissible && /*#__PURE__*/_jsx(CloseButton, {\n      onClick: handleClose,\n      \"aria-label\": closeLabel,\n      variant: closeVariant\n    }), children]\n  });\n  if (!Transition) return show ? alert : null;\n  return /*#__PURE__*/_jsx(Transition, {\n    unmountOnExit: true,\n    ...props,\n    ref: undefined,\n    in: show,\n    children: alert\n  });\n});\nAlert.displayName = 'Alert';\nexport default Object.assign(Alert, {\n  Link: AlertLink,\n  Heading: AlertHeading\n});","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function BsFill0CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.012 4.158c1.858 0 2.96-1.582 2.96-3.99V7.84c0-2.426-1.079-3.996-2.936-3.996-1.864 0-2.965 1.588-2.965 3.996v.328c0 2.42 1.09 3.99 2.941 3.99Z\"}}]})(props);\n};\nexport function BsFill0SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99Z\"}}]})(props);\n};\nexport function BsFill1CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.283 4.002H7.971L6.072 5.385v1.271l1.834-1.318h.065V12h1.312V4.002Z\"}}]})(props);\n};\nexport function BsFill1SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm7.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z\"}}]})(props);\n};\nexport function BsFill2CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM6.646 6.24c0-.691.493-1.306 1.336-1.306.756 0 1.313.492 1.313 1.236 0 .697-.469 1.23-.902 1.705l-2.971 3.293V12h5.344v-1.107H7.268v-.077l1.974-2.22.096-.107c.688-.763 1.287-1.428 1.287-2.43 0-1.266-1.031-2.215-2.613-2.215-1.758 0-2.637 1.19-2.637 2.402v.065h1.271v-.07Z\"}}]})(props);\n};\nexport function BsFill2SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm4.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z\"}}]})(props);\n};\nexport function BsFill3CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.082.414c.92 0 1.535.54 1.541 1.318.012.791-.615 1.36-1.588 1.354-.861-.006-1.482-.469-1.54-1.066H5.104c.047 1.177 1.05 2.144 2.754 2.144 1.653 0 2.954-.937 2.93-2.396-.023-1.278-1.031-1.846-1.734-1.916v-.07c.597-.1 1.505-.739 1.482-1.876-.03-1.177-1.043-2.074-2.637-2.062-1.675.006-2.59.984-2.625 2.12h1.248c.036-.556.557-1.054 1.348-1.054.785 0 1.348.486 1.348 1.195.006.715-.563 1.237-1.342 1.237h-.838v1.072h.879Z\"}}]})(props);\n};\nexport function BsFill3SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z\"}}]})(props);\n};\nexport function BsFill4CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7.519 5.057c-.886 1.418-1.772 2.838-2.542 4.265v1.12H8.85V12h1.26v-1.559h1.007V9.334H10.11V4.002H8.176c-.218.352-.438.703-.657 1.055ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z\"}}]})(props);\n};\nexport function BsFill4SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265Z\"}}]})(props);\n};\nexport function BsFill5CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.006 4.158c1.74 0 2.924-1.119 2.924-2.806 0-1.641-1.178-2.584-2.56-2.584-.897 0-1.442.421-1.612.68h-.064l.193-2.344h3.621V4.002H5.791L5.445 8.63h1.149c.193-.358.668-.809 1.435-.809.85 0 1.582.604 1.582 1.57 0 1.085-.779 1.682-1.57 1.682-.697 0-1.389-.31-1.53-1.031H5.276c.065 1.213 1.149 2.115 2.72 2.115Z\"}}]})(props);\n};\nexport function BsFill5SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z\"}}]})(props);\n};\nexport function BsFill6CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.21 3.855c-1.868 0-3.116 1.395-3.116 4.407 0 1.183.228 2.039.597 2.642.569.926 1.477 1.254 2.409 1.254 1.629 0 2.847-1.013 2.847-2.783 0-1.676-1.254-2.555-2.508-2.555-1.125 0-1.752.61-1.98 1.155h-.082c-.012-1.946.727-3.036 1.805-3.036.802 0 1.213.457 1.312.815h1.29c-.06-.908-.962-1.899-2.573-1.899Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z\"}}]})(props);\n};\nexport function BsFill6SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.111 7.863c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Z\"}}]})(props);\n};\nexport function BsFill7CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.37 5.11h3.972v.07L6.025 12H7.42l3.258-6.85V4.002H5.369v1.107Z\"}}]})(props);\n};\nexport function BsFill7SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z\"}}]})(props);\n};\nexport function BsFill8CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5.03 1.803c0-1.248-.943-1.84-1.646-1.992v-.065c.598-.187 1.336-.72 1.336-1.781 0-1.225-1.084-2.121-2.654-2.121-1.57 0-2.66.896-2.66 2.12 0 1.044.709 1.589 1.33 1.782v.065c-.697.152-1.647.732-1.647 2.003 0 1.39 1.19 2.344 2.953 2.344 1.77 0 2.989-.96 2.989-2.355Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z\"}}]})(props);\n};\nexport function BsFill8SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.623 6.094c0 .738.586 1.254 1.383 1.254s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.644c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm8.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Z\"}}]})(props);\n};\nexport function BsFill9CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.223 4.146c2.104 0 3.123-1.464 3.123-4.3 0-3.147-1.459-4.014-2.97-4.014-1.63 0-2.871 1.02-2.871 2.73 0 1.706 1.171 2.667 2.566 2.667 1.06 0 1.7-.557 1.934-1.184h.076c.047 1.67-.475 3.023-1.834 3.023-.71 0-1.149-.363-1.248-.72H5.258c.094.908.926 1.798 2.52 1.798Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z\"}}]})(props);\n};\nexport function BsFill9SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.895 8.174c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Z\"}}]})(props);\n};\nexport function BsFillAirplaneEnginesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.787 0-1.292.592-1.572 1.151A4.347 4.347 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0Z\"}}]})(props);\n};\nexport function BsFillAirplaneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.428 1.151C6.708.591 7.213 0 8 0s1.292.592 1.572 1.151C9.861 1.73 10 2.431 10 3v3.691l5.17 2.585a1.5 1.5 0 0 1 .83 1.342V12a.5.5 0 0 1-.582.493l-5.507-.918-.375 2.253 1.318 1.318A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.354-.854l1.319-1.318-.376-2.253-5.507.918A.5.5 0 0 1 0 12v-1.382a1.5 1.5 0 0 1 .83-1.342L6 6.691V3c0-.568.14-1.271.428-1.849Z\"}}]})(props);\n};\nexport function BsFillAlarmFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z\"}}]})(props);\n};\nexport function BsFillArchiveFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z\"}}]})(props);\n};\nexport function BsFillArrowDownCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsFillArrowDownLeftCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z\"}}]})(props);\n};\nexport function BsFillArrowDownLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z\"}}]})(props);\n};\nexport function BsFillArrowDownRightCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z\"}}]})(props);\n};\nexport function BsFillArrowDownRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z\"}}]})(props);\n};\nexport function BsFillArrowDownSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillArrowLeftCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsFillArrowLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z\"}}]})(props);\n};\nexport function BsFillArrowRightCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsFillArrowRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillArrowThroughHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l3.103-3.104a.5.5 0 1 1 .708.708L4.5 12.207V14a.5.5 0 0 1-.146.354l-1.5 1.5ZM16 3.5a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182A23.825 23.825 0 0 1 5.8 12.323L8.31 9.81a1.5 1.5 0 0 0-2.122-2.122L3.657 10.22a8.827 8.827 0 0 1-1.039-1.57c-.798-1.576-.775-2.997-.213-4.093C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3Z\"}}]})(props);\n};\nexport function BsFillArrowUpCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsFillArrowUpLeftCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsFillArrowUpLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z\"}}]})(props);\n};\nexport function BsFillArrowUpRightCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsFillArrowUpRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z\"}}]})(props);\n};\nexport function BsFillArrowUpSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z\"}}]})(props);\n};\nexport function BsFillAspectRatioFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z\"}}]})(props);\n};\nexport function BsFillAwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsFillBackpackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13v-3h4v.5a.5.5 0 0 0 1 0V10h1v3H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v.341C3.67 3.165 2 5.388 2 8v5.5A2.5 2.5 0 0 0 4.5 16h7a2.5 2.5 0 0 0 2.5-2.5V8a6.002 6.002 0 0 0-4-5.659V2a2 2 0 1 0-4 0Zm2-1a1 1 0 0 1 1 1v.083a6.04 6.04 0 0 0-2 0V2a1 1 0 0 1 1-1Zm0 3a4 4 0 0 1 3.96 3.43.5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14A4 4 0 0 1 8 4ZM4.5 9h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillBackpack2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v.341C3.67 3.165 2 5.388 2 8v1.191l-1.17.585A1.5 1.5 0 0 0 0 11.118V13.5A1.5 1.5 0 0 0 1.5 15h1c.456.607 1.182 1 2 1h7c.818 0 1.544-.393 2-1h1a1.5 1.5 0 0 0 1.5-1.5v-2.382a1.5 1.5 0 0 0-.83-1.342L14 9.191V8a6.002 6.002 0 0 0-4-5.659V2a2 2 0 1 0-4 0Zm2-1a1 1 0 0 1 1 1v.083a6.04 6.04 0 0 0-2 0V2a1 1 0 0 1 1-1Zm0 3a4 4 0 0 1 3.96 3.43.5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14A4 4 0 0 1 8 4ZM4.5 9h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillBackpack3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v.341a5.978 5.978 0 0 0-1.308.653l-.416-1.247a1 1 0 0 0-1.749-.284l-.77 1.027a1 1 0 0 0-.149.917l.803 2.407A5.985 5.985 0 0 0 2 8v5.5A2.5 2.5 0 0 0 4.5 16h7a2.5 2.5 0 0 0 2.5-2.5V8c0-.771-.146-1.509-.41-2.186l.801-2.407a1 1 0 0 0-.148-.917l-.77-1.027a1 1 0 0 0-1.75.284l-.415 1.247A5.976 5.976 0 0 0 10 2.34V2a2 2 0 1 0-4 0Zm1 0a1 1 0 0 1 2 0v.083a6.04 6.04 0 0 0-2 0V2Zm5.941 2.595a6.036 6.036 0 0 0-.8-.937l.531-1.595.77 1.027-.5 1.505ZM3.86 3.658a6.031 6.031 0 0 0-.8.937L2.557 3.09l.77-1.027.532 1.595Zm.18 3.772a4 4 0 0 1 7.92 0 .5.5 0 1 1-.99.142 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.142ZM4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4Z\"}}]})(props);\n};\nexport function BsFillBackpack4Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a2 2 0 0 0-2 2H3.5a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h4v.5a.5.5 0 0 0 1 0V7h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H10a2 2 0 0 0-2-2Zm1 2a1 1 0 0 0-2 0h2Zm-4 9v2h6v-2h-1v.5a.5.5 0 0 1-1 0V11H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.599A2.986 2.986 0 0 1 12.5 8H9.415a1.5 1.5 0 0 1-2.83 0H3.5A2.986 2.986 0 0 1 2 7.599V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.599ZM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-3Z\"}}]})(props);\n};\nexport function BsFillBackspaceFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.683 3a2 2 0 0 0-2-2h-7.08a2 2 0 0 0-1.519.698L.241 7.35a1 1 0 0 0 0 1.302l4.843 5.65A2 2 0 0 0 6.603 15h7.08a2 2 0 0 0 2-2V3zM5.829 5.854a.5.5 0 1 1 .707-.708l2.147 2.147 2.146-2.147a.5.5 0 1 1 .707.708L9.39 8l2.146 2.146a.5.5 0 0 1-.707.708L8.683 8.707l-2.147 2.147a.5.5 0 0 1-.707-.708L7.976 8 5.829 5.854z\"}}]})(props);\n};\nexport function BsFillBackspaceReverseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h7.08a2 2 0 0 1 1.519.698l4.843 5.651a1 1 0 0 1 0 1.302L10.6 14.3a2 2 0 0 1-1.52.7H2a2 2 0 0 1-2-2V3zm9.854 2.854a.5.5 0 0 0-.708-.708L7 7.293 4.854 5.146a.5.5 0 1 0-.708.708L6.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L7 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L7.707 8l2.147-2.146z\"}}]})(props);\n};\nexport function BsFillBadge3DFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914h.663zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126V11z\"}}]})(props);\n};\nexport function BsFillBadge4KFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.577 8.9v.03h1.828V5.898h-.062a46.781 46.781 0 0 0-1.766 3.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm2.372 3.715.435-.714h1.71v3.93h.733v.957h-.733V11H5.405V9.888H2.5v-.971c.574-1.077 1.225-2.142 1.872-3.202zm7.73-.714h1.306l-2.14 2.584L13.5 11h-1.428l-1.679-2.624-.615.7V11H8.59V5.001h1.187v2.686h.057L12.102 5z\"}}]})(props);\n};\nexport function BsFillBadge8KFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.9 6.605c0 .51.405.866.95.866.545 0 .945-.356.945-.866s-.4-.852-.945-.852c-.545 0-.95.343-.95.852zm-.192 2.668c0 .589.492.984 1.142.984.646 0 1.143-.395 1.143-.984S5.496 8.28 4.85 8.28c-.65 0-1.142.404-1.142.993z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.17 7.348c0 1.041-.927 1.766-2.333 1.766-1.406 0-2.312-.72-2.312-1.762 0-.954.712-1.384 1.257-1.494v-.053c-.51-.154-1.02-.558-1.02-1.331 0-.914.831-1.587 2.088-1.587 1.253 0 2.083.673 2.083 1.587 0 .782-.523 1.182-1.02 1.331v.053c.545.11 1.257.545 1.257 1.49zM12.102 5h1.306l-2.14 2.584 2.232 3.415h-1.428l-1.679-2.624-.615.699v1.925H8.59V5h1.187v2.685h.057L12.102 5z\"}}]})(props);\n};\nexport function BsFillBadgeAdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.35 8.337c0-.699-.42-1.138-1.001-1.138-.584 0-.954.444-.954 1.239v.453c0 .8.374 1.248.972 1.248.588 0 .984-.44.984-1.2v-.602zm-5.413.237-.734-2.426H5.15l-.734 2.426h1.52z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm6.209 6.32c0-1.28.694-2.044 1.753-2.044.655 0 1.156.294 1.336.769h.053v-2.36h1.16V11h-1.138v-.747h-.057c-.145.474-.69.804-1.367.804-1.055 0-1.74-.764-1.74-2.043v-.695zm-4.04 1.138L3.7 11H2.5l2.013-5.999H5.9L7.905 11H6.644l-.47-1.542H4.17z\"}}]})(props);\n};\nexport function BsFillBadgeArFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.031 8.574-.734-2.426h-.052L4.51 8.574h1.52zm3.642-2.641v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4.265 5.458h2.004L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2l.47-1.542zM8.5 5v6h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeCcFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.027 4.002c-.83 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05H7.36v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747C2.5 6.051 3.414 5 5.018 5c1.318 0 2.29.813 2.342 2v.11H6.213c-.048-.638-.505-1.108-1.186-1.108zm6.14 0c-.831 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.318 1.727.69 0 1.139-.435 1.187-1.05H13.5v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.751 2.518-2.751 1.318 0 2.29.813 2.342 2v.11h-1.147c-.048-.638-.505-1.108-1.187-1.108z\"}}]})(props);\n};\nexport function BsFillBadgeHdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.968h-.843v4.06h.843c1.117 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.396 3.001V11H6.209V8.43H3.687V11H2.5V5.001h1.187v2.44h2.522V5h1.187zM8.5 11V5.001h2.188c1.824 0 2.685 1.09 2.685 2.984C13.373 9.893 12.5 11 10.69 11H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeSdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.338 5.968h-.844v4.06h.844c1.116 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm5.077 7.114c1.521 0 2.378-.764 2.378-1.88 0-1.007-.642-1.473-1.613-1.692l-.932-.216c-.527-.114-.821-.351-.821-.712 0-.466.39-.804 1.046-.804.637 0 1.028.33 1.103.76h1.125c-.058-.923-.849-1.692-2.22-1.692-1.322 0-2.24.717-2.24 1.815 0 .91.588 1.446 1.52 1.657l.927.215c.624.145.923.36.923.778 0 .492-.391.83-1.13.83-.707 0-1.155-.342-1.234-.808H2.762c.052.95.79 1.75 2.315 1.75ZM8.307 11h2.19c1.81 0 2.684-1.107 2.684-3.015 0-1.894-.861-2.984-2.685-2.984H8.308V11Z\"}}]})(props);\n};\nexport function BsFillBadgeTmFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.295 3.995V11H4.104V5.995h-1.7V5H7v.994H5.295zM8.692 7.01V11H7.633V5.001h1.209l1.71 3.894h.039l1.71-3.894H13.5V11h-1.072V7.01h-.057l-1.42 3.239h-.773L8.75 7.008h-.058z\"}}]})(props);\n};\nexport function BsFillBadgeVoFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.296 8.394v-.782c0-1.156-.571-1.736-1.362-1.736-.796 0-1.363.58-1.363 1.736v.782c0 1.156.567 1.732 1.363 1.732.79 0 1.362-.576 1.362-1.732z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm11.5 5.62v.77c0 1.691-.962 2.724-2.566 2.724-1.604 0-2.571-1.033-2.571-2.724v-.77c0-1.704.967-2.733 2.57-2.733 1.605 0 2.567 1.037 2.567 2.734zM5.937 11H4.508L2.5 5.001h1.375L5.22 9.708h.057L6.61 5.001h1.318L5.937 11z\"}}]})(props);\n};\nexport function BsFillBadgeVrFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.673 5.933v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.937 7 1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11h1.429zM8.5 5.001V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeWcFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.666 1.89c.682 0 1.139.47 1.187 1.107H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754zm-6.188.926h.044L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005l1.02-4.184z\"}}]})(props);\n};\nexport function BsFillBagCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zm-.646 5.354a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillBagDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6 9.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillBagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5z\"}}]})(props);\n};\nexport function BsFillBagHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 4v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5ZM8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1Zm0 6.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillBagPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM8.5 8a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V12a.5.5 0 0 0 1 0v-1.5H10a.5.5 0 0 0 0-1H8.5V8z\"}}]})(props);\n};\nexport function BsFillBagXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6.854 8.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsFillBalloonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.48 10.901C11.211 10.227 13 7.837 13 5A5 5 0 0 0 3 5c0 2.837 1.789 5.227 4.52 5.901l-.244.487a.25.25 0 1 0 .448.224l.04-.08c.009.17.024.315.051.45.068.344.208.622.448 1.102l.013.028c.212.422.182.85.05 1.246-.135.402-.366.751-.534 1.003a.25.25 0 0 0 .416.278l.004-.007c.166-.248.431-.646.588-1.115.16-.479.212-1.051-.076-1.629-.258-.515-.365-.732-.419-1.004a2.376 2.376 0 0 1-.037-.289l.008.017a.25.25 0 1 0 .448-.224l-.244-.487ZM4.352 3.356a4.004 4.004 0 0 1 3.15-2.325C7.774.997 8 1.224 8 1.5c0 .276-.226.496-.498.542-.95.162-1.749.78-2.173 1.617a.595.595 0 0 1-.52.341c-.346 0-.599-.329-.457-.644Z\"}}]})(props);\n};\nexport function BsFillBalloonHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.49 10.92C19.412 3.382 11.28-2.387 8 .986 4.719-2.387-3.413 3.382 7.51 10.92l-.234.468a.25.25 0 1 0 .448.224l.04-.08c.009.17.024.315.051.45.068.344.208.622.448 1.102l.013.028c.212.422.182.85.05 1.246-.135.402-.366.751-.534 1.003a.25.25 0 0 0 .416.278l.004-.007c.166-.248.431-.646.588-1.115.16-.479.212-1.051-.076-1.629-.258-.515-.365-.732-.419-1.004a2.376 2.376 0 0 1-.037-.289l.008.017a.25.25 0 1 0 .448-.224l-.235-.468ZM6.726 1.269c-1.167-.61-2.8-.142-3.454 1.135-.237.463-.36 1.08-.202 1.85.055.27.467.197.527-.071.285-1.256 1.177-2.462 2.989-2.528.234-.008.348-.278.14-.386Z\"}}]})(props);\n};\nexport function BsFillBanFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM2.71 12.584c.218.252.454.488.706.707l9.875-9.875a7.034 7.034 0 0 0-.707-.707l-9.875 9.875Z\"}}]})(props);\n};\nexport function BsFillBandaidFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.68 7.676 6.49-6.504a4 4 0 0 1 5.66 5.653l-1.477 1.529-5.006 5.006-1.523 1.472a4 4 0 0 1-5.653-5.66l.001-.002 1.505-1.492.001-.002Zm5.71-2.858a.5.5 0 1 0-.708.707.5.5 0 0 0 .707-.707ZM6.974 6.939a.5.5 0 1 0-.707-.707.5.5 0 0 0 .707.707ZM5.56 8.354a.5.5 0 1 0-.707-.708.5.5 0 0 0 .707.708Zm2.828 2.828a.5.5 0 1 0-.707-.707.5.5 0 0 0 .707.707Zm1.414-2.121a.5.5 0 1 0-.707.707.5.5 0 0 0 .707-.707Zm1.414-.707a.5.5 0 1 0-.706-.708.5.5 0 0 0 .707.708Zm-4.242.707a.5.5 0 1 0-.707.707.5.5 0 0 0 .707-.707Zm1.414-.707a.5.5 0 1 0-.707-.708.5.5 0 0 0 .707.708Zm1.414-2.122a.5.5 0 1 0-.707.707.5.5 0 0 0 .707-.707ZM8.646 3.354l4 4 .708-.708-4-4-.708.708Zm-1.292 9.292-4-4-.708.708 4 4 .708-.708Z\"}}]})(props);\n};\nexport function BsFillBarChartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsFillBarChartLineFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2z\"}}]})(props);\n};\nexport function BsFillBasketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.071 1.243a.5.5 0 0 1 .858.514L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6h1.717L5.07 1.243zM3.5 10.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3z\"}}]})(props);\n};\nexport function BsFillBasket2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.929 1.757a.5.5 0 1 0-.858-.514L2.217 6H.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.623l1.844 6.456A.75.75 0 0 0 3.69 15h8.622a.75.75 0 0 0 .722-.544L14.877 8h.623a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1.717L10.93 1.243a.5.5 0 1 0-.858.514L12.617 6H3.383L5.93 1.757zM4 10a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm4-1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillBasket3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.468 15.426.943 9h14.114l-1.525 6.426a.75.75 0 0 1-.729.574H3.197a.75.75 0 0 1-.73-.574z\"}}]})(props);\n};\nexport function BsFillBellFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"}}]})(props);\n};\nexport function BsFillBellSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-1.5-1-2-5.902-2-7 0-.264-.02-.523-.06-.776L5.164 14zm6.288-10.617A4.988 4.988 0 0 0 8.995 2.1a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 7c0 .898-.335 4.342-1.278 6.113l9.73-9.73zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsFillBinocularsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1A1.5 1.5 0 0 0 3 2.5V3h4v-.5A1.5 1.5 0 0 0 5.5 1h-1zM7 4v1h2V4h4v.882a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V13H9v-1.5a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5V13H1V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V4h4zM1 14v.5A1.5 1.5 0 0 0 2.5 16h3A1.5 1.5 0 0 0 7 14.5V14H1zm8 0v.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5V14H9zm4-11H9v-.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5V3z\"}}]})(props);\n};\nexport function BsFillBookFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsFillBookmarkCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm8.854-9.646a.5.5 0 0 0-.708-.708L7.5 7.793 6.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillBookmarkDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillBookmarkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z\"}}]})(props);\n};\nexport function BsFillBookmarkHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13.5zM8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}}]})(props);\n};\nexport function BsFillBookmarkPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm6.5-11a.5.5 0 0 0-1 0V6H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V7H10a.5.5 0 0 0 0-1H8.5V4.5z\"}}]})(props);\n};\nexport function BsFillBookmarkStarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM8.16 4.1a.178.178 0 0 0-.32 0l-.634 1.285a.178.178 0 0 1-.134.098l-1.42.206a.178.178 0 0 0-.098.303L6.58 6.993c.042.041.061.1.051.158L6.39 8.565a.178.178 0 0 0 .258.187l1.27-.668a.178.178 0 0 1 .165 0l1.27.668a.178.178 0 0 0 .257-.187L9.368 7.15a.178.178 0 0 1 .05-.158l1.028-1.001a.178.178 0 0 0-.098-.303l-1.42-.206a.178.178 0 0 1-.134-.098L8.16 4.1z\"}}]})(props);\n};\nexport function BsFillBookmarkXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6.854 5.146a.5.5 0 1 0-.708.708L7.293 7 6.146 8.146a.5.5 0 1 0 .708.708L8 7.707l1.146 1.147a.5.5 0 1 0 .708-.708L8.707 7l1.147-1.146a.5.5 0 0 0-.708-.708L8 6.293 6.854 5.146z\"}}]})(props);\n};\nexport function BsFillBookmarksFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1A2 2 0 0 1 6 0h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L13 13.768V2a1 1 0 0 0-1-1H4.268z\"}}]})(props);\n};\nexport function BsFillBoomboxFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a.5.5 0 0 1 .5.5V2h.5a1 1 0 0 1 1 1v2H0V3a1 1 0 0 1 1-1h12.5V.5A.5.5 0 0 1 14 0ZM2 3.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm2 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm7.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1.5-.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0ZM9.5 3h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1ZM6 10.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm7 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm.5-1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6h16v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V6Zm2 4.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Zm7 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z\"}}]})(props);\n};\nexport function BsFillBootstrapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.375 7.125V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H6.375v2.725z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.002 0a4 4 0 0 0-4 4v8a4 4 0 0 0 4 4h8a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4h-8zm1.06 12V3.545h3.399c1.587 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.483 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396H5.062z\"}}]})(props);\n};\nexport function BsFillBoxFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.528 2.973a.75.75 0 0 1 .472.696v8.662a.75.75 0 0 1-.472.696l-7.25 2.9a.75.75 0 0 1-.557 0l-7.25-2.9A.75.75 0 0 1 0 12.331V3.669a.75.75 0 0 1 .471-.696L7.443.184l.004-.001.274-.11a.75.75 0 0 1 .558 0l.274.11.004.001 6.971 2.789Zm-1.374.527L8 5.962 1.846 3.5 1 3.839v.4l6.5 2.6v7.922l.5.2.5-.2V6.84l6.5-2.6v-.4l-.846-.339Z\"}}]})(props);\n};\nexport function BsFillBoxSeamFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.528 2.973a.75.75 0 0 1 .472.696v8.662a.75.75 0 0 1-.472.696l-7.25 2.9a.75.75 0 0 1-.557 0l-7.25-2.9A.75.75 0 0 1 0 12.331V3.669a.75.75 0 0 1 .471-.696L7.443.184l.01-.003.268-.108a.75.75 0 0 1 .558 0l.269.108.01.003 6.97 2.789ZM10.404 2 4.25 4.461 1.846 3.5 1 3.839v.4l6.5 2.6v7.922l.5.2.5-.2V6.84l6.5-2.6v-.4l-.846-.339L8 5.961 5.596 5l6.154-2.461L10.404 2Z\"}}]})(props);\n};\nexport function BsFillBox2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 0a1 1 0 0 0-.8.4L.1 4.2a.5.5 0 0 0-.1.3V15a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4.5a.5.5 0 0 0-.1-.3L13.05.4a1 1 0 0 0-.8-.4h-8.5ZM15 4.667V5H1v-.333L1.5 4h6V1h1v3h6l.5.667Z\"}}]})(props);\n};\nexport function BsFillBox2HeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 0a1 1 0 0 0-.8.4L.1 4.2a.5.5 0 0 0-.1.3V15a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4.5a.5.5 0 0 0-.1-.3L13.05.4a1 1 0 0 0-.8-.4h-8.5ZM8.5 4h6l.5.667V5H1v-.333L1.5 4h6V1h1v3ZM8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillBriefcaseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z\"}}]})(props);\n};\nexport function BsFillBrightnessAltHighFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsFillBrightnessAltLowFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsFillBrightnessHighFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsFillBrightnessLowFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsFillBrushFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04z\"}}]})(props);\n};\nexport function BsFillBucketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527z\"}}]})(props);\n};\nexport function BsFillBugFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A4.985 4.985 0 0 0 3 6h10a4.985 4.985 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A4.978 4.978 0 0 0 8 1a4.979 4.979 0 0 0-2.731.811l-.29-.956z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5H13zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975z\"}}]})(props);\n};\nexport function BsFillBuildingFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3v-3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V16h3a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H3Zm1 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 8h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillBuildingsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 .5a.5.5 0 0 0-.724-.447l-8 4A.5.5 0 0 0 6 4.5v3.14L.342 9.526A.5.5 0 0 0 0 10v5.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V14h1v1.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V.5ZM2 11h1v1H2v-1Zm2 0h1v1H4v-1Zm-1 2v1H2v-1h1Zm1 0h1v1H4v-1Zm9-10v1h-1V3h1ZM8 5h1v1H8V5Zm1 2v1H8V7h1ZM8 9h1v1H8V9Zm2 0h1v1h-1V9Zm-1 2v1H8v-1h1Zm1 0h1v1h-1v-1Zm3-2v1h-1V9h1Zm-1 2h1v1h-1v-1Zm-2-4h1v1h-1V7Zm3 0v1h-1V7h1Zm-2-2v1h-1V5h1Zm1 0h1v1h-1V5Z\"}}]})(props);\n};\nexport function BsFillBusFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7a1 1 0 0 1-1 1v3.5c0 .818-.393 1.544-1 2v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V14H5v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a2.496 2.496 0 0 1-1-2V8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1V2.64C1 1.452 1.845.408 3.064.268A43.608 43.608 0 0 1 8 0c2.1 0 3.792.136 4.936.268C14.155.408 15 1.452 15 2.64V4a1 1 0 0 1 1 1v2ZM3.552 3.22A43.306 43.306 0 0 1 8 3c1.837 0 3.353.107 4.448.22a.5.5 0 0 0 .104-.994A44.304 44.304 0 0 0 8 2c-1.876 0-3.426.109-4.552.226a.5.5 0 1 0 .104.994ZM8 4c-1.876 0-3.426.109-4.552.226A.5.5 0 0 0 3 4.723v3.554a.5.5 0 0 0 .448.497C4.574 8.891 6.124 9 8 9c1.876 0 3.426-.109 4.552-.226A.5.5 0 0 0 13 8.277V4.723a.5.5 0 0 0-.448-.497A44.304 44.304 0 0 0 8 4Zm-3 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm8 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm-7 0a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2H7a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsFillCCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.146 4.992c.961 0 1.641.633 1.729 1.512h1.295v-.088c-.094-1.518-1.348-2.572-3.03-2.572-2.068 0-3.269 1.377-3.269 3.638v1.073c0 2.267 1.178 3.603 3.27 3.603 1.675 0 2.93-1.02 3.029-2.467v-.093H9.875c-.088.832-.75 1.418-1.729 1.418-1.224 0-1.927-.891-1.927-2.461v-1.06c0-1.583.715-2.503 1.927-2.503Z\"}}]})(props);\n};\nexport function BsFillCSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6.146 4.992c-1.212 0-1.927.92-1.927 2.502v1.06c0 1.571.703 2.462 1.927 2.462.979 0 1.641-.586 1.729-1.418h1.295v.093c-.1 1.448-1.354 2.467-3.03 2.467-2.091 0-3.269-1.336-3.269-3.603V7.482c0-2.261 1.201-3.638 3.27-3.638 1.681 0 2.935 1.054 3.029 2.572v.088H9.875c-.088-.879-.768-1.512-1.729-1.512Z\"}}]})(props);\n};\nexport function BsFillCakeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.399.804.595-.792.598.79A.747.747 0 0 1 8.5 1.806V4H11a2 2 0 0 1 2 2v3h1a2 2 0 0 1 2 2v4a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1v-4a2 2 0 0 1 2-2h1V6a2 2 0 0 1 2-2h2.5V1.813a.747.747 0 0 1-.101-1.01ZM12 6.414a.911.911 0 0 1-.646-.268 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0A.911.911 0 0 1 4 6.414v1c.49 0 .98-.187 1.354-.56a.914.914 0 0 1 1.292 0c.748.747 1.96.747 2.708 0a.914.914 0 0 1 1.292 0c.374.373.864.56 1.354.56v-1Zm2.646 5.732a.914.914 0 0 1-1.293 0 1.914 1.914 0 0 0-2.707 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0L1 11.793v1.34c.737.452 1.715.36 2.354-.28a.914.914 0 0 1 1.292 0c.748.748 1.96.748 2.708 0a.914.914 0 0 1 1.292 0c.748.748 1.96.748 2.707 0a.914.914 0 0 1 1.293 0 1.915 1.915 0 0 0 2.354.28v-1.34l-.354.354Z\"}}]})(props);\n};\nexport function BsFillCake2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.899.804.595-.792.598.79A.747.747 0 0 1 4 1.806v4.886c-.354-.06-.689-.127-1-.201V1.813a.747.747 0 0 1-.1-1.01ZM13 1.806v4.685a15.19 15.19 0 0 1-1 .201v-4.88a.747.747 0 0 1-.1-1.007l.595-.792.598.79A.746.746 0 0 1 13 1.806Zm-3 0a.746.746 0 0 0 .092-1.004l-.598-.79-.595.792A.747.747 0 0 0 9 1.813v5.17c.341-.013.675-.031 1-.055V1.806Zm-3 0v5.176c-.341-.012-.675-.03-1-.054V1.813a.747.747 0 0 1-.1-1.01l.595-.79.598.789A.747.747 0 0 1 7 1.806Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 6.988V4.226a22.6 22.6 0 0 1 1-.114V7.16c0 .131.101.24.232.25l.231.017c.332.024.672.043 1.02.055l.258.01a.25.25 0 0 0 .26-.25V4.003a29.015 29.015 0 0 1 1 0V7.24a.25.25 0 0 0 .258.25l.259-.009c.347-.012.687-.03 1.019-.055l.231-.017a.25.25 0 0 0 .232-.25V4.112c.345.031.679.07 1 .114v2.762a.25.25 0 0 0 .292.246l.291-.049c.364-.061.71-.13 1.033-.208l.192-.046a.25.25 0 0 0 .192-.243V4.621c.672.184 1.251.409 1.677.678.415.261.823.655.823 1.2V13.5c0 .546-.408.94-.823 1.201-.44.278-1.043.51-1.745.696-1.41.376-3.33.603-5.432.603-2.102 0-4.022-.227-5.432-.603-.702-.187-1.305-.418-1.745-.696C.408 14.44 0 14.046 0 13.5v-7c0-.546.408-.94.823-1.201.426-.269 1.005-.494 1.677-.678v2.067c0 .116.08.216.192.243l.192.046c.323.077.669.147 1.033.208l.292.05a.25.25 0 0 0 .291-.247ZM1 8.82v1.659a1.935 1.935 0 0 0 2.298.43.935.935 0 0 1 1.08.175l.348.349a2 2 0 0 0 2.615.185l.059-.044a1 1 0 0 1 1.2 0l.06.044a2 2 0 0 0 2.613-.185l.348-.348a.938.938 0 0 1 1.082-.175c.781.39 1.718.208 2.297-.426V8.833l-.68.907a.938.938 0 0 1-1.17.276 1.938 1.938 0 0 0-2.236.363l-.348.348a1 1 0 0 1-1.307.092l-.06-.044a2 2 0 0 0-2.399 0l-.06.044a1 1 0 0 1-1.306-.092l-.35-.35a1.935 1.935 0 0 0-2.233-.362.935.935 0 0 1-1.168-.277L1 8.82Z\"}}]})(props);\n};\nexport function BsFillCalculatorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendarCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCalendarDateFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm5.402 9.746c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-6.664-1.21c-1.11 0-1.656-.767-1.703-1.407h.683c.043.37.387.82 1.051.82.844 0 1.301-.848 1.305-2.164h-.027c-.153.414-.637.79-1.383.79-.852 0-1.676-.61-1.676-1.77 0-1.137.871-1.809 1.797-1.809 1.172 0 1.953.734 1.953 2.668 0 1.805-.742 2.871-2 2.871zm-2.89-5.435v5.332H5.77V8.079h-.012c-.29.156-.883.52-1.258.777V8.16a12.6 12.6 0 0 1 1.313-.805h.632z\"}}]})(props);\n};\nexport function BsFillCalendarDayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zm-4.785-6.145a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43c0 .238.192.425.43.425zm.336.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsFillCalendarEventFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16V4H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5ZM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2ZM8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillCalendarMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCalendarMonthFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm.104 7.305L4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM2.56 12.332h-.71L3.748 7h.696l1.898 5.332h-.719l-.539-1.602H3.1l-.54 1.602zm7.29-4.105v4.105h-.668v-.539h-.027c-.145.324-.532.605-1.188.605-.847 0-1.453-.484-1.453-1.425V8.227h.676v2.554c0 .766.441 1.012.98 1.012.59 0 1.004-.371 1.004-1.023V8.227h.676zm1.273 4.41c.075.332.422.636.985.636.648 0 1.07-.378 1.07-1.023v-.605h-.02c-.163.355-.613.648-1.171.648-.957 0-1.64-.672-1.64-1.902v-.34c0-1.207.675-1.887 1.64-1.887.558 0 1.004.293 1.195.64h.02v-.577h.648v4.03c0 1.052-.816 1.579-1.746 1.579-1.043 0-1.574-.516-1.668-1.2h.687z\"}}]})(props);\n};\nexport function BsFillCalendarPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM8.5 8.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCalendarRangeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 7V5H0v5h5a1 1 0 1 1 0 2H0v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9h-6a1 1 0 1 1 0-2h6z\"}}]})(props);\n};\nexport function BsFillCalendarWeekFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillCalendar2CheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.6 5.854a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillCalendar2DateFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.402 10.246c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-4.118 9.79c1.258 0 2-1.067 2-2.872 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684c.047.64.594 1.406 1.703 1.406zm-2.89-5.435h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675V7.354z\"}}]})(props);\n};\nexport function BsFillCalendar2DayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.24 4.855a.428.428 0 1 0 0-.855.426.426 0 0 0-.429.43c0 .238.192.425.43.425zm.337.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsFillCalendar2EventFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendar2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM2.545 3h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5v-1c0-.276.244-.5.545-.5z\"}}]})(props);\n};\nexport function BsFillCalendar2HeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5Zm-2 4v-1c0-.276.244-.5.545-.5h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5Zm6 3.493c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillCalendar2MinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM6 10a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillCalendar2MonthFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.104 7.805 4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM2.561 12.332 3.1 10.73h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zM9.85 8.227h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm1.273 4.41h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023-.563 0-.91-.304-.985-.636z\"}}]})(props);\n};\nexport function BsFillCalendar2PlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 3.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5H2.545c-.3 0-.545.224-.545.5zm6.5 5a.5.5 0 0 0-1 0V10H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V11H10a.5.5 0 0 0 0-1H8.5V8.5z\"}}]})(props);\n};\nexport function BsFillCalendar2RangeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM10 7a1 1 0 0 0 0 2h5V7h-5zm-4 4a1 1 0 0 0-1-1H1v2h4a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsFillCalendar2WeekFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM3 10.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendar2XFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-6.6 5.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsFillCalendar3EventFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsFillCalendar3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2H0zm0 1v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3H0z\"}}]})(props);\n};\nexport function BsFillCalendar3RangeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 8V3h16v2h-6a1 1 0 1 0 0 2h6v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4h6a1 1 0 1 0 0-2H0z\"}}]})(props);\n};\nexport function BsFillCalendar3WeekFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0zM5 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm5-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM2 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsFillCameraFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2zm.5 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9 2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0z\"}}]})(props);\n};\nexport function BsFillCameraReelsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7z\"}}]})(props);\n};\nexport function BsFillCameraVideoFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5z\"}}]})(props);\n};\nexport function BsFillCameraVideoOffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l6.69 9.365zm-10.114-9A2.001 2.001 0 0 0 0 5v6a2 2 0 0 0 2 2h5.728L.847 3.366zm9.746 11.925-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsFillCapslockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM4.5 13.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsFillCarFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679c.033.161.049.325.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.338c-1.292.048-2.745.088-4 .088s-2.708-.04-4-.088V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.892c-.61-.454-1-1.183-1-1.997v-.413a2.5 2.5 0 0 1 .049-.49l.335-1.68c.11-.546.465-1.012.964-1.261a.807.807 0 0 0 .381-.404l.792-1.848ZM3 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm10 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6 8a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2H6ZM2.906 5.189a.51.51 0 0 0 .497.731c.91-.073 3.35-.17 4.597-.17 1.247 0 3.688.097 4.597.17a.51.51 0 0 0 .497-.731l-.956-1.913A.5.5 0 0 0 11.691 3H4.309a.5.5 0 0 0-.447.276L2.906 5.19Z\"}}]})(props);\n};\nexport function BsFillCaretDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\"}}]})(props);\n};\nexport function BsFillCaretDownSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 4a.5.5 0 0 0-.374.832l4 4.5a.5.5 0 0 0 .748 0l4-4.5A.5.5 0 0 0 12 6H4z\"}}]})(props);\n};\nexport function BsFillCaretLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"}}]})(props);\n};\nexport function BsFillCaretLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.5 10V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4A.5.5 0 0 0 10.5 12z\"}}]})(props);\n};\nexport function BsFillCaretRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\"}}]})(props);\n};\nexport function BsFillCaretRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.5 10a.5.5 0 0 0 .832.374l4.5-4a.5.5 0 0 0 0-.748l-4.5-4A.5.5 0 0 0 5.5 4v8z\"}}]})(props);\n};\nexport function BsFillCaretUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\"}}]})(props);\n};\nexport function BsFillCaretUpSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 9h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5A.5.5 0 0 0 4 11z\"}}]})(props);\n};\nexport function BsFillCartCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-1.646-7.646-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCartDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM6.5 7h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillCartPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM9 5.5V7h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-1 0V8H6.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCartXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7.354 5.646 8.5 6.793l1.146-1.147a.5.5 0 0 1 .708.708L9.207 7.5l1.147 1.146a.5.5 0 0 1-.708.708L8.5 8.207 7.354 9.354a.5.5 0 1 1-.708-.708L7.793 7.5 6.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillCassetteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h.191l1.862-3.724A.5.5 0 0 1 4 10h8a.5.5 0 0 1 .447.276L14.31 14h.191a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13ZM4 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm8 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2ZM6 6a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2H7a1 1 0 0 1-1-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.191 14-1.5-3H4.309l-1.5 3h10.382Z\"}}]})(props);\n};\nexport function BsFillCcCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.408 5.89c.681 0 1.138.47 1.187 1.107h1.147v-.11c-.053-1.187-1.024-2-2.343-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.906 2.73 2.518 2.73 1.314 0 2.285-.792 2.343-1.939v-.114H6.595c-.049.615-.497 1.05-1.187 1.05-.84 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754Zm5.404 0c.68 0 1.138.47 1.186 1.107h1.147v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.496 1.05-1.186 1.05-.84 0-1.319-.62-1.319-1.727v-.742c0-1.112.488-1.754 1.319-1.754Z\"}}]})(props);\n};\nexport function BsFillCcSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.408 5.89c-.83 0-1.318.64-1.318 1.753v.742c0 1.108.479 1.727 1.318 1.727.69 0 1.138-.435 1.187-1.05h1.147v.114c-.058 1.147-1.029 1.938-2.343 1.938-1.612 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.319 0 2.29.812 2.343 1.999v.11H6.595c-.049-.638-.506-1.108-1.187-1.108Zm5.404 0c-.831 0-1.319.64-1.319 1.753v.742c0 1.108.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05h1.147v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.318 0 2.29.812 2.342 1.999v.11h-1.147c-.048-.638-.505-1.108-1.186-1.108Z\"}}]})(props);\n};\nexport function BsFillChatDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15z\"}}]})(props);\n};\nexport function BsFillChatHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15Zm0-9.007c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillChatLeftDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsFillChatLeftHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillChatLeftQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatLeftTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsFillChatQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM7.194 6.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 6C4.776 6 4 6.746 4 7.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 9.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 6c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatRightDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFillChatRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsFillChatRightHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2ZM8 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillChatRightQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM7.194 4.766c.087.124.163.26.227.401.428.948.393 2.377-.942 3.706a.446.446 0 0 1-.612.01.405.405 0 0 1-.011-.59c.419-.416.672-.831.809-1.22-.269.165-.588.26-.93.26C4.775 7.333 4 6.587 4 5.667 4 4.747 4.776 4 5.734 4c.271 0 .528.06.756.166l.008.004c.169.07.327.182.469.324.085.083.161.174.227.272zM11 7.073c-.269.165-.588.26-.93.26-.958 0-1.735-.746-1.735-1.666 0-.92.777-1.667 1.734-1.667.271 0 .528.06.756.166l.008.004c.17.07.327.182.469.324.085.083.161.174.227.272.087.124.164.26.228.401.428.948.392 2.377-.942 3.706a.446.446 0 0 1-.613.01.405.405 0 0 1-.011-.59c.42-.416.672-.831.81-1.22z\"}}]})(props);\n};\nexport function BsFillChatRightTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillChatSquareDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsFillChatSquareHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillChatSquareQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatSquareTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsFillChatTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}}]})(props);\n};\nexport function BsFillCheckCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"}}]})(props);\n};\nexport function BsFillCheckSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\"}}]})(props);\n};\nexport function BsFillCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"8\"}}]})(props);\n};\nexport function BsFillClipboardCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z\"}}]})(props);\n};\nexport function BsFillClipboardDataFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1ZM10 8a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V8Zm-6 4a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-3a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsFillClipboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 1.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1Zm-5 0A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5v-1Zm-2 0h1v1A2.5 2.5 0 0 0 6.5 5h3A2.5 2.5 0 0 0 12 2.5v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2Z\"}}]})(props);\n};\nexport function BsFillClipboardHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm4 5.982c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsFillClipboardMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1ZM6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsFillClipboardPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm4.5 6V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5a.5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsFillClipboardXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm4 7.793 1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708L8 9.293Z\"}}]})(props);\n};\nexport function BsFillClipboard2CheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5Zm6.769 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708Z\"}}]})(props);\n};\nexport function BsFillClipboard2DataFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM10 7a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V7Zm-6 4a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-3a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsFillClipboard2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 1h.585A1.498 1.498 0 0 0 4 1.5V2a1.5 1.5 0 0 0 1.5 1.5h5A1.5 1.5 0 0 0 12 2v-.5c0-.175-.03-.344-.085-.5h.585A1.5 1.5 0 0 1 14 2.5v12a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-12A1.5 1.5 0 0 1 3.5 1Z\"}}]})(props);\n};\nexport function BsFillClipboard2HeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.058.501a.501.501 0 0 0-.5-.501h-2.98c-.276 0-.5.225-.5.501A.499.499 0 0 1 5.582 1a.497.497 0 0 0-.497.497V2a.5.5 0 0 0 .5.5h4.968a.5.5 0 0 0 .5-.5v-.503A.497.497 0 0 0 10.555 1a.499.499 0 0 1-.497-.499Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.174 1h-.57a1.5 1.5 0 0 0-1.5 1.5v12a1.5 1.5 0 0 0 1.5 1.5h9a1.5 1.5 0 0 0 1.5-1.5v-12a1.5 1.5 0 0 0-1.5-1.5h-.642c.055.156.085.325.085.5V2c0 .828-.668 1.5-1.492 1.5H5.581A1.496 1.496 0 0 1 4.09 2v-.5c0-.175.03-.344.085-.5Zm3.894 5.482c1.656-1.673 5.795 1.254 0 5.018-5.795-3.764-1.656-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsFillClipboard2MinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM6 8h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsFillClipboard2PlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM8.5 6.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5a.5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsFillClipboard2PulseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM9.98 5.356 11.372 10h.128a.5.5 0 0 1 0 1H11a.5.5 0 0 1-.479-.356l-.94-3.135-1.092 5.096a.5.5 0 0 1-.968.039L6.383 8.85l-.936 1.873A.5.5 0 0 1 5 11h-.5a.5.5 0 0 1 0-1h.191l1.362-2.724a.5.5 0 0 1 .926.08l.94 3.135 1.092-5.096a.5.5 0 0 1 .968-.039Z\"}}]})(props);\n};\nexport function BsFillClipboard2XFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708L8 8.293Z\"}}]})(props);\n};\nexport function BsFillClockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}}]})(props);\n};\nexport function BsFillCloudArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 6.854-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCloudArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 5.146a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2z\"}}]})(props);\n};\nexport function BsFillCloudCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 4.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCloudDownloadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.5a.5.5 0 0 1 1 0V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.354 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V11h-1v3.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsFillCloudDrizzleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}}]})(props);\n};\nexport function BsFillCloudFogFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudFog2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 13h-1.5a.5.5 0 0 0 0-1H1.05a3.51 3.51 0 0 1-.713-1H9.5a.5.5 0 0 0 0-1H.035a3.53 3.53 0 0 1 0-1H7.5a.5.5 0 0 0 0-1H.337a3.5 3.5 0 0 1 3.57-1.977A5.001 5.001 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsFillCloudHailFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm1.247-6.999a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudHazeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudHaze2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 12H3.5A3.5 3.5 0 0 1 .035 9H5.5a.5.5 0 0 0 0-1H.035a3.5 3.5 0 0 1 3.871-2.977A5.001 5.001 0 0 1 8.5 2zm-6 8a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zM0 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillCloudLightningFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudLightningRainFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.105-1.25A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCloudMoonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsFillCloudPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm.5 4v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCloudRainFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudRainHeavyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11L3.112 5.112zm11.372 7.372L4.937 2.937A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711zm-.838 1.87-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsFillCloudSleetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm1.181-7.026a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSnowFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-.22-7.223a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSunFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsFillCloudUploadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.5 14.5V11h1v3.5a.5.5 0 0 1-1 0z\"}}]})(props);\n};\nexport function BsFillCloudsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 9a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 14h8.5a2.5 2.5 0 1 0-.027-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.544 9.772a3.506 3.506 0 0 0-2.225-1.676 5.502 5.502 0 0 0-6.337-4.002 4.002 4.002 0 0 1 7.392.91 2.5 2.5 0 0 1 1.17 4.769z\"}}]})(props);\n};\nexport function BsFillCloudyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 7.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 13H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCollectionFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zM2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1z\"}}]})(props);\n};\nexport function BsFillCollectionPlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm6.258-6.437a.5.5 0 0 1 .507.013l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 6 12V7a.5.5 0 0 1 .258-.437z\"}}]})(props);\n};\nexport function BsFillCompassFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8.516a7.5 7.5 0 1 1-9.462-7.24A1 1 0 0 1 7 0h2a1 1 0 0 1 .962 1.276 7.503 7.503 0 0 1 5.538 7.24zm-3.61-3.905L6.94 7.439 4.11 12.39l4.95-2.828 2.828-4.95z\"}}]})(props);\n};\nexport function BsFillCpuFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5.5a.5.5 0 0 0-1 0V2A2.5 2.5 0 0 0 2 4.5H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2A2.5 2.5 0 0 0 4.5 14v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14a2.5 2.5 0 0 0 2.5-2.5h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14A2.5 2.5 0 0 0 11.5 2V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5zm1 4.5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3A1.5 1.5 0 0 1 6.5 5z\"}}]})(props);\n};\nexport function BsFillCreditCard2BackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H0V4zm11.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zM0 11v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1H0z\"}}]})(props);\n};\nexport function BsFillCreditCard2FrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsFillCreditCardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillCupFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.11 3.187A.5.5 0 0 1 .5 3h13a.5.5 0 0 1 .488.608l-.22.991a3.001 3.001 0 0 1-1.3 5.854l-.132.59A2.5 2.5 0 0 1 9.896 13H4.104a2.5 2.5 0 0 1-2.44-1.958L.012 3.608a.5.5 0 0 1 .098-.42Zm12.574 6.288a2 2 0 0 0 .866-3.899l-.866 3.9Z\"}}]})(props);\n};\nexport function BsFillCupHotFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.5 6a.5.5 0 0 0-.488.608l1.652 7.434A2.5 2.5 0 0 0 4.104 16h5.792a2.5 2.5 0 0 0 2.44-1.958l.131-.59a3 3 0 0 0 1.3-5.854l.221-.99A.5.5 0 0 0 13.5 6H.5ZM13 12.5a2.01 2.01 0 0 1-.316-.025l.867-3.898A2.001 2.001 0 0 1 13 12.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.4.8-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 3.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 3.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 3 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 4.4.8Zm3 0-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 6.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 6.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 6 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 7.4.8Zm3 0-.003.004-.014.019a4.077 4.077 0 0 0-.204.31 2.337 2.337 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.198 3.198 0 0 1-.202.388 5.385 5.385 0 0 1-.252.382l-.019.025-.005.008-.002.002A.5.5 0 0 1 9.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 9.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 9 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 10.4.8Z\"}}]})(props);\n};\nexport function BsFillCursorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z\"}}]})(props);\n};\nexport function BsFillDashCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsFillDashSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm2.5 7.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillDatabaseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.904 1.777C4.978 1.289 6.427 1 8 1s3.022.289 4.096.777C13.125 2.245 14 2.993 14 4s-.875 1.755-1.904 2.223C11.022 6.711 9.573 7 8 7s-3.022-.289-4.096-.777C2.875 5.755 2 5.007 2 4s.875-1.755 1.904-2.223Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6.161V7c0 1.007.875 1.755 1.904 2.223C4.978 9.71 6.427 10 8 10s3.022-.289 4.096-.777C13.125 8.755 14 8.007 14 7v-.839c-.457.432-1.004.751-1.49.972C11.278 7.693 9.682 8 8 8s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9.161V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13s3.022-.289 4.096-.777C13.125 11.755 14 11.007 14 10v-.839c-.457.432-1.004.751-1.49.972-1.232.56-2.828.867-4.51.867s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.161V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16s3.022-.289 4.096-.777C13.125 14.755 14 14.007 14 13v-.839c-.457.432-1.004.751-1.49.972-1.232.56-2.828.867-4.51.867s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972Z\"}}]})(props);\n};\nexport function BsFillDeviceHddFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.785 9.896A3.001 3.001 0 0 0 8 4a3 3 0 0 0-.891 5.865c.667-.44 1.396-.91 1.955-1.268.224-.144.483.115.34.34l-.62.96ZM9 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4Zm9 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 13a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-9.5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM4 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm2.882 11.177a1.102 1.102 0 0 1-1.56-1.559c.1-.098.396-.314.795-.588a4 4 0 1 1 1.946.47c-.537.813-1.02 1.515-1.181 1.677Z\"}}]})(props);\n};\nexport function BsFillDeviceSsdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8V4h6v4H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4Zm0 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm9 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm9.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM4.75 3h6.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-.75.75h-6.5A.75.75 0 0 1 4 8.25v-4.5A.75.75 0 0 1 4.75 3ZM5 12h6a1 1 0 0 1 1 1v2h-1v-2h-.75v2h-1v-2H8.5v2h-1v-2h-.75v2h-1v-2H5v2H4v-2a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsFillDiagram2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-3 8A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1z\"}}]})(props);\n};\nexport function BsFillDiagram3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-6 8A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm6 0A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1z\"}}]})(props);\n};\nexport function BsFillDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435z\"}}]})(props);\n};\nexport function BsFillDice1Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm5 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3zm5.5 1a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm6.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsFillDice3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice4Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice5Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice6Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDiscFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-6 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 8a4 4 0 0 1 4-4 .5.5 0 0 0 0-1 5 5 0 0 0-5 5 .5.5 0 0 0 1 0zm9 0a.5.5 0 1 0-1 0 4 4 0 0 1-4 4 .5.5 0 0 0 0 1 5 5 0 0 0 5-5z\"}}]})(props);\n};\nexport function BsFillDisplayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0 .667-.083 1.167-.25 1.5H5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.75c-.167-.333-.25-.833-.25-1.5h4c2 0 2-2 2-2V4c0-2-2-2-2-2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h4z\"}}]})(props);\n};\nexport function BsFillDisplayportFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5a1 1 0 0 0-1 1v3.191a1 1 0 0 0 .553.894l1.618.81a1 1 0 0 0 .447.105H15a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H1Zm1.5 2h11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8H3v.5a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillDoorClosedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2a1 1 0 0 1 1-1h8zm-2 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillDoorOpenFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15H1.5zM11 2h.5a.5.5 0 0 1 .5.5V15h-1V2zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}}]})(props);\n};\nexport function BsFillDpadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v3a.5.5 0 0 1-.5.5h-3A1.5 1.5 0 0 0 0 6.5v3A1.5 1.5 0 0 0 1.5 11h3a.5.5 0 0 1 .5.5v3A1.5 1.5 0 0 0 6.5 16h3a1.5 1.5 0 0 0 1.5-1.5v-3a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 0 16 9.5v-3A1.5 1.5 0 0 0 14.5 5h-3a.5.5 0 0 1-.5-.5v-3A1.5 1.5 0 0 0 9.5 0h-3Zm1.288 2.34a.25.25 0 0 1 .424 0l.799 1.278A.25.25 0 0 1 8.799 4H7.201a.25.25 0 0 1-.212-.382l.799-1.279Zm0 11.32-.799-1.277A.25.25 0 0 1 7.201 12H8.8a.25.25 0 0 1 .212.383l-.799 1.278a.25.25 0 0 1-.424 0Zm-4.17-4.65-1.279-.798a.25.25 0 0 1 0-.424l1.279-.799A.25.25 0 0 1 4 7.201V8.8a.25.25 0 0 1-.382.212Zm10.043-.798-1.278.799A.25.25 0 0 1 12 8.799V7.2a.25.25 0 0 1 .383-.212l1.278.799a.25.25 0 0 1 0 .424Z\"}}]})(props);\n};\nexport function BsFillDropletFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a6 6 0 0 0 6-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 0 0 6 6ZM6.646 4.646l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448c.82-1.641 1.717-2.753 2.093-3.13Z\"}}]})(props);\n};\nexport function BsFillDuffleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.007 4.097c.008-.097.016-.197.027-.298.05-.464.141-.979.313-1.45.169-.465.432-.933.853-1.249 1.115-.836 2.485-.836 3.6 0 .42.316.684.784.853 1.25.171.47.263.985.313 1.449.01.1.02.2.027.298 1.401.194 2.65.531 3.525 1.012 2.126 1.169 1.446 6.095 1.089 8.018a.954.954 0 0 1-.95.772H1.343a.954.954 0 0 1-.95-.772c-.357-1.923-1.037-6.85 1.09-8.018.873-.48 2.123-.818 3.524-1.012ZM4.05 5.633a21.876 21.876 0 0 0-1.565.352l-.091.026-.034.01a.5.5 0 0 0 .282.959l.005-.002.02-.005.08-.023a20.874 20.874 0 0 1 1.486-.334A20.942 20.942 0 0 1 8 6.25c1.439 0 2.781.183 3.767.367a20.854 20.854 0 0 1 1.567.356l.02.005.004.001a.5.5 0 0 0 .283-.959h-.003l-.006-.002-.025-.007a14.787 14.787 0 0 0-.43-.113 21.87 21.87 0 0 0-1.226-.265A21.939 21.939 0 0 0 8 5.25c-1.518 0-2.926.192-3.95.383ZM6.8 1.9c-.203.153-.377.42-.513.791a5.258 5.258 0 0 0-.265 1.292 34.54 34.54 0 0 1 1.374-.076c.866-.022 1.742.003 2.584.076a5.258 5.258 0 0 0-.266-1.292c-.135-.372-.309-.638-.513-.791-.76-.57-1.64-.57-2.4 0Z\"}}]})(props);\n};\nexport function BsFillEarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 0A5.5 5.5 0 0 0 3 5.5v7.047a3.453 3.453 0 0 0 6.687 1.212l.51-1.363a4.59 4.59 0 0 1 .67-1.197l2.008-2.581A5.34 5.34 0 0 0 8.66 0H8.5ZM7 5.5v2.695c.112-.06.223-.123.332-.192.327-.208.577-.44.72-.727a.5.5 0 1 1 .895.448c-.256.513-.673.865-1.079 1.123A8.538 8.538 0 0 1 7 9.313V11.5a.5.5 0 0 1-1 0v-6a2.5 2.5 0 0 1 5 0V6a.5.5 0 0 1-1 0v-.5a1.5 1.5 0 1 0-3 0Z\"}}]})(props);\n};\nexport function BsFillEaselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.473.337a.5.5 0 0 0-.946 0L6.954 2H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1.85l-1.323 3.837a.5.5 0 1 0 .946.326L4.908 11H7.5v2.5a.5.5 0 0 0 1 0V11h2.592l1.435 4.163a.5.5 0 0 0 .946-.326L12.15 11H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9.046L8.473.337z\"}}]})(props);\n};\nexport function BsFillEasel2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.447.276a.5.5 0 0 0-.894 0L7.19 1H2.5A1.5 1.5 0 0 0 1 2.5V10h14V2.5A1.5 1.5 0 0 0 13.5 1H8.809L8.447.276Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.5 11a.5.5 0 0 0 0 1h2.86l-.845 3.379a.5.5 0 0 0 .97.242L3.89 14h8.22l.405 1.621a.5.5 0 0 0 .97-.242L12.64 12h2.86a.5.5 0 0 0 0-1H.5Zm3.64 2 .25-1h7.22l.25 1H4.14Z\"}}]})(props);\n};\nexport function BsFillEasel3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 12v1.134a1 1 0 1 1-1 0V12h-5A1.5 1.5 0 0 1 1 10.5V3h14v7.5a1.5 1.5 0 0 1-1.5 1.5h-5Zm7-10a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1h15Z\"}}]})(props);\n};\nexport function BsFillEggFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a6 6 0 0 1-12 0C2 5.686 5 0 8 0s6 5.686 6 10z\"}}]})(props);\n};\nexport function BsFillEjectFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsFillEmojiAngryFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.053 4.276a.5.5 0 0 1 .67-.223l2 1a.5.5 0 0 1 .166.76c.071.206.111.44.111.687C7 7.328 6.552 8 6 8s-1-.672-1-1.5c0-.408.109-.778.285-1.049l-1.009-.504a.5.5 0 0 1-.223-.67zm.232 8.157a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 1 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5 0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5z\"}}]})(props);\n};\nexport function BsFillEmojiAstonishedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-4.884-3.978a2.092 2.092 0 0 1 .53.332.5.5 0 0 0 .708-.708h-.001v-.001a1.885 1.885 0 0 0-.237-.197 3.087 3.087 0 0 0-.606-.345 2.996 2.996 0 0 0-2.168-.077.5.5 0 1 0 .316.948 1.997 1.997 0 0 1 1.458.048Zm-4.774-.048a.5.5 0 0 0 .316-.948 2.996 2.996 0 0 0-2.167.077 3.091 3.091 0 0 0-.773.478c-.024.02-.047.042-.07.064l-.002.001a.5.5 0 1 0 .728.689 2.09 2.09 0 0 1 .51-.313 2 2 0 0 1 1.458-.048ZM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5Zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 8 10 8s1-.672 1-1.5Zm-5.247 4.746c-.383.478.08 1.06.687.98 1.04-.135 2.08-.135 3.12 0 .606.08 1.07-.502.687-.98C9.747 10.623 8.998 10 8 10c-.998 0-1.747.623-2.247 1.246Z\"}}]})(props);\n};\nexport function BsFillEmojiDizzyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM8 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BsFillEmojiExpressionlessFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm5 0h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm-5 4h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillEmojiFrownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-2.715 5.933a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 0 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiGrimaceFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7 6.25C7 5.56 6.552 5 6 5s-1 .56-1 1.25.448 1.25 1 1.25 1-.56 1-1.25Zm3 1.25c.552 0 1-.56 1-1.25S10.552 5 10 5s-1 .56-1 1.25.448 1.25 1 1.25Zm1.5 4.5a1.5 1.5 0 0 0 1.48-1.25v-.003a1.512 1.512 0 0 0 0-.497A1.5 1.5 0 0 0 11.5 9h-7a1.5 1.5 0 0 0-1.48 1.25v.003a1.51 1.51 0 0 0 0 .497A1.5 1.5 0 0 0 4.5 12h7Zm-7.969-1.25a1 1 0 0 0 .969.75h.25v-.75H3.531Zm8.938 0a1 1 0 0 1-.969.75h-.25v-.75h1.219ZM11.5 9.5a1 1 0 0 1 .969.75H11.25V9.5h.25Zm-7.969.75A1 1 0 0 1 4.5 9.5h.25v.75H3.531ZM5.25 11.5h1v-.75h-1v.75Zm2.5 0h-1v-.75h1v.75Zm1.5 0h-1v-.75h1v.75Zm1.5 0h-1v-.75h1v.75Zm-1-2h1v.75h-1V9.5Zm-1.5 0h1v.75h-1V9.5Zm-1.5 0h1v.75h-1V9.5Zm-1.5 0h1v.75h-1V9.5Z\"}}]})(props);\n};\nexport function BsFillEmojiGrinFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM6.488 7c-.23-.598-.661-1-1.155-1-.493 0-.924.402-1.155 1A2.794 2.794 0 0 1 4 6c0-1.105.597-2 1.333-2 .737 0 1.334.895 1.334 2 0 .364-.065.706-.179 1Zm5.334 0c-.23-.598-.662-1-1.155-1-.494 0-.925.402-1.155 1a2.793 2.793 0 0 1-.179-1c0-1.105.597-2 1.334-2C11.403 4 12 4.895 12 6c0 .364-.065.706-.178 1ZM2.696 8.756a.48.48 0 0 1 .382-.118C4.348 8.786 6.448 9 8 9c1.553 0 3.653-.214 4.922-.362a.48.48 0 0 1 .383.118.3.3 0 0 1 .096.29c-.09.47-.242.921-.445 1.342-.263.035-.576.075-.929.115A36.798 36.798 0 0 1 8 10.75c-1.475 0-2.934-.123-4.027-.247-.353-.04-.666-.08-.93-.115A5.457 5.457 0 0 1 2.6 9.045a.3.3 0 0 1 .097-.29ZM8 13.5a5.49 5.49 0 0 1-4.256-2.017l.116.014c1.115.126 2.615.253 4.14.253 1.525 0 3.025-.127 4.14-.253l.117-.014A5.49 5.49 0 0 1 8 13.5Z\"}}]})(props);\n};\nexport function BsFillEmojiHeartEyesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.559 5.448a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zm-.07-5.448c1.397-.864 3.543 1.838-.953 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsFillEmojiKissFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a8 8 0 1 0-2.697 5.99c-.972-.665-1.632-1.356-1.99-2.062-.388-.766-.419-1.561-.075-2.23.496-.97 1.73-1.466 2.762-1.05.65-.262 1.38-.162 1.957.19.028-.275.043-.555.043-.838ZM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5Zm1.512 3.647c-.347.08-.737.198-1.107.319a.5.5 0 1 1-.31-.95c.38-.125.802-.254 1.192-.343.37-.086.78-.153 1.103-.108.16.022.394.085.561.286.188.226.187.497.131.705a1.894 1.894 0 0 1-.31.593c-.077.107-.168.22-.275.343.107.124.199.24.276.347.142.197.256.397.31.595.055.208.056.479-.132.706-.168.2-.404.262-.563.284-.323.043-.733-.027-1.102-.113a14.87 14.87 0 0 1-1.191-.345.5.5 0 1 1 .31-.95c.371.12.761.24 1.109.321.176.041.325.069.446.084a5.609 5.609 0 0 0-.502-.584.5.5 0 0 1 .002-.695 5.52 5.52 0 0 0 .5-.577 4.465 4.465 0 0 0-.448.082Zm.766-.086-.006-.002c.004 0 .006.002.006.002Zm.002 1.867h-.001l-.005.001a.038.038 0 0 1 .006-.002Zm.157-4.685a.5.5 0 0 1-.874-.486A1.934 1.934 0 0 1 10.25 5.75c.73 0 1.356.412 1.687 1.007a.5.5 0 1 1-.874.486.934.934 0 0 0-.813-.493.934.934 0 0 0-.813.493ZM14 9.828c1.11-1.14 3.884.856 0 3.422-3.884-2.566-1.11-4.562 0-3.421Z\"}}]})(props);\n};\nexport function BsFillEmojiLaughingFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5c0 .501-.164.396-.415.235C6.42 6.629 6.218 6.5 6 6.5c-.218 0-.42.13-.585.235C5.164 6.896 5 7 5 6.5 5 5.672 5.448 5 6 5s1 .672 1 1.5zm5.331 3a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zm-1.746-2.765C10.42 6.629 10.218 6.5 10 6.5c-.218 0-.42.13-.585.235C9.164 6.896 9 7 9 6.5c0-.828.448-1.5 1-1.5s1 .672 1 1.5c0 .501-.164.396-.415.235z\"}}]})(props);\n};\nexport function BsFillEmojiNeutralFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-3 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSmileFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zM4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSmileUpsideDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zM4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM10 8c-.552 0-1 .672-1 1.5s.448 1.5 1 1.5 1-.672 1-1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSunglassesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM2.31 5.243A1 1 0 0 1 3.28 4H6a1 1 0 0 1 1 1v.116A4.22 4.22 0 0 1 8 5c.35 0 .69.04 1 .116V5a1 1 0 0 1 1-1h2.72a1 1 0 0 1 .97 1.243l-.311 1.242A2 2 0 0 1 11.439 8H11a2 2 0 0 1-1.994-1.839A2.99 2.99 0 0 0 8 6c-.393 0-.74.064-1.006.161A2 2 0 0 1 5 8h-.438a2 2 0 0 1-1.94-1.515L2.31 5.243zM4.969 9.75A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .866-.5z\"}}]})(props);\n};\nexport function BsFillEmojiSurpriseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7 5.5C7 4.672 6.552 4 6 4s-1 .672-1 1.5S5.448 7 6 7s1-.672 1-1.5Zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 7 10 7s1-.672 1-1.5ZM8 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}}]})(props);\n};\nexport function BsFillEmojiTearFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.5 3.5a.5.5 0 0 0 .5.5c.838 0 1.65.416 2.053 1.224a.5.5 0 1 0 .894-.448C12.351 3.584 11.162 3 10 3a.5.5 0 0 0-.5.5ZM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5ZM4.5 13c.828 0 1.5-.746 1.5-1.667 0-.706-.882-2.29-1.294-2.99a.238.238 0 0 0-.412 0C3.882 9.044 3 10.628 3 11.334 3 12.253 3.672 13 4.5 13ZM8 11.197c.916 0 1.607.408 2.25.826.212.138.424-.069.282-.277-.564-.83-1.558-2.049-2.532-2.049-.53 0-1.066.361-1.536.824.083.179.162.36.232.535.045.115.092.241.135.373A3.1 3.1 0 0 1 8 11.197ZM10 8c.552 0 1-.672 1-1.5S10.552 5 10 5s-1 .672-1 1.5S9.448 8 10 8ZM6.5 3c-1.162 0-2.35.584-2.947 1.776a.5.5 0 1 0 .894.448C4.851 4.416 5.662 4 6.5 4a.5.5 0 0 0 0-1Z\"}}]})(props);\n};\nexport function BsFillEmojiWinkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zM4.285 9.567a.5.5 0 0 0-.183.683A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75.5.5 0 0 0-.683-.183zm5.152-3.31a.5.5 0 0 0-.874.486c.33.595.958 1.007 1.687 1.007.73 0 1.356-.412 1.687-1.007a.5.5 0 0 0-.874-.486.934.934 0 0 1-.813.493.934.934 0 0 1-.813-.493z\"}}]})(props);\n};\nexport function BsFillEnvelopeArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697Zm.192 8.159 6.57-4.027L8 9.586l1.239-.757.367.225A4.49 4.49 0 0 0 8 12.5c0 .526.09 1.03.256 1.5H2a2 2 0 0 1-1.808-1.144ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-1.646a.5.5 0 0 1-.722-.016l-1.149-1.25a.5.5 0 1 1 .737-.676l.28.305V11a.5.5 0 0 1 1 0v1.793l.396-.397a.5.5 0 0 1 .708.708l-1.25 1.25Z\"}}]})(props);\n};\nexport function BsFillEnvelopeArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697Zm.192 8.159 6.57-4.027L8 9.586l1.239-.757.367.225A4.49 4.49 0 0 0 8 12.5c0 .526.09 1.03.256 1.5H2a2 2 0 0 1-1.808-1.144ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.354 1.25 1.25a.5.5 0 0 1-.708.708L13 12.207V14a.5.5 0 0 1-1 0v-1.717l-.28.305a.5.5 0 0 1-.737-.676l1.149-1.25a.5.5 0 0 1 .722-.016Z\"}}]})(props);\n};\nexport function BsFillEnvelopeAtFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2A2 2 0 0 0 .05 3.555L8 8.414l7.95-4.859A2 2 0 0 0 14 2H2Zm-2 9.8V4.698l5.803 3.546L0 11.801Zm6.761-2.97-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 9.671V4.697l-5.803 3.546.338.208A4.482 4.482 0 0 1 12.5 8c1.414 0 2.675.652 3.5 1.671Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.834 12.244c0 1.168-.577 2.025-1.587 2.025-.503 0-1.002-.228-1.12-.648h-.043c-.118.416-.543.643-1.015.643-.77 0-1.259-.542-1.259-1.434v-.529c0-.844.481-1.4 1.26-1.4.585 0 .87.333.953.63h.03v-.568h.905v2.19c0 .272.18.42.411.42.315 0 .639-.415.639-1.39v-.118c0-1.277-.95-2.326-2.484-2.326h-.04c-1.582 0-2.64 1.067-2.64 2.724v.157c0 1.867 1.237 2.654 2.57 2.654h.045c.507 0 .935-.07 1.18-.18v.731c-.219.1-.643.175-1.237.175h-.044C10.438 16 9 14.82 9 12.646v-.214C9 10.36 10.421 9 12.485 9h.035c2.12 0 3.314 1.43 3.314 3.034v.21Zm-4.04.21v.227c0 .586.227.8.581.8.31 0 .564-.17.564-.743v-.367c0-.516-.275-.708-.572-.708-.346 0-.573.245-.573.791Z\"}}]})(props);\n};\nexport function BsFillEnvelopeCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1.993-1.679a.5.5 0 0 0-.686.172l-1.17 1.95-.547-.547a.5.5 0 0 0-.708.708l.774.773a.75.75 0 0 0 1.174-.144l1.335-2.226a.5.5 0 0 0-.172-.686Z\"}}]})(props);\n};\nexport function BsFillEnvelopeDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsFillEnvelopeExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1.5a.5.5 0 0 1-1 0V11a.5.5 0 0 1 1 0Zm0 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsFillEnvelopeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z\"}}]})(props);\n};\nexport function BsFillEnvelopeHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555l-4.2 2.568a2.785 2.785 0 0 0-.051-.105c-.666-1.3-2.363-1.917-3.699-1.25-1.336-.667-3.033-.05-3.699 1.25l-.05.105L.05 3.555ZM11.584 8.91a4.694 4.694 0 0 1-.073.139L16 11.8V4.697l-4.003 2.447c.027.562-.107 1.163-.413 1.767Zm-4.135 3.05c-1.048-.693-1.84-1.39-2.398-2.082L.19 12.856A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144L10.95 9.878c-.559.692-1.35 1.389-2.398 2.081L8 12.324l-.551-.365ZM4.416 8.91c-.306-.603-.44-1.204-.413-1.766L0 4.697v7.104l4.49-2.752a4.742 4.742 0 0 1-.074-.138Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillEnvelopeOpenFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.314l6.709 3.932L8 8.928l1.291.718L16 5.714V5.4a2 2 0 0 0-1.059-1.765l-6-3.2ZM16 6.873l-5.693 3.337L16 13.372v-6.5Zm-.059 7.611L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516ZM0 13.373l5.693-3.163L0 6.873v6.5Z\"}}]})(props);\n};\nexport function BsFillEnvelopeOpenHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.313l4.222 2.475c.024-.058.05-.114.08-.17.665-1.3 2.362-1.917 3.698-1.25 1.336-.667 3.033-.05 3.699 1.25a3.3 3.3 0 0 1 .08.17L16 5.713V5.4a2 2 0 0 0-1.059-1.765l-6-3.2ZM0 6.873l4 2.344c-.012.542.124 1.117.416 1.694l.004.006L0 13.372v-6.5Zm.059 7.611 4.9-2.723c.563.73 1.383 1.467 2.49 2.198l.551.365.551-.365c1.107-.73 1.927-1.467 2.49-2.198l4.9 2.723A2 2 0 0 1 14 16H2a2 2 0 0 1-1.941-1.516ZM16 13.372l-4.42-2.455.004-.006c.292-.577.428-1.152.415-1.694L16 6.873v6.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsFillEnvelopePaperFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 9.5 3 7.5v-6A1.5 1.5 0 0 1 4.5 0h7A1.5 1.5 0 0 1 13 1.5v6l-3.5 2L8 8.75l-1.5.75ZM1.059 3.635 2 3.133v3.753L0 5.713V5.4a2 2 0 0 1 1.059-1.765ZM16 5.713l-2 1.173V3.133l.941.502A2 2 0 0 1 16 5.4v.313Zm0 1.16-5.693 3.337L16 13.372v-6.5Zm-8 3.199 7.941 4.412A2 2 0 0 1 14 16H2a2 2 0 0 1-1.941-1.516L8 10.072Zm-8 3.3 5.693-3.162L0 6.873v6.5Z\"}}]})(props);\n};\nexport function BsFillEnvelopePaperHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m3 7.5 3.5 2L8 8.75l1.5.75 3.5-2v-6A1.5 1.5 0 0 0 11.5 0h-7A1.5 1.5 0 0 0 3 1.5v6ZM2 3.133l-.941.502A2 2 0 0 0 0 5.4v.313l2 1.173V3.133Zm12 3.753 2-1.173V5.4a2 2 0 0 0-1.059-1.765L14 3.133v3.753Zm-3.693 3.324L16 6.873v6.5l-5.693-3.163Zm5.634 4.274L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516ZM5.693 10.21 0 13.372v-6.5l5.693 3.338ZM8 1.982C9.664.309 13.825 3.236 8 7 2.175 3.236 6.336.31 8 1.982Z\"}}]})(props);\n};\nexport function BsFillEnvelopePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsFillEnvelopeSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.975 10.025a3.5 3.5 0 1 0-4.95 4.95 3.5 3.5 0 0 0 4.95-4.95Zm-4.243.707a2.501 2.501 0 0 1 3.147-.318l-3.465 3.465a2.501 2.501 0 0 1 .318-3.147Zm.39 3.854 3.464-3.465a2.501 2.501 0 0 1-3.465 3.465Z\"}}]})(props);\n};\nexport function BsFillEnvelopeXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsFillEraserFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsFillEvFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679c.033.161.049.325.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.338c-1.292.048-2.745.088-4 .088s-2.708-.04-4-.088V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.892c-.61-.454-1-1.183-1-1.997v-.413a2.5 2.5 0 0 1 .049-.49l.335-1.68c.11-.546.465-1.012.964-1.261a.807.807 0 0 0 .381-.404l.792-1.848Zm6.75.51a.186.186 0 0 0-.23.034L6.05 7.246a.188.188 0 0 0 .137.316h1.241l-.673 2.195a.188.188 0 0 0 .085.218c.075.043.17.03.23-.034l2.88-3.187a.188.188 0 0 0-.137-.316H8.572l.782-2.195a.188.188 0 0 0-.085-.218Z\"}}]})(props);\n};\nexport function BsFillEvStationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V9c0-.258-.104-.377-.357-.635l-.007-.008C13.379 8.096 13 7.71 13 7V4a.5.5 0 0 1 .146-.354l.5-.5a.5.5 0 0 1 .708 0l.5.5A.5.5 0 0 1 15 4v8.5a1.5 1.5 0 1 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm2 .5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5Zm2.631 9.96H4.14v-.893h1.403v-.505H4.14v-.855h1.49v-.54H3.485V13h2.146v-.54Zm1.316.54h.794l1.106-3.333h-.733l-.74 2.615h-.031l-.747-2.615h-.764L6.947 13Z\"}}]})(props);\n};\nexport function BsFillExclamationCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationTriangleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExplicitFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A2.5 2.5 0 0 0 0 2.5v11A2.5 2.5 0 0 0 2.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-11A2.5 2.5 0 0 0 13.5 0h-11Zm4.326 10.88H10.5V12h-5V4.002h5v1.12H6.826V7.4h3.457v1.073H6.826v2.408Z\"}}]})(props);\n};\nexport function BsFillEyeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsFillEyeSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsFillFastForwardBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2Zm4.271 1.055a.5.5 0 0 1 .52.038L8 7.386V5.5a.5.5 0 0 1 .79-.407l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 8 10.5V8.614l-3.21 2.293A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .271-.445Z\"}}]})(props);\n};\nexport function BsFillFastForwardCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM4.79 5.093 8 7.386V5.5a.5.5 0 0 1 .79-.407l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 8 10.5V8.614l-3.21 2.293A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .79-.407Z\"}}]})(props);\n};\nexport function BsFillFastForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.596 7.304a.802.802 0 0 1 0 1.392l-6.363 3.692C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.596 7.304a.802.802 0 0 1 0 1.392l-6.363 3.692C8.713 12.69 8 12.345 8 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692Z\"}}]})(props);\n};\nexport function BsFillFileArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFillFileArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.5 6.707 6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707z\"}}]})(props);\n};\nexport function BsFillFileBarGraphFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 11.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFillFileBinaryFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 9.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.56-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.05 10.885c0 1.415-.548 2.206-1.524 2.206C4.548 13.09 4 12.3 4 10.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V13h-3v-.595h1.181V9.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFillFileBreakFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v7H2V2a2 2 0 0 1 2-2zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFillFileCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1.146 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillFileCodeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileDiffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5a.5.5 0 0 1 1 0zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-1 4v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 11.293V7.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.354 9.854a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 8.707V12.5a.5.5 0 0 1-1 0V8.707L6.354 9.854z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBarGraphFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm.5 10v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBinaryFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 10.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-2.45 8.385c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBreakFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V9H2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm1.354 4.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkCodeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.646 7.646a.5.5 0 1 1 .708.708L5.707 10l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 10 8.646 8.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkDiffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8 6a.5.5 0 0 1 .5.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5A.5.5 0 0 1 8 6zm-2.5 6.5A.5.5 0 0 1 6 12h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkEaselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 6h2A1.5 1.5 0 0 1 12 7.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 11H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 11H5.5A1.5 1.5 0 0 1 4 9.5v-2A1.5 1.5 0 0 1 5.5 6h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkExcelFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.884 6.68 8 9.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 10l2.233 2.68a.5.5 0 0 1-.768.64L8 10.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 10 5.116 7.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFillFileEarmarkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3z\"}}]})(props);\n};\nexport function BsFillFileEarmarkFontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.057 6h5.886L11 8h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v5.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V6.755l-.293.01C5.856 6.808 5.68 6.905 5.5 8H5l.057-2z\"}}]})(props);\n};\nexport function BsFillFileEarmarkImageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707v5.586l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zm-1.498 4a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFillFileEarmarkLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7zM6 9.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 9h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 12h-3a.637.637 0 0 1-.395-.125C6.02 11.807 6 11.742 6 11.7V9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkLock2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMedicalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-3 2v.634l.549-.317a.5.5 0 1 1 .5.866L7 7l.549.317a.5.5 0 1 1-.5.866L6.5 7.866V8.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L5 7l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V5.5a.5.5 0 1 1 1 0zm-2 4.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 8.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMusicFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 6.64v1.75l-2 .5v3.61c0 .495-.301.883-.662 1.123C7.974 13.866 7.499 14 7 14c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 11.134 6.501 11 7 11c.356 0 .7.068 1 .196V6.89a1 1 0 0 1 .757-.97l1-.25A1 1 0 0 1 11 6.64z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPdfFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 12.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.148 21.148 0 0 0 .5-1.05 12.045 12.045 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.881 3.881 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 6.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM4.165 13.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.651 11.651 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.697 19.697 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPersonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm2 5.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.245S4 12 8 12s5 1.755 5 1.755z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 6.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V6.884z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 7v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPostFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1 0-1zm0 3h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPptFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFillFileEarmarkRichtextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM7 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V9.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V9s1.54-1.274 1.639-1.208zM5 11h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkRuledFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1H6v2h7v1H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFillFileEarmarkSlidesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5 6h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 11h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V11h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 6z\"}}]})(props);\n};\nexport function BsFillFileEarmarkSpreadsheetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v-2h3v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1h-3v2h3v1h-3v2H9v-2H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFillFileEarmarkTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM4.5 9a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4z\"}}]})(props);\n};\nexport function BsFillFileEarmarkWordFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFillFileEarmarkXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.854 7.146 8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkZipFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.438V8.5h1v.938a1 1 0 0 0 .03.243l.4 1.598-.93.62-.93-.62.4-1.598a1 1 0 0 0 .03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-4-.5V2h-1V1H6v1h1v1H6v1h1v1H6v1h1v1H5.5V6h-1V5h1V4h-1V3h1zm0 4.5h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V8.5a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillFileEaselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 5h2A1.5 1.5 0 0 1 12 6.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 10H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 10H5.5A1.5 1.5 0 0 1 4 8.5v-2A1.5 1.5 0 0 1 5.5 5h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileExcelFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.884 4.68 8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFillFileFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z\"}}]})(props);\n};\nexport function BsFillFileFontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.057 4h5.886L11 6h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v6.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V4.755l-.293.01C5.856 4.808 5.68 4.905 5.5 6H5l.057-2z\"}}]})(props);\n};\nexport function BsFillFileImageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v8.293l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm4.002 5.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFillFileLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6zM6 8.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileLock2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileMedicalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5a.5.5 0 1 1 1 0zM5.5 9h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileMusicFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-.5 4.11v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3a1 1 0 0 1 1.196.98z\"}}]})(props);\n};\nexport function BsFillFilePdfFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 10.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.035 21.035 0 0 0 .5-1.05 11.96 11.96 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.888 3.888 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 4.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.64 11.64 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.707 19.707 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFillFilePersonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z\"}}]})(props);\n};\nexport function BsFillFilePlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V5.884z\"}}]})(props);\n};\nexport function BsFillFilePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFilePostFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM4.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillFilePptFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 8.5H7V5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm3 4a1 1 0 0 0-1 1v6.5a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFillFileRichtextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileRuledFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7H6v2h8V7zm0 3H6v2h8v-2zm0 3H6v3h6a2 2 0 0 0 2-2v-1zm-9 3v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2z\"}}]})(props);\n};\nexport function BsFillFileSlidesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 9h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V9h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 4z\"}}]})(props);\n};\nexport function BsFillFileSpreadsheetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7h-4v2h4V7zm0 3h-4v2h4v-2zm0 3h-4v3h2a2 2 0 0 0 2-2v-1zm-5 3v-3H6v3h3zm-4 0v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2zm4 0V7h3v2H6zm0 1h3v2H6v-2z\"}}]})(props);\n};\nexport function BsFillFileTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileWordFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.485 4.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFillFileXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.854 6.146 8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileZipFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 9.438V8.5h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm2.5 8.5v.938l-.4 1.599a1 1 0 0 0 .416 1.074l.93.62a1 1 0 0 0 1.109 0l.93-.62a1 1 0 0 0 .415-1.074l-.4-1.599V8.5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm1-5.5h-1v1h1v1h-1v1h1v1H9V6H8V5h1V4H8V3h1V2H8V1H6.5v1h1v1z\"}}]})(props);\n};\nexport function BsFillFilterCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM3.5 5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zM5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFilterSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm.5 5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1zM4 8.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFlagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001\"}}]})(props);\n};\nexport function BsFillFloppyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0H3v5.5A1.5 1.5 0 0 0 4.5 7h7A1.5 1.5 0 0 0 13 5.5V0h.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5H14v-5.5A1.5 1.5 0 0 0 12.5 9h-9A1.5 1.5 0 0 0 2 10.5V16h-.5A1.5 1.5 0 0 1 0 14.5v-13Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h10v-5.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V16Zm9-16H4v5.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V0ZM9 1h2v4H9V1Z\"}}]})(props);\n};\nexport function BsFillFloppy2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-2v3h2V2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v13A1.5 1.5 0 0 0 1.5 16h13a1.5 1.5 0 0 0 1.5-1.5V2.914a1.5 1.5 0 0 0-.44-1.06L14.147.439A1.5 1.5 0 0 0 13.086 0H1.5ZM4 6a1 1 0 0 1-1-1V1h10v4a1 1 0 0 1-1 1H4ZM3 9h10a1 1 0 0 1 1 1v5H2v-5a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsFillFolderFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3zm-8.322.12C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139z\"}}]})(props);\n};\nexport function BsFillFolderSymlinkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2l.04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3zM2.19 3c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293L7.586 3H2.19zm9.608 5.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}}]})(props);\n};\nexport function BsFillForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.77 12.11 4.012-2.953a.647.647 0 0 0 0-1.114L9.771 5.09a.644.644 0 0 0-.971.557V6.65H2v3.9h6.8v1.003c0 .505.545.808.97.557z\"}}]})(props);\n};\nexport function BsFillFuelPumpDieselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.974 9.806h.692c.306 0 .556.063.75.19.198.127.343.317.437.568.096.252.144.565.144.941 0 .284-.027.53-.083.74-.053.21-.133.386-.241.528a.986.986 0 0 1-.412.315 1.575 1.575 0 0 1-.595.103h-.692V9.806Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V8h-.5a.5.5 0 0 1-.5-.5V4.375a.5.5 0 0 1 .5-.5h1.495c-.011-.476-.053-.894-.201-1.222a.97.97 0 0 0-.394-.458c-.184-.11-.464-.195-.9-.195a.5.5 0 0 1 0-1c.564 0 1.034.11 1.412.336.383.228.634.551.794.907.295.655.294 1.465.294 2.081V7.5a.5.5 0 0 1-.5.5H15v4.5a1.5 1.5 0 0 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm2 .5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5ZM4 9v5h1.796c.496 0 .906-.099 1.23-.297.327-.197.571-.484.732-.86.161-.377.242-.828.242-1.356 0-.525-.08-.973-.242-1.344a1.775 1.775 0 0 0-.725-.85C6.71 9.098 6.296 9 5.796 9H4Z\"}}]})(props);\n};\nexport function BsFillFuelPumpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V8h-.5a.5.5 0 0 1-.5-.5V4.375a.5.5 0 0 1 .5-.5h1.495c-.011-.476-.053-.894-.201-1.222a.97.97 0 0 0-.394-.458c-.184-.11-.464-.195-.9-.195a.5.5 0 0 1 0-1c.564 0 1.034.11 1.412.336.383.228.634.551.794.907.295.655.294 1.465.294 2.081V7.5a.5.5 0 0 1-.5.5H15v4.5a1.5 1.5 0 0 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm2.5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\"}}]})(props);\n};\nexport function BsFillFunnelFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2z\"}}]})(props);\n};\nexport function BsFillGearFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\"}}]})(props);\n};\nexport function BsFillGeoAltFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillGeoFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsFillGiftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zm6 4v7.5a1.5 1.5 0 0 1-1.5 1.5H9V7h6zM2.5 16A1.5 1.5 0 0 1 1 14.5V7h6v9H2.5z\"}}]})(props);\n};\nexport function BsFillGrid1X2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm0 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-5z\"}}]})(props);\n};\nexport function BsFillGrid3X2GapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zM1 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9z\"}}]})(props);\n};\nexport function BsFillGrid3X3GapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2z\"}}]})(props);\n};\nexport function BsFillGridFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z\"}}]})(props);\n};\nexport function BsFillHCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5-3.998H9.67v3.322H6.33V4.002H5V12h1.33V8.455h3.34V12H11V4.002Z\"}}]})(props);\n};\nexport function BsFillHSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm9 4.002V12H9.67V8.455H6.33V12H5V4.002h1.33v3.322h3.34V4.002H11Z\"}}]})(props);\n};\nexport function BsFillHandIndexFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002z\"}}]})(props);\n};\nexport function BsFillHandIndexThumbFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.75v2.716l.047-.002c.312-.012.742-.016 1.051.046.28.056.543.18.738.288.273.152.456.385.56.642l.132-.012c.312-.024.794-.038 1.158.108.37.148.689.487.88.716.075.09.141.175.195.248h.582a2 2 0 0 1 1.99 2.199l-.272 2.715a3.5 3.5 0 0 1-.444 1.389l-1.395 2.441A1.5 1.5 0 0 1 12.42 16H6.118a1.5 1.5 0 0 1-1.342-.83l-1.215-2.43L1.07 8.589a1.517 1.517 0 0 1 2.373-1.852L5 8.293V1.75a1.75 1.75 0 0 1 3.5 0z\"}}]})(props);\n};\nexport function BsFillHandThumbsDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 14.534c.065.936.952 1.659 1.908 1.42l.261-.065a1.378 1.378 0 0 0 1.012-.965c.22-.816.533-2.512.062-4.51.136.02.285.037.443.051.713.065 1.669.071 2.516-.211.518-.173.994-.68 1.2-1.272a1.896 1.896 0 0 0-.234-1.734c.058-.118.103-.242.138-.362.077-.27.113-.568.113-.856 0-.29-.036-.586-.113-.857a2.094 2.094 0 0 0-.16-.403c.169-.387.107-.82-.003-1.149a3.162 3.162 0 0 0-.488-.9c.054-.153.076-.313.076-.465a1.86 1.86 0 0 0-.253-.912C13.1.757 12.437.28 11.5.28H8c-.605 0-1.07.08-1.466.217a4.823 4.823 0 0 0-.97.485l-.048.029c-.504.308-.999.61-2.068.723C2.682 1.815 2 2.434 2 3.279v4c0 .851.685 1.433 1.357 1.616.849.232 1.574.787 2.132 1.41.56.626.914 1.28 1.039 1.638.199.575.356 1.54.428 2.591z\"}}]})(props);\n};\nexport function BsFillHandThumbsUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 1.745C7.021.81 7.908.087 8.864.325l.261.066c.463.116.874.456 1.012.965.22.816.533 2.511.062 4.51a9.84 9.84 0 0 1 .443-.051c.713-.065 1.669-.072 2.516.21.518.173.994.681 1.2 1.273.184.532.16 1.162-.234 1.733.058.119.103.242.138.363.077.27.113.567.113.856 0 .289-.036.586-.113.856-.039.135-.09.273-.16.404.169.387.107.819-.003 1.148a3.163 3.163 0 0 1-.488.901c.054.152.076.312.076.465 0 .305-.089.625-.253.912C13.1 15.522 12.437 16 11.5 16H8c-.605 0-1.07-.081-1.466-.218a4.82 4.82 0 0 1-.97-.484l-.048-.03c-.504-.307-.999-.609-2.068-.722C2.682 14.464 2 13.846 2 13V9c0-.85.685-1.432 1.357-1.615.849-.232 1.574-.787 2.132-1.41.56-.627.914-1.28 1.039-1.639.199-.575.356-1.539.428-2.59z\"}}]})(props);\n};\nexport function BsFillHandbagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 0-2 2v2H5V3a3 3 0 1 1 6 0v2h-1V3a2 2 0 0 0-2-2zM5 5H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11v1.5a.5.5 0 0 1-1 0V5H6v1.5a.5.5 0 0 1-1 0V5z\"}}]})(props);\n};\nexport function BsFillHddFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM.91 7.204A2.993 2.993 0 0 1 2 7h12c.384 0 .752.072 1.09.204l-1.867-3.422A1.5 1.5 0 0 0 11.906 3H4.094a1.5 1.5 0 0 0-1.317.782L.91 7.204z\"}}]})(props);\n};\nexport function BsFillHddNetworkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h5.5v3A1.5 1.5 0 0 0 6 11.5H.5a.5.5 0 0 0 0 1H6A1.5 1.5 0 0 0 7.5 14h1a1.5 1.5 0 0 0 1.5-1.5h5.5a.5.5 0 0 0 0-1H10A1.5 1.5 0 0 0 8.5 10V7H14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsFillHddRackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-2 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM12 7v2H4V7h8z\"}}]})(props);\n};\nexport function BsFillHddStackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsFillHdmiFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5a1 1 0 0 0-1 1v3.293c0 .39.317.707.707.707.188 0 .368.075.5.207l.5.5a1 1 0 0 0 .707.293h11.172a1 1 0 0 0 .707-.293l.5-.5a.707.707 0 0 1 .5-.207c.39 0 .707-.317.707-.707V6a1 1 0 0 0-1-1H1Zm1.5 2h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsFillHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z\"}}]})(props);\n};\nexport function BsFillHeartPulseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.475 9C2.702 10.84 4.779 12.871 8 15c3.221-2.129 5.298-4.16 6.525-6H12a.5.5 0 0 1-.464-.314l-1.457-3.642-1.598 5.593a.5.5 0 0 1-.945.049L5.889 6.568l-1.473 2.21A.5.5 0 0 1 4 9H1.475Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.88 8C-2.427 1.68 4.41-2 7.823 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C11.59-2 18.426 1.68 15.12 8h-2.783l-1.874-4.686a.5.5 0 0 0-.945.049L7.921 8.956 6.464 5.314a.5.5 0 0 0-.88-.091L3.732 8H.88Z\"}}]})(props);\n};\nexport function BsFillHeartbreakFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.931.586 7 3l1.5 4-2 3L8 15C22.534 5.396 13.757-2.21 8.931.586ZM7.358.77 5.5 3 7 7l-1.5 3 1.815 4.537C-6.533 4.96 2.685-2.467 7.358.77Z\"}}]})(props);\n};\nexport function BsFillHeptagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053z\"}}]})(props);\n};\nexport function BsFillHexagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsFillHospitalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a1 1 0 0 0-1 1v1a1 1 0 0 0-1 1v4H1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h6v-2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V16h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-3V3a1 1 0 0 0-1-1V1a1 1 0 0 0-1-1H6Zm2.5 5.034v1.1l.953-.55.5.867L9 7l.953.55-.5.866-.953-.55v1.1h-1v-1.1l-.953.55-.5-.866L7 7l-.953-.55.5-.866.953.55v-1.1h1ZM2.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 9.75v-.5A.25.25 0 0 1 2.25 9Zm0 2h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM2 13.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM13.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM13 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Zm.25 1.75h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z\"}}]})(props);\n};\nexport function BsFillHouseAddFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 1 1-1 0v-1h-1a.5.5 0 1 1 0-1h1v-1a.5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsFillHouseCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.707l.547.547 1.17-1.951a.5.5 0 1 1 .858.514Z\"}}]})(props);\n};\nexport function BsFillHouseDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 1 1 0-1Z\"}}]})(props);\n};\nexport function BsFillHouseDoorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z\"}}]})(props);\n};\nexport function BsFillHouseDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.707l-.646.646V10.5a.5.5 0 0 0-1 0v2.793l-.646-.646a.5.5 0 0 0-.708.707l1.5 1.5a.5.5 0 0 0 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsFillHouseExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 1 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsFillHouseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsFillHouseGearFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.07 9.047a1.5 1.5 0 0 0-1.742.26l-.02.021a1.5 1.5 0 0 0-.261 1.742 1.5 1.5 0 0 0 0 2.86 1.504 1.504 0 0 0-.12 1.07H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6 4.724 4.724a1.5 1.5 0 0 0-1.654 1.03Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.158 9.608-.043-.148c-.181-.613-1.049-.613-1.23 0l-.043.148a.64.64 0 0 1-.921.382l-.136-.074c-.561-.306-1.175.308-.87.869l.075.136a.64.64 0 0 1-.382.92l-.148.045c-.613.18-.613 1.048 0 1.229l.148.043a.64.64 0 0 1 .382.921l-.074.136c-.306.561.308 1.175.869.87l.136-.075a.64.64 0 0 1 .92.382l.045.149c.18.612 1.048.612 1.229 0l.043-.15a.64.64 0 0 1 .921-.38l.136.074c.561.305 1.175-.309.87-.87l-.075-.136a.64.64 0 0 1 .382-.92l.149-.044c.612-.181.612-1.049 0-1.23l-.15-.043a.64.64 0 0 1-.38-.921l.074-.136c.305-.561-.309-1.175-.87-.87l-.136.075a.64.64 0 0 1-.92-.382ZM12.5 14a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\"}}]})(props);\n};\nexport function BsFillHouseHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.707L8 2.207 1.354 8.853a.5.5 0 1 1-.708-.707L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 9.293-6-6-6 6V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9.293Zm-6-.811c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.691 0-5.018Z\"}}]})(props);\n};\nexport function BsFillHouseLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.72 4.72a3 3 0 0 0-2.709 3.248A2 2 0 0 0 9 13v2H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9a2 2 0 0 0-2 2v1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1v-1a2 2 0 0 0-2-2Zm0 1a1 1 0 0 1 1 1v1h-2v-1a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsFillHouseSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.5 2.5 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95Z\"}}]})(props);\n};\nexport function BsFillHouseUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 1 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.707l1.5-1.5a.5.5 0 0 1 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsFillHouseXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.646a.5.5 0 0 1 .708.707l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.707l.647-.647-.647-.646a.5.5 0 0 1 .708-.707Z\"}}]})(props);\n};\nexport function BsFillHousesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.207 1a1 1 0 0 0-1.414 0L.146 6.646a.5.5 0 0 0 .708.708L1 7.207V12.5A1.5 1.5 0 0 0 2.5 14h.55a2.51 2.51 0 0 1-.05-.5V9.415a1.5 1.5 0 0 1-.56-2.475l5.353-5.354L7.207 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.793 2a1 1 0 0 1 1.414 0L12 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l1.854 1.853a.5.5 0 0 1-.708.708L15 8.207V13.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 4 13.5V8.207l-.146.147a.5.5 0 1 1-.708-.708L8.793 2Z\"}}]})(props);\n};\nexport function BsFillImageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsFillInboxFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm-1.17-.437A1.5 1.5 0 0 1 4.98 3h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsFillInboxesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zM3.81.563A1.5 1.5 0 0 1 4.98 0h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393z\"}}]})(props);\n};\nexport function BsFillInfoCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFillInfoSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.93 4.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM8 5.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillJournalBookmarkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsFillKanbanFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillKeyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillKeyboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\"}}]})(props);\n};\nexport function BsFillLampFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.04.303A.5.5 0 0 1 5.5 0h5c.2 0 .38.12.46.303l3 7a.5.5 0 0 1-.363.687h-.002c-.15.03-.3.056-.45.081a32.731 32.731 0 0 1-4.645.425V13.5a.5.5 0 1 1-1 0V8.495a32.753 32.753 0 0 1-4.645-.425c-.15-.025-.3-.05-.45-.08h-.003a.5.5 0 0 1-.362-.688l3-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.493 12.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.052.075l-.001.004-.004.01V14l.002.008a.147.147 0 0 0 .016.033.62.62 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.62.62 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411Z\"}}]})(props);\n};\nexport function BsFillLaptopFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsFillLayersFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.765 1.559a.5.5 0 0 1 .47 0l7.5 4a.5.5 0 0 1 0 .882l-7.5 4a.5.5 0 0 1-.47 0l-7.5-4a.5.5 0 0 1 0-.882l7.5-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.125 8.567-1.86.992a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882l-1.86-.992-5.17 2.756a1.5 1.5 0 0 1-1.41 0l-5.17-2.756z\"}}]})(props);\n};\nexport function BsFillLightbulbFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm3 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillLightbulbOffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.572.08-1.125.23-1.65l8.558 8.559A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm10.303 4.181L3.818 1.697a6 6 0 0 1 8.484 8.484zM5 14.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5zM2.354 1.646a.5.5 0 1 0-.708.708l12 12a.5.5 0 0 0 .708-.708l-12-12z\"}}]})(props);\n};\nexport function BsFillLightningChargeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z\"}}]})(props);\n};\nexport function BsFillLightningFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5z\"}}]})(props);\n};\nexport function BsFillLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsFillLuggageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V5h.5A1.5 1.5 0 0 1 8 6.5V7H7v-.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5H4v1H2.5v.25a.75.75 0 0 1-1.5 0v-.335A1.5 1.5 0 0 1 0 13.5v-7A1.5 1.5 0 0 1 1.5 5H2V1.5ZM3 5h2V2H3v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 7a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5Zm10 1v-.5A1.5 1.5 0 0 0 11 6h-1a1.5 1.5 0 0 0-1.5 1.5V8H8v8h5V8h-.5ZM10 7h1a.5.5 0 0 1 .5.5V8h-2v-.5A.5.5 0 0 1 10 7ZM5 9.5A1.5 1.5 0 0 1 6.5 8H7v8h-.5A1.5 1.5 0 0 1 5 14.5v-5Zm9 6.5V8h.5A1.5 1.5 0 0 1 16 9.5v5a1.5 1.5 0 0 1-1.5 1.5H14Z\"}}]})(props);\n};\nexport function BsFillLungsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a.5.5 0 0 1 .5.5v5.243L9 7.1V4.72C9 3.77 9.77 3 10.72 3c.524 0 1.023.27 1.443.592.431.332.847.773 1.216 1.229.736.908 1.347 1.946 1.58 2.48.176.405.393 1.16.556 2.011.165.857.283 1.857.24 2.759-.04.867-.232 1.79-.837 2.33-.67.6-1.622.556-2.741-.004l-1.795-.897A2.5 2.5 0 0 1 9 11.264V8.329l-1-.715-1 .715V7.214c-.1 0-.202.03-.29.093l-2.5 1.786a.5.5 0 1 0 .58.814L7 8.329v2.935A2.5 2.5 0 0 1 5.618 13.5l-1.795.897c-1.12.56-2.07.603-2.741.004-.605-.54-.798-1.463-.838-2.33-.042-.902.076-1.902.24-2.759.164-.852.38-1.606.558-2.012.232-.533.843-1.571 1.579-2.479.37-.456.785-.897 1.216-1.229C4.257 3.27 4.756 3 5.28 3 6.23 3 7 3.77 7 4.72V7.1l.5-.357V1.5A.5.5 0 0 1 8 1Zm3.21 8.907a.5.5 0 1 0 .58-.814l-2.5-1.786A.498.498 0 0 0 9 7.214V8.33l2.21 1.578Z\"}}]})(props);\n};\nexport function BsFillMagnetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12h-4v3h4v-3ZM5 12H1v3h4v-3ZM0 8a8 8 0 1 1 16 0v8h-6V8a2 2 0 1 0-4 0v8H0V8Z\"}}]})(props);\n};\nexport function BsFillMapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.598-.49L10.5.99 5.598.01a.5.5 0 0 0-.196 0l-5 1A.5.5 0 0 0 0 1.5v14a.5.5 0 0 0 .598.49l4.902-.98 4.902.98a.502.502 0 0 0 .196 0l5-1A.5.5 0 0 0 16 14.5V.5zM5 14.09V1.11l.5-.1.5.1v12.98l-.402-.08a.498.498 0 0 0-.196 0L5 14.09zm5 .8V1.91l.402.08a.5.5 0 0 0 .196 0L11 1.91v12.98l-.5.1-.5-.1z\"}}]})(props);\n};\nexport function BsFillMarkdownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z\"}}]})(props);\n};\nexport function BsFillMegaphoneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z\"}}]})(props);\n};\nexport function BsFillMenuAppFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMenuButtonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h8A1.5 1.5 0 0 0 11 3.5v-2A1.5 1.5 0 0 0 9.5 0h-8zm5.927 2.427A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMenuButtonWideFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMicFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillMicMuteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879L5.158 2.037A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.486 10.607 5 6.12V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsFillModemFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0a1.5 1.5 0 0 0-1.5 1.5v11a1.5 1.5 0 0 0 1.404 1.497c-.35.305-.872.678-1.628 1.056A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .224-.947c-.756-.378-1.278-.75-1.628-1.056A1.5 1.5 0 0 0 10.5 12.5v-11A1.5 1.5 0 0 0 9 0H7Zm1 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm0 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm.5 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM8 9a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"}}]})(props);\n};\nexport function BsFillMoonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}}]})(props);\n};\nexport function BsFillMoonStarsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsFillMortarboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.211 2.047a.5.5 0 0 0-.422 0l-7.5 3.5a.5.5 0 0 0 .025.917l7.5 3a.5.5 0 0 0 .372 0L14 7.14V13a1 1 0 0 0-1 1v2h3v-2a1 1 0 0 0-1-1V6.739l.686-.275a.5.5 0 0 0 .025-.917l-7.5-3.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 9.032a.5.5 0 0 0-.656.327l-.5 1.7a.5.5 0 0 0 .294.605l4.5 1.8a.5.5 0 0 0 .372 0l4.5-1.8a.5.5 0 0 0 .294-.605l-.5-1.7a.5.5 0 0 0-.656-.327L8 10.466 4.176 9.032Z\"}}]})(props);\n};\nexport function BsFillMotherboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7h3V4H5v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-2H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 9H1V8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6H1V5H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 2H1Zm11 .5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm2 0a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7ZM3.5 10a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM4 4h-.5a.5.5 0 0 0 0 1H4v1h-.5a.5.5 0 0 0 0 1H4a1 1 0 0 0 1 1v.5a.5.5 0 0 0 1 0V8h1v.5a.5.5 0 0 0 1 0V8a1 1 0 0 0 1-1h.5a.5.5 0 0 0 0-1H9V5h.5a.5.5 0 0 0 0-1H9a1 1 0 0 0-1-1v-.5a.5.5 0 0 0-1 0V3H6v-.5a.5.5 0 0 0-1 0V3a1 1 0 0 0-1 1Zm7 7.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsFillMouseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a5 5 0 0 1 10 0v6a5 5 0 0 1-10 0V5zm5.5-1.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2z\"}}]})(props);\n};\nexport function BsFillMouse2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5.026C4.958.286 3 2.515 3 5.188V5.5h4.5V.026zm1 0V5.5H13v-.312C13 2.515 11.042.286 8.5.026zM13 6.5H3v4.313C3 13.658 5.22 16 8 16s5-2.342 5-5.188V6.5z\"}}]})(props);\n};\nexport function BsFillMouse3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.069A15.328 15.328 0 0 0 7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208-.386.873-.522 2.01-.54 3.206l4.497 1V.069zM3.71 5.836 3.381 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V8.123l-9-2v.003l.008.353c.007.3.023.715.053 1.175.063.937.186 2.005.413 2.688a.5.5 0 1 1-.948.316c-.273-.817-.4-2-.462-2.937A30.16 30.16 0 0 1 4 6.003c0-.034.003-.067.01-.1l-.3-.067zM14 7.1V5.187c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59A7.495 7.495 0 0 0 9.5.212v5.887l4.5 1z\"}}]})(props);\n};\nexport function BsFillMusicPlayerFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm1 2h6a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillNodeMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a5 5 0 0 1-9.975.5H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025A5 5 0 0 1 16 8zm-2 0a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5A.5.5 0 0 0 14 8z\"}}]})(props);\n};\nexport function BsFillNodePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13a5 5 0 1 0-4.975-5.5H4A1.5 1.5 0 0 0 2.5 6h-1A1.5 1.5 0 0 0 0 7.5v1A1.5 1.5 0 0 0 1.5 10h1A1.5 1.5 0 0 0 4 8.5h2.025A5 5 0 0 0 11 13zm.5-7.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillNutFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58zm5.018 9.696a3 3 0 1 1-3-5.196 3 3 0 0 1 3 5.196z\"}}]})(props);\n};\nexport function BsFillNvmeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H5v2h1V7Zm6 0H9v2h3V7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a.5.5 0 0 0-.5.5h-1A.5.5 0 0 0 0 5v1a.5.5 0 0 0 .5.5h1a.25.25 0 0 1 0 .5h-1a.5.5 0 0 0-.5.5V11a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5.5h13.5a.5.5 0 0 0 .5-.5V9a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1A.5.5 0 0 0 16 7V4.5a.5.5 0 0 0-.5-.5H2Zm2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3Zm4 0a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3Z\"}}]})(props);\n};\nexport function BsFillOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.107 0a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146A.5.5 0 0 1 4.893 0h6.214z\"}}]})(props);\n};\nexport function BsFillOpticalAudioFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm1 3a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 15a.5.5 0 0 1-.5-.5v-3.05a2.5 2.5 0 0 1 0-4.9V4.5a.5.5 0 0 1 .146-.354l2-2A.5.5 0 0 1 4.5 2h7a.5.5 0 0 1 .354.146l2 2A.5.5 0 0 1 14 4.5v2.05a2.5 2.5 0 0 1 0 4.9v3.05a.5.5 0 0 1-.5.5h-11ZM8 5a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z\"}}]})(props);\n};\nexport function BsFillPCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.5 4.002V12h1.283V9.164h1.668C10.033 9.164 11 8.08 11 6.586c0-1.482-.955-2.584-2.538-2.584H5.5Zm2.77 4.072c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97H8.27Z\"}}]})(props);\n};\nexport function BsFillPSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.27 8.074c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97H8.27Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.5 4.002h2.962C10.045 4.002 11 5.104 11 6.586c0 1.494-.967 2.578-2.55 2.578H6.784V12H5.5V4.002Z\"}}]})(props);\n};\nexport function BsFillPaletteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.433 10.07C14.133 10.585 16 11.15 16 8a8 8 0 1 0-8 8c1.996 0 1.826-1.504 1.649-3.08-.124-1.101-.252-2.237.351-2.92.465-.527 1.42-.237 2.433.07zM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillPassFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 0a2 2 0 1 1-4 0H3.5A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0H10ZM4.5 5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1Zm0 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsFillPassportFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.252a1.5 1.5 0 0 1 1.232-1.476l8-1.454A1.5 1.5 0 0 1 13 1.797v.47A2 2 0 0 1 14 4v10a2 2 0 0 1-2 2H4a1.995 1.995 0 0 1-1.51-.688 1.493 1.493 0 0 1-.49-1.11V3.253ZM5 8a3 3 0 1 0 6 0 3 3 0 0 0-6 0Zm0 4.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsFillPatchCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillPatchExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillPatchMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillPatchPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillPatchQuestionFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.933.87a2.89 2.89 0 0 1 4.134 0l.622.638.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636zM7.002 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm1.602-2.027c.04-.534.198-.815.846-1.26.674-.475 1.05-1.09 1.05-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745.336 0 .504-.24.554-.627z\"}}]})(props);\n};\nexport function BsFillPauseBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.25-7C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsFillPauseCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsFillPauseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"}}]})(props);\n};\nexport function BsFillPeaceFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 8.5.015v7.778l5.5 5.5zm-.708.708L8.5 9.206v6.778a7.967 7.967 0 0 0 4.792-1.986zM7.5 15.985V9.207L2.708 14A7.967 7.967 0 0 0 7.5 15.985zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5z\"}}]})(props);\n};\nexport function BsFillPenFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001z\"}}]})(props);\n};\nexport function BsFillPencilFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"}}]})(props);\n};\nexport function BsFillPentagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.685.256a.5.5 0 0 1 .63 0l7.421 6.03a.5.5 0 0 1 .162.538l-2.788 8.827a.5.5 0 0 1-.476.349H3.366a.5.5 0 0 1-.476-.35L.102 6.825a.5.5 0 0 1 .162-.538l7.42-6.03Z\"}}]})(props);\n};\nexport function BsFillPeopleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7Zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5.784 6A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216ZM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}}]})(props);\n};\nexport function BsFillPersonBadgeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5 2.755C12.146 12.825 10.623 12 8 12s-4.146.826-5 1.755V14a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.245z\"}}]})(props);\n};\nexport function BsFillPersonCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"}}]})(props);\n};\nexport function BsFillPersonLinesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5 6s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zM11 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4zm2 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2zm0 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2z\"}}]})(props);\n};\nexport function BsFillPersonPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillPersonVcardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm9 1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5ZM9 8a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4A.5.5 0 0 0 9 8Zm1 2.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm-1 2C9 10.567 7.21 9 5 9c-2.086 0-3.8 1.398-3.984 3.181A1 1 0 0 0 2 13h6.96c.026-.163.04-.33.04-.5ZM7 6a2 2 0 1 0-4 0 2 2 0 0 0 4 0Z\"}}]})(props);\n};\nexport function BsFillPersonXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillPhoneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V2zm6 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsFillPhoneLandscapeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.5a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2zm11-6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillPhoneVibrateFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4zm5 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0zM1.807 4.734a.5.5 0 1 0-.884-.468A7.967 7.967 0 0 0 0 8c0 1.347.334 2.618.923 3.734a.5.5 0 1 0 .884-.468A6.967 6.967 0 0 1 1 8c0-1.18.292-2.292.807-3.266zm13.27-.468a.5.5 0 0 0-.884.468C14.708 5.708 15 6.819 15 8c0 1.18-.292 2.292-.807 3.266a.5.5 0 0 0 .884.468A7.967 7.967 0 0 0 16 8a7.967 7.967 0 0 0-.923-3.734zM3.34 6.182a.5.5 0 1 0-.93-.364A5.986 5.986 0 0 0 2 8c0 .769.145 1.505.41 2.182a.5.5 0 1 0 .93-.364A4.986 4.986 0 0 1 3 8c0-.642.12-1.255.34-1.818zm10.25-.364a.5.5 0 0 0-.93.364c.22.563.34 1.176.34 1.818 0 .642-.12 1.255-.34 1.818a.5.5 0 0 0 .93.364C13.856 9.505 14 8.769 14 8c0-.769-.145-1.505-.41-2.182z\"}}]})(props);\n};\nexport function BsFillPieChartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.985 8.5H8.207l-5.5 5.5a8 8 0 0 0 13.277-5.5zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5zM8.5.015V7.5h7.485A8.001 8.001 0 0 0 8.5.015z\"}}]})(props);\n};\nexport function BsFillPiggyBankFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595Zm7.173 3.876a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199Zm-8.999-.65a.5.5 0 1 1-.276-.96A7.613 7.613 0 0 1 7.964 3.5c.763 0 1.497.11 2.18.315a.5.5 0 1 1-.287.958A6.602 6.602 0 0 0 7.964 4.5c-.64 0-1.255.09-1.826.254ZM5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"}}]})(props);\n};\nexport function BsFillPinAngleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z\"}}]})(props);\n};\nexport function BsFillPinFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354z\"}}]})(props);\n};\nexport function BsFillPinMapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsFillPipFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm7 6h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillPlayBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsFillPlayCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsFillPlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"}}]})(props);\n};\nexport function BsFillPlugFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsFillPlusCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsFillPlusSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillPostageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 1a1 1 0 0 0 1-1h1a1 1 0 0 0 2 0h1a1 1 0 0 0 2 0h1a1 1 0 1 0 2 0H15v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1h-1.5a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0H1v-1a1 1 0 1 0 0-2v-1a1 1 0 1 0 0-2V9a1 1 0 1 0 0-2V6a1 1 0 0 0 0-2V3a1 1 0 0 0 0-2V0h1.5a1 1 0 0 0 1 1ZM3 3v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsFillPostageHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7ZM8 11C2.175 7.236 6.336 4.31 8 5.982 9.664 4.309 13.825 7.236 8 11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 0a1 1 0 0 1-2 0H1v1a1 1 0 0 1 0 2v1a1 1 0 0 1 0 2v1a1 1 0 0 1 0 2v1a1 1 0 1 1 0 2v1a1 1 0 1 1 0 2v1h1.5a1 1 0 1 1 2 0h1a1 1 0 1 1 2 0h1a1 1 0 1 1 2 0h1a1 1 0 1 1 2 0H15v-1a1 1 0 1 1 0-2v-1a1 1 0 1 1 0-2V9a1 1 0 1 1 0-2V6a1 1 0 1 1 0-2V3a1 1 0 1 1 0-2V0h-1.5a1 1 0 1 1-2 0h-1a1 1 0 1 1-2 0h-1a1 1 0 0 1-2 0h-1ZM4 14a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4Z\"}}]})(props);\n};\nexport function BsFillPostcardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8h2V6h-2v2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm8.5.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7ZM2 5.5a.5.5 0 0 0 .5.5H6a.5.5 0 0 0 0-1H2.5a.5.5 0 0 0-.5.5ZM2.5 7a.5.5 0 0 0 0 1H6a.5.5 0 0 0 0-1H2.5ZM2 9.5a.5.5 0 0 0 .5.5H6a.5.5 0 0 0 0-1H2.5a.5.5 0 0 0-.5.5Zm8-4v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsFillPostcardHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2Zm6 2.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0Zm3.5.878c1.482-1.42 4.795 1.392 0 4.622-4.795-3.23-1.482-6.043 0-4.622ZM2 5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsFillPrinterFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}}]})(props);\n};\nexport function BsFillProjectorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2 1 1 0 0 0 1 1h1a1 1 0 0 0 1-1h6a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1 2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2Zm.5 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1ZM14 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-12 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsFillPuzzleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .036-.054l.003-.01v-.008a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003l-.003-.01a.214.214 0 0 0-.036-.053.859.859 0 0 0-.27-.194C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.036.054l-.003.01v.002l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855z\"}}]})(props);\n};\nexport function BsFillQuestionCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z\"}}]})(props);\n};\nexport function BsFillQuestionDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM5.495 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillQuestionOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM5.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillQuestionSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillRCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.5 4.002V12h1.335V8.924H8.52L9.98 12h1.52L9.856 8.701c.828-.299 1.495-1.101 1.495-2.238 0-1.488-1.03-2.461-2.74-2.461H5.5Zm1.335 1.09v2.777h1.549c.995 0 1.573-.463 1.573-1.36 0-.913-.596-1.417-1.537-1.417H6.835Z\"}}]})(props);\n};\nexport function BsFillRSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.835 5.092v2.777h1.549c.995 0 1.573-.463 1.573-1.36 0-.913-.596-1.417-1.537-1.417H6.835Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.5 4.002h3.11c1.71 0 2.741.973 2.741 2.46 0 1.138-.667 1.94-1.495 2.24L11.5 12H9.98L8.52 8.924H6.836V12H5.5V4.002Z\"}}]})(props);\n};\nexport function BsFillRecordBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillRecordCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillRecordFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsFillRecord2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillReplyAllFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.021 11.9 3.453 8.62a.719.719 0 0 1 0-1.238L8.021 4.1a.716.716 0 0 1 1.079.619V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 1-.106.7L1.114 7.945a.5.5 0 0 1-.042.028.147.147 0 0 0 0 .252.503.503 0 0 1 .042.028l4.012 2.954a.5.5 0 1 1-.593.805L.539 9.073a1.147 1.147 0 0 1 0-1.946l3.994-2.94a.5.5 0 0 1 .699.106z\"}}]})(props);\n};\nexport function BsFillReplyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}}]})(props);\n};\nexport function BsFillRewindBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2Zm7.729 1.055A.5.5 0 0 1 8 5.5v1.886l3.21-2.293A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8 8.614V10.5a.5.5 0 0 1-.79.407l-3.5-2.5a.5.5 0 0 1 0-.814l3.5-2.5a.5.5 0 0 1 .519-.038Z\"}}]})(props);\n};\nexport function BsFillRewindCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM7.729 5.055A.5.5 0 0 1 8 5.5v1.886l3.21-2.293A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8 8.614V10.5a.5.5 0 0 1-.79.407l-3.5-2.5a.5.5 0 0 1 0-.814l3.5-2.5a.5.5 0 0 1 .519-.038Z\"}}]})(props);\n};\nexport function BsFillRewindFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.404 7.304a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L8.404 7.304Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.404 7.304a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L.404 7.304Z\"}}]})(props);\n};\nexport function BsFillRocketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.175 1.991c.81 1.312 1.583 3.43 1.778 6.819l1.5 1.83A2.5 2.5 0 0 1 14 12.202V15.5a.5.5 0 0 1-.9.3l-1.125-1.5c-.166-.222-.42-.4-.752-.57-.214-.108-.414-.192-.627-.282l-.196-.083C9.7 13.793 8.85 14 8 14c-.85 0-1.7-.207-2.4-.635-.068.03-.133.057-.198.084-.211.089-.411.173-.625.281-.332.17-.586.348-.752.57L2.9 15.8a.5.5 0 0 1-.9-.3v-3.298a2.5 2.5 0 0 1 .548-1.562l.004-.005L4.049 8.81c.197-3.323.969-5.434 1.774-6.756.466-.767.94-1.262 1.31-1.57a3.67 3.67 0 0 1 .601-.41A.549.549 0 0 1 8 0c.101 0 .17.027.25.064.037.017.086.041.145.075.118.066.277.167.463.315.373.297.85.779 1.317 1.537ZM9.5 6c0-1.105-.672-2-1.5-2s-1.5.895-1.5 2S7.172 8 8 8s1.5-.895 1.5-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14.5c.5 0 .999-.046 1.479-.139L8.4 15.8a.5.5 0 0 1-.8 0l-1.079-1.439c.48.093.98.139 1.479.139Z\"}}]})(props);\n};\nexport function BsFillRocketTakeoffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.17 9.53c2.307-2.592 3.278-4.684 3.641-6.218.21-.887.214-1.58.16-2.065a3.578 3.578 0 0 0-.108-.563 2.22 2.22 0 0 0-.078-.23V.453c-.073-.164-.168-.234-.352-.295a2.35 2.35 0 0 0-.16-.045 3.797 3.797 0 0 0-.57-.093c-.49-.044-1.19-.03-2.08.188-1.536.374-3.618 1.343-6.161 3.604l-2.4.238h-.006a2.552 2.552 0 0 0-1.524.734L.15 7.17a.512.512 0 0 0 .433.868l1.896-.271c.28-.04.592.013.955.132.232.076.437.16.655.248l.203.083c.196.816.66 1.58 1.275 2.195.613.614 1.376 1.08 2.191 1.277l.082.202c.089.218.173.424.249.657.118.363.172.676.132.956l-.271 1.9a.512.512 0 0 0 .867.433l2.382-2.386c.41-.41.668-.949.732-1.526l.24-2.408Zm.11-3.699c-.797.8-1.93.961-2.528.362-.598-.6-.436-1.733.361-2.532.798-.799 1.93-.96 2.528-.361.599.599.437 1.732-.36 2.531Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.205 10.787a7.632 7.632 0 0 0 1.804 1.352c-1.118 1.007-4.929 2.028-5.054 1.903-.126-.127.737-4.189 1.839-5.18.346.69.837 1.35 1.411 1.925Z\"}}]})(props);\n};\nexport function BsFillRouterFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 3.025a3.5 3.5 0 0 1 4.95 0 .5.5 0 1 0 .707-.707 4.5 4.5 0 0 0-6.364 0 .5.5 0 0 0 .707.707Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.94 4.44a1.5 1.5 0 0 1 2.12 0 .5.5 0 0 0 .708-.708 2.5 2.5 0 0 0-3.536 0 .5.5 0 0 0 .707.707Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.974 2.342a.5.5 0 1 0-.948.316L3.806 8H1.5A1.5 1.5 0 0 0 0 9.5v2A1.5 1.5 0 0 0 1.5 13H2a.5.5 0 0 0 .5.5h2A.5.5 0 0 0 5 13h6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5h.5a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 14.5 8h-2.306l1.78-5.342a.5.5 0 1 0-.948-.316L11.14 8H4.86L2.974 2.342ZM2.5 11a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm4.5-.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2.5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm1.5-.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsFillRssFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2zm0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2zm.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillSafeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.778 9.414A2 2 0 1 1 6.95 6.586a2 2 0 0 1 2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A1.5 1.5 0 0 0 1 1.5V3H.5a.5.5 0 0 0 0 1H1v3.5H.5a.5.5 0 0 0 0 1H1V12H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 14.5 0h-12zm3.036 4.464 1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 1 1 .708-.708zM14 6.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillSafe2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.563 8H5.035a3.482 3.482 0 0 1 .662-1.596l1.08 1.08c-.094.16-.167.332-.214.516zm.921-1.223-1.08-1.08A3.482 3.482 0 0 1 8 5.035v1.528c-.184.047-.357.12-.516.214zM9 6.563V5.035a3.482 3.482 0 0 1 1.596.662l-1.08 1.08A1.988 1.988 0 0 0 9 6.563zm1.223.921 1.08-1.08c.343.458.577 1.003.662 1.596h-1.528a1.989 1.989 0 0 0-.214-.516zM10.437 9h1.528a3.483 3.483 0 0 1-.662 1.596l-1.08-1.08c.094-.16.167-.332.214-.516zm-.921 1.223 1.08 1.08A3.483 3.483 0 0 1 9 11.965v-1.528c.184-.047.357-.12.516-.214zM8 10.437v1.528a3.483 3.483 0 0 1-1.596-.662l1.08-1.08c.16.094.332.167.516.214zm-1.223-.921-1.08 1.08A3.482 3.482 0 0 1 5.035 9h1.528c.047.184.12.357.214.516zM7.5 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 14.5 1h-12zm6 3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z\"}}]})(props);\n};\nexport function BsFillSaveFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v7.793L4.854 6.646a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.708-.708L8.5 9.293V1.5z\"}}]})(props);\n};\nexport function BsFillSave2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v6h-2a.5.5 0 0 0-.354.854l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5A.5.5 0 0 0 10.5 7.5h-2v-6z\"}}]})(props);\n};\nexport function BsFillSdCardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 0H5.914a1.5 1.5 0 0 0-1.06.44L2.439 2.853A1.5 1.5 0 0 0 2 3.914V14.5A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0Zm-7 2.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm2 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm2.75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 1.5 0Zm1.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Z\"}}]})(props);\n};\nexport function BsFillSearchHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 13a6.474 6.474 0 0 0 3.845-1.258h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.008 1.008 0 0 0-.115-.1A6.471 6.471 0 0 0 13 6.5 6.502 6.502 0 0 0 6.5 0a6.5 6.5 0 1 0 0 13Zm0-8.518c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsFillSendArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854.146a.5.5 0 0 1 .11.54L13.026 8.03A4.5 4.5 0 0 0 8 12.5c0 .5 0 1.5-.773.36l-1.59-2.498L.644 7.184l-.002-.001-.41-.261a.5.5 0 0 1 .083-.886l.452-.18.001-.001L15.314.035a.5.5 0 0 1 .54.111ZM6.637 10.07l7.494-7.494.471-1.178-1.178.471L5.93 9.363l.338.215a.5.5 0 0 1 .154.154l.215.338Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-1.646a.5.5 0 0 1-.722-.016l-1.149-1.25a.5.5 0 1 1 .737-.676l.28.305V11a.5.5 0 0 1 1 0v1.793l.396-.397a.5.5 0 0 1 .708.708l-1.25 1.25Z\"}}]})(props);\n};\nexport function BsFillSendArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854.146a.5.5 0 0 1 .11.54L13.026 8.03A4.5 4.5 0 0 0 8 12.5c0 .5 0 1.5-.773.36l-1.59-2.498L.644 7.184l-.002-.001-.41-.261a.5.5 0 0 1 .083-.886l.452-.18.001-.001L15.314.035a.5.5 0 0 1 .54.111ZM6.637 10.07l7.494-7.494.471-1.178-1.178.471L5.93 9.363l.338.215a.5.5 0 0 1 .154.154l.215.338Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.354a.5.5 0 0 0-.722.016l-1.149 1.25a.5.5 0 1 0 .737.676l.28-.305V14a.5.5 0 0 0 1 0v-1.793l.396.397a.5.5 0 0 0 .708-.708l-1.25-1.25Z\"}}]})(props);\n};\nexport function BsFillSendCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1.993-1.679a.5.5 0 0 0-.686.172l-1.17 1.95-.547-.547a.5.5 0 0 0-.708.708l.774.773a.75.75 0 0 0 1.174-.144l1.335-2.226a.5.5 0 0 0-.172-.686Z\"}}]})(props);\n};\nexport function BsFillSendDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsFillSendExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1.5a.5.5 0 0 1-1 0V11a.5.5 0 0 1 1 0Zm0 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsFillSendFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 3.178 4.995.002.002.26.41a.5.5 0 0 0 .886-.083l6-15Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}}]})(props);\n};\nexport function BsFillSendPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsFillSendSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.975 10.025a3.5 3.5 0 1 0-4.95 4.95 3.5 3.5 0 0 0 4.95-4.95Zm-4.243.707a2.501 2.501 0 0 1 3.147-.318l-3.465 3.465a2.501 2.501 0 0 1 .318-3.147Zm.39 3.854 3.464-3.465a2.501 2.501 0 0 1-3.465 3.465Z\"}}]})(props);\n};\nexport function BsFillSendXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsFillShareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5z\"}}]})(props);\n};\nexport function BsFillShieldFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsFillShieldLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFillShieldSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525L1.093 3.093zm12.215 8.215L3.128 1.128A61.369 61.369 0 0 1 5.073.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616zm.338 3.046-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsFillShiftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047z\"}}]})(props);\n};\nexport function BsFillSignDeadEndFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.116 6.28h.32c.395 0 .582.24.582.722 0 .48-.186.718-.581.718h-.321V6.28Zm3.636.066.268.845h-.552l.27-.845h.014Zm1.327-.066h.32c.394 0 .582.24.582.722 0 .48-.186.718-.582.718h-.32V6.28Zm-.792 3h.32c.395 0 .582.24.582.722 0 .48-.186.718-.581.718h-.32V9.28Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM4.782 6h.69c.596 0 .886.355.886.998S6.066 8 5.473 8h-.69V6ZM7.82 7.72V8H6.571V6H7.82v.28h-.917v.57h.863v.268h-.863v.602h.917Zm.397.28h-.34l.688-2h.371l.689 2h-.352l-.177-.554h-.702L8.216 8Zm1.53-2h.69c.596 0 .886.355.886.998S11.03 8 10.436 8h-.69V6Zm-2.923 4.72V11H5.575V9h1.248v.28h-.917v.57h.863v.268h-.863v.602h.917Zm.572.28h-.32V9h.294l.933 1.436h.014V9h.32v2h-.292l-.936-1.44h-.013V11Zm1.56-2h.69c.596 0 .886.355.886.998S10.238 11 9.645 11h-.69V9Z\"}}]})(props);\n};\nexport function BsFillSignDoNotEnterFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.237 4.28h-.32v1.44h.32c.396 0 .582-.239.582-.718 0-.481-.188-.722-.582-.722Zm2.392.859v-.277c0-.413-.211-.617-.494-.617-.285 0-.495.204-.495.617v.277c0 .414.21.618.495.618.283 0 .494-.204.494-.618Zm4.163 0v-.277c0-.413-.211-.617-.494-.617-.285 0-.495.204-.495.617v.277c0 .414.21.618.495.618.283 0 .494-.204.494-.618Zm.006 5.828v-.694h.39c.231 0 .378.126.378.354 0 .225-.142.34-.387.34h-.38Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM3.584 6V4h.69c.596 0 .886.355.886.998S4.867 6 4.274 6h-.69Zm3.382-1.135v.272c0 .566-.318.903-.83.903-.513 0-.833-.337-.833-.903v-.272c0-.569.32-.904.832-.904.513 0 .83.337.83.904Zm1.021-.305V6h-.319V4h.293l.933 1.436h.015V4h.319v2h-.291L8 4.56h-.013Zm3.142.305v.272c0 .566-.318.903-.83.903-.513 0-.833-.337-.833-.903v-.272c0-.569.32-.904.832-.904.513 0 .83.337.83.904Zm.899-.58V6h-.333V4.285h-.584V4h1.503v.285h-.586ZM5.413 11.72V12H4.165v-2h1.248v.28h-.917v.57h.862v.268h-.862v.602h.917Zm.572.28h-.32v-2h.294l.933 1.436h.014v-1.435h.32V12h-.292l-.936-1.44h-.013V12Zm2.279 0H7.93v-1.715h-.584V10H8.85v.284h-.586V12Zm1.953-.28V12H8.97v-2h1.248v.28H9.3v.57h.863v.268H9.3v.602h.917ZM11.235 10c.42 0 .674.244.674.616a.575.575 0 0 1-.368.56l.404.824h-.373l-.36-.769h-.414V12h-.328v-2h.765ZM3.5 7h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillSignIntersectionFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM7.25 4h1.5v3.25H12v1.5H8.75V12h-1.5V8.75H4v-1.5h3.25V4Z\"}}]})(props);\n};\nexport function BsFillSignIntersectionSideFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM6.25 4h1.5v3.25H11v1.5H7.75V12h-1.5V4Z\"}}]})(props);\n};\nexport function BsFillSignIntersectionTFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM5 5h6v1.5H8.75V12h-1.5V6.5H5V5Z\"}}]})(props);\n};\nexport function BsFillSignIntersectionYFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm1.443 4.762 1.014 1.106L8.75 8.83V12h-1.5V8.83L4.493 6.303l1.014-1.106L8 7.483l2.493-2.286Z\"}}]})(props);\n};\nexport function BsFillSignMergeLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM7.25 6H6.034a.25.25 0 0 1-.192-.41l1.966-2.36a.25.25 0 0 1 .384 0l1.966 2.36a.25.25 0 0 1-.192.41H8.75v6h-1.5V8.823c-.551.686-1.229 1.363-1.88 2.015l-.016.016-.708-.708c.757-.756 1.48-1.48 2.016-2.196.25-.333.448-.649.588-.95V6Z\"}}]})(props);\n};\nexport function BsFillSignMergeRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM8.75 6v1c.14.301.338.617.588.95.537.716 1.259 1.44 2.016 2.196l-.708.708-.015-.016c-.652-.652-1.33-1.33-1.881-2.015V12h-1.5V6H6.034a.25.25 0 0 1-.192-.41l1.966-2.36a.25.25 0 0 1 .384 0l1.966 2.36a.25.25 0 0 1-.192.41H8.75Z\"}}]})(props);\n};\nexport function BsFillSignNoLeftTurnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13.292A8 8 0 0 1 13.293 2L9.195 6.099A2.501 2.501 0 0 0 8.5 6H7V4.534a.25.25 0 0 0-.41-.192L4.23 6.308a.25.25 0 0 0 0 .384l2.36 1.966a.265.265 0 0 0 .026.02L2 13.291Zm.708.708A8 8 0 0 0 14 2.707l-3.885 3.884C10.656 7.05 11 7.735 11 8.5V11h-1V8.5c0-.489-.234-.923-.596-1.197l-6.696 6.696Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.293 7 7 8.293V7h1.293Z\"}}]})(props);\n};\nexport function BsFillSignNoParkingFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.292 14A8 8 0 0 1 2 2.707l3.5 3.5V12h1.283V9.164h1.674L13.292 14Zm.708-.708-4.37-4.37C10.5 8.524 11 7.662 11 6.587c0-1.482-.955-2.584-2.538-2.584H5.5v.79L2.708 2.002A8 8 0 0 1 14 13.293Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.777 7.485v.59h.59l-.59-.59Zm1.949.535L6.777 6.07v-.966H8.27c.893 0 1.419.539 1.419 1.482 0 .769-.35 1.273-.963 1.433Z\"}}]})(props);\n};\nexport function BsFillSignNoRightTurnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 2.707 2l4.097 4.098C7.025 6.034 7.259 6 7.5 6H9V4.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L9.41 8.658a.265.265 0 0 1-.026.02L14 13.291Zm-.708.708A8 8 0 0 1 2 2.707l3.885 3.884A2.495 2.495 0 0 0 5 8.5V11h1V8.5c0-.489.234-.923.596-1.197l6.696 6.696Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.707 7 9 8.293V7H7.707Z\"}}]})(props);\n};\nexport function BsFillSignRailroadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.224 3.162 8 6.94l3.777-3.777L9.049.435Zm3.274 7.425v-.862h.467c.28 0 .467.154.467.44 0 .28-.182.421-.475.421h-.459Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.838 4.223 9.06 8l3.777 3.777 2.727-2.728c.58-.58.58-1.519 0-2.098l-2.727-2.728Zm.03 2.361c.591 0 .935.334.935.844a.79.79 0 0 1-.485.748l.536 1.074h-.59l-.467-.994h-.473v.994h-.521V6.584h1.064Zm-1.091 6.254L8 9.06l-3.777 3.777 2.728 2.727c.58.58 1.519.58 2.098 0l2.728-2.727Zm-8.953-5.84v.861h.46c.292 0 .474-.14.474-.421 0-.286-.188-.44-.467-.44h-.467Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.162 11.777 6.94 8 3.162 4.223.435 6.951c-.58.58-.58 1.519 0 2.098l2.727 2.728Zm-.86-5.193h1.065c.592 0 .936.334.936.844 0 .39-.242.654-.485.748l.536 1.074h-.59l-.467-.994h-.473v.994h-.521V6.584Z\"}}]})(props);\n};\nexport function BsFillSignStopFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.371 8.277v-.553c0-.827-.422-1.234-.987-1.234-.572 0-.99.407-.99 1.234v.553c0 .83.418 1.237.99 1.237.565 0 .987-.408.987-1.237Zm2.586-.24c.463 0 .735-.272.735-.744s-.272-.741-.735-.741h-.774v1.485h.774Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.893 0a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146A.5.5 0 0 0 11.107 0H4.893ZM3.16 10.08c-.931 0-1.447-.493-1.494-1.132h.653c.065.346.396.583.891.583.524 0 .83-.246.83-.62 0-.303-.203-.467-.637-.572l-.656-.164c-.61-.147-.978-.51-.978-1.078 0-.706.597-1.184 1.444-1.184.853 0 1.386.475 1.436 1.087h-.645c-.064-.32-.352-.542-.797-.542-.472 0-.77.246-.77.6 0 .261.196.437.553.522l.654.161c.673.164 1.06.487 1.06 1.11 0 .736-.574 1.228-1.544 1.228Zm3.427-3.51V10h-.665V6.57H4.753V6h3.006v.568H6.587Zm4.458 1.16v.544c0 1.131-.636 1.805-1.661 1.805-1.026 0-1.664-.674-1.664-1.805V7.73c0-1.136.638-1.807 1.664-1.807 1.025 0 1.66.674 1.66 1.807ZM11.52 6h1.535c.82 0 1.316.55 1.316 1.292 0 .747-.501 1.289-1.321 1.289h-.865V10h-.665V6.001Z\"}}]})(props);\n};\nexport function BsFillSignStopLightsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM6 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4Z\"}}]})(props);\n};\nexport function BsFillSignTurnLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM7 8.466a.25.25 0 0 1-.41.192L4.23 6.692a.25.25 0 0 1 0-.384l2.36-1.966a.25.25 0 0 1 .41.192V6h1.5A2.5 2.5 0 0 1 11 8.5V11h-1V8.5A1.5 1.5 0 0 0 8.5 7H7v1.466Z\"}}]})(props);\n};\nexport function BsFillSignTurnRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM9 8.466V7H7.5A1.5 1.5 0 0 0 6 8.5V11H5V8.5A2.5 2.5 0 0 1 7.5 6H9V4.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L9.41 8.658A.25.25 0 0 1 9 8.466Z\"}}]})(props);\n};\nexport function BsFillSignTurnSlightLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM6.864 8.368a.25.25 0 0 1-.451-.039l-1.06-2.882a.25.25 0 0 1 .192-.333l3.026-.523a.25.25 0 0 1 .26.371l-.667 1.154.621.373A2.5 2.5 0 0 1 10 8.632V11H9V8.632a1.5 1.5 0 0 0-.728-1.286l-.607-.364-.8 1.386Z\"}}]})(props);\n};\nexport function BsFillSignTurnSlightRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.385 6.547.8 1.386a.25.25 0 0 0 .451-.039l1.06-2.882a.25.25 0 0 0-.192-.333l-3.026-.523a.25.25 0 0 0-.26.371l.667 1.154-.621.373A2.5 2.5 0 0 0 6 8.632V11h1V8.632a1.5 1.5 0 0 1 .728-1.286l.607-.364Z\"}}]})(props);\n};\nexport function BsFillSignYieldFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.48 5.323h-.28v1.353h.28c.372 0 .54-.222.54-.674 0-.45-.169-.68-.54-.68Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.022 14.434a1.131 1.131 0 0 0 1.96 0l6.857-11.667c.457-.778-.092-1.767-.98-1.767H1.144c-.889 0-1.437.99-.98 1.767l6.857 11.667ZM5.506 6.232V7H5.11v-.76L4.44 5h.44l.424.849h.016L5.748 5h.428l-.67 1.232ZM6.628 5v2h-.396V5h.396Zm.684 1.676h.895V7H6.919V5h1.288v.324h-.895v.513h.842v.303h-.842v.536Zm1.521-.013h.848V7H8.437V5h.396v1.663Zm.97.337V5h.73c.608 0 .895.364.895.995 0 .636-.291 1.005-.895 1.005h-.73Z\"}}]})(props);\n};\nexport function BsFillSignpost2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsFillSignpostFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsFillSignpostSplitFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h2V6h5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.8 2.4A1 1 0 0 0 14 2H9v-.586a1 1 0 0 0-2 0V7H2a1 1 0 0 0-.8.4L.225 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4h5v5z\"}}]})(props);\n};\nexport function BsFillSimFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5zM8.5 6V4h2a.5.5 0 0 1 .5.5V6H8.5zM5 7h6v2H5V7zm3.5 3H11v1.5a.5.5 0 0 1-.5.5h-2v-2zm-1 0v2h-2a.5.5 0 0 1-.5-.5V10h2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5V3.414a1.5 1.5 0 0 0-.44-1.06L11.647.439A1.5 1.5 0 0 0 10.586 0H3.5zm2 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7A1.5 1.5 0 0 1 5.5 3z\"}}]})(props);\n};\nexport function BsFillSimSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.646.44.897.896-1.703 1.703A1.506 1.506 0 0 0 10.5 3h-5A1.5 1.5 0 0 0 4 4.5v5.379l-2 2V1.5A1.5 1.5 0 0 1 3.5 0h7.086a1.5 1.5 0 0 1 1.06.44ZM8.5 5.378 9.879 4H8.5v1.379ZM5 8.879 6.879 7H5v1.879Zm6-1.758L9.121 9H11V7.121Zm-3.5 3.5L6.121 12H7.5v-1.379ZM5.5 13c-.117 0-.23-.013-.34-.039L2.502 15.62c.265.236.615.38.998.38h9a1.5 1.5 0 0 0 1.5-1.5V4.121l-2 2V11.5a1.5 1.5 0 0 1-1.5 1.5h-5ZM5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5ZM8.5 10H11v1.5a.5.5 0 0 1-.5.5h-2v-2Zm6.354-8.146a.5.5 0 0 0-.708-.708l-13 13a.5.5 0 0 0 .708.708l13-13Z\"}}]})(props);\n};\nexport function BsFillSkipBackwardBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm11.21-6.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipBackwardCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.79-2.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipBackwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 0 0 4v8a.5.5 0 0 0 1 0V8.753l6.267 3.636c.54.313 1.233-.066 1.233-.697v-2.94l6.267 3.636c.54.314 1.233-.065 1.233-.696V4.308c0-.63-.693-1.01-1.233-.696L8.5 7.248v-2.94c0-.63-.692-1.01-1.233-.696L1 7.248V4a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsFillSkipEndBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipEndCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipEndFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.693 3.3 4 3.678 4 4.308v7.384c0 .63.692 1.01 1.233.697L11.5 8.753V12a.5.5 0 0 0 1 0V4z\"}}]})(props);\n};\nexport function BsFillSkipForwardBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Zm4.79-6.907A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093Z\"}}]})(props);\n};\nexport function BsFillSkipForwardCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.753l-6.267 3.636c-.54.313-1.233-.066-1.233-.697v-2.94l-6.267 3.636C.693 12.703 0 12.324 0 11.693V4.308c0-.63.693-1.01 1.233-.696L7.5 7.248v-2.94c0-.63.693-1.01 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillSkipStartBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9.71-6.907L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipStartCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM9.71 5.093 7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipStartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.54-.313 1.232.066 1.232.696v7.384c0 .63-.692 1.01-1.232.697L5 8.753V12a.5.5 0 0 1-1 0V4z\"}}]})(props);\n};\nexport function BsFillSlashCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.646-2.646a.5.5 0 0 0-.708-.708l-6 6a.5.5 0 0 0 .708.708l6-6z\"}}]})(props);\n};\nexport function BsFillSlashSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm9.354 5.354-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillSpeakerFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-2.5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm6 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 7a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z\"}}]})(props);\n};\nexport function BsFillSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsFillStarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"}}]})(props);\n};\nexport function BsFillStickiesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5A1.5 1.5 0 0 0 0 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V10.5z\"}}]})(props);\n};\nexport function BsFillStickyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V9.5z\"}}]})(props);\n};\nexport function BsFillStopBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.5-7A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsFillStopCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsFillStopFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5A1.5 1.5 0 0 1 5 3.5z\"}}]})(props);\n};\nexport function BsFillStoplightsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 0a2 2 0 0 0-2 2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-1c1.2-.4 1.833-1.5 2-2h-2V8c1.2-.4 1.833-1.5 2-2h-2V4c1.2-.4 1.833-1.5 2-2h-2a2 2 0 0 0-2-2H6zm3.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillStopwatchFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07A7.001 7.001 0 0 0 8 16a7 7 0 0 0 5.29-11.584.531.531 0 0 0 .013-.012l.354-.354.353.354a.5.5 0 1 0 .707-.707l-1.414-1.415a.5.5 0 1 0-.707.707l.354.354-.354.354a.717.717 0 0 0-.012.012A6.973 6.973 0 0 0 9 2.071V1h.5a.5.5 0 0 0 0-1h-3zm2 5.6V9a.5.5 0 0 1-.5.5H4.5a.5.5 0 0 1 0-1h3V5.6a.5.5 0 1 1 1 0z\"}}]})(props);\n};\nexport function BsFillSuitClubFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z\"}}]})(props);\n};\nexport function BsFillSuitDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z\"}}]})(props);\n};\nexport function BsFillSuitHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z\"}}]})(props);\n};\nexport function BsFillSuitSpadeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z\"}}]})(props);\n};\nexport function BsFillSuitcaseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V3h1.5A1.5 1.5 0 0 1 13 4.5v9a1.5 1.5 0 0 1-1.004 1.416A1 1 0 1 1 10 15H6a1 1 0 1 1-1.997-.084A1.5 1.5 0 0 1 3 13.5v-9A1.5 1.5 0 0 1 4.5 3H6V.5ZM9 1H7v2h2V1ZM6 5.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm2.5 0a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm2.5 0a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Z\"}}]})(props);\n};\nexport function BsFillSuitcaseLgFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0a2 2 0 0 0-2 2H1.5A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14H2a.5.5 0 0 0 1 0h10a.5.5 0 0 0 1 0h.5a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2H11a2 2 0 0 0-2-2H7ZM6 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1H6ZM3 13V3h1v10H3Zm9 0V3h1v10h-1Z\"}}]})(props);\n};\nexport function BsFillSuitcase2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0-.5.5V3H4.5A1.5 1.5 0 0 0 3 4.5v9a1.5 1.5 0 0 0 1.003 1.416A1 1 0 1 0 6 15h4a1 1 0 1 0 1.996-.084A1.5 1.5 0 0 0 13 13.5v-9A1.5 1.5 0 0 0 11.5 3H10V.5a.5.5 0 0 0-.5-.5h-3ZM9 3H7V1h2v2ZM4 7V6h8v1H4Z\"}}]})(props);\n};\nexport function BsFillSunFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsFillSunriseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillSunsetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTabletFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsFillTabletLandscapeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2zm11-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillTagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsFillTagsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z\"}}]})(props);\n};\nexport function BsFillTaxiFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1a1 1 0 0 0-1 1v1h-.181A2.5 2.5 0 0 0 2.52 4.515l-.792 1.848a.807.807 0 0 1-.38.404c-.5.25-.855.715-.965 1.262L.05 9.708a2.5 2.5 0 0 0-.049.49v.413c0 .814.39 1.543 1 1.997V14.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.338c1.292.048 2.745.088 4 .088s2.708-.04 4-.088V14.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.892c.61-.454 1-1.183 1-1.997v-.413c0-.165-.016-.329-.049-.49l-.335-1.68a1.807 1.807 0 0 0-.964-1.261.807.807 0 0 1-.381-.404l-.792-1.848A2.5 2.5 0 0 0 11.181 3H11V2a1 1 0 0 0-1-1H6ZM4.309 4h7.382a.5.5 0 0 1 .447.276l.956 1.913a.51.51 0 0 1-.497.731c-.91-.073-3.35-.17-4.597-.17-1.247 0-3.688.097-4.597.17a.51.51 0 0 1-.497-.731l.956-1.913A.5.5 0 0 1 4.309 4ZM4 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm10 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-9 0a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z\"}}]})(props);\n};\nexport function BsFillTelephoneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsFillTelephoneForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.761.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillTelephoneInboundFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFillTelephoneMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTelephoneOutboundFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTelephonePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillTelephoneXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm9.261 1.135a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillTerminalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm9.5 5.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-6.354-.354a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146z\"}}]})(props);\n};\nexport function BsFillThreadsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.81 9.204c0-.41.197-1.062 1.727-1.062.469 0 .758.034 1.146.121-.124 1.606-.91 1.818-1.674 1.818-.418 0-1.2-.218-1.2-.877Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.59 16h10.82A2.59 2.59 0 0 0 16 13.41V2.59A2.59 2.59 0 0 0 13.41 0H2.59A2.59 2.59 0 0 0 0 2.59v10.82A2.59 2.59 0 0 0 2.59 16ZM5.866 5.91c.567-.81 1.315-1.126 2.35-1.126.73 0 1.351.246 1.795.711.443.466.696 1.132.754 1.983.245.103.472.224.678.363.832.559 1.29 1.395 1.29 2.353 0 2.037-1.67 3.806-4.692 3.806-2.595 0-5.291-1.51-5.291-6.004C2.75 3.526 5.361 2 8.033 2c1.234 0 4.129.182 5.217 3.777l-1.02.264c-.842-2.56-2.607-2.968-4.224-2.968-2.675 0-4.187 1.628-4.187 5.093 0 3.107 1.69 4.757 4.222 4.757 2.083 0 3.636-1.082 3.636-2.667 0-1.079-.906-1.595-.953-1.595-.177.925-.651 2.482-2.733 2.482-1.213 0-2.26-.838-2.26-1.936 0-1.568 1.488-2.136 2.663-2.136.44 0 .97.03 1.247.086 0-.478-.404-1.296-1.426-1.296-.911 0-1.16.288-1.45.624l-.024.027c-.202-.135-.875-.601-.875-.601Z\"}}]})(props);\n};\nexport function BsFillThunderboltFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 0-1 1v7.293A1 1 0 0 0 .293 12L2 13.707a1 1 0 0 0 .707.293h10.586a1 1 0 0 0 .707-.293L15.707 12a1 1 0 0 0 .293-.707V4a1 1 0 0 0-1-1H1Zm2.5 3h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillTicketDetailedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A1.5 1.5 0 0 1 1.5 3h13A1.5 1.5 0 0 1 16 4.5V6a.5.5 0 0 1-.5.5 1.5 1.5 0 0 0 0 3 .5.5 0 0 1 .5.5v1.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5V10a.5.5 0 0 1 .5-.5 1.5 1.5 0 1 0 0-3A.5.5 0 0 1 0 6V4.5Zm4 1a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5Zm0 5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5ZM4 8a1 1 0 0 0 1 1h6a1 1 0 1 0 0-2H5a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsFillTicketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 3A1.5 1.5 0 0 0 0 4.5V6a.5.5 0 0 0 .5.5 1.5 1.5 0 1 1 0 3 .5.5 0 0 0-.5.5v1.5A1.5 1.5 0 0 0 1.5 13h13a1.5 1.5 0 0 0 1.5-1.5V10a.5.5 0 0 0-.5-.5 1.5 1.5 0 0 1 0-3A.5.5 0 0 0 16 6V4.5A1.5 1.5 0 0 0 14.5 3h-13Z\"}}]})(props);\n};\nexport function BsFillTicketPerforatedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A1.5 1.5 0 0 1 1.5 3h13A1.5 1.5 0 0 1 16 4.5V6a.5.5 0 0 1-.5.5 1.5 1.5 0 0 0 0 3 .5.5 0 0 1 .5.5v1.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5V10a.5.5 0 0 1 .5-.5 1.5 1.5 0 1 0 0-3A.5.5 0 0 1 0 6V4.5Zm4-1v1h1v-1H4Zm1 3v-1H4v1h1Zm7 0v-1h-1v1h1Zm-1-2h1v-1h-1v1Zm-6 3H4v1h1v-1Zm7 1v-1h-1v1h1Zm-7 1H4v1h1v-1Zm7 1v-1h-1v1h1Zm-8 1v1h1v-1H4Zm7 1h1v-1h-1v1Z\"}}]})(props);\n};\nexport function BsFillTrainFreightFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.736 0a1.5 1.5 0 0 0-.67.158L1.828 1.776A1.5 1.5 0 0 0 1 3.118v5.51l2-.6V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3.028l2 .6v-5.51a1.5 1.5 0 0 0-.83-1.342L10.936.158A1.5 1.5 0 0 0 10.264 0H5.736ZM15 9.672l-5.503-1.65A.5.5 0 0 0 9.353 8H8.5v8h4a2.5 2.5 0 0 0 2.5-2.5V9.672ZM7.5 16V8h-.853a.5.5 0 0 0-.144.021L1 9.672V13.5A2.5 2.5 0 0 0 3.5 16h4Zm-1-14h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1ZM12 5v2.728l-2.216-.665A1.5 1.5 0 0 0 9.354 7H8.5V5H12ZM7.5 5v2h-.853a1.5 1.5 0 0 0-.431.063L4 7.728V5h3.5Zm-4 5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm9 0a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM5 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm7 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"}}]})(props);\n};\nexport function BsFillTrainFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.621.515C8.647.02 7.353.02 5.38.515c-.924.23-1.982.766-2.78 1.22C1.566 2.322 1 3.432 1 4.582V13.5A2.5 2.5 0 0 0 3.5 16h9a2.5 2.5 0 0 0 2.5-2.5V4.583c0-1.15-.565-2.26-1.6-2.849-.797-.453-1.855-.988-2.779-1.22ZM6.5 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Zm-2 2h7A1.5 1.5 0 0 1 13 5.5v2A1.5 1.5 0 0 1 11.5 9h-7A1.5 1.5 0 0 1 3 7.5v-2A1.5 1.5 0 0 1 4.5 4Zm.5 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm8 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3-1a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM4 5.5a.5.5 0 0 1 .5-.5h3v3h-3a.5.5 0 0 1-.5-.5v-2ZM8.5 8V5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3Z\"}}]})(props);\n};\nexport function BsFillTrainLightrailFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1h1v1.011c-1.525.064-3.346.394-4.588.655C1.775 2.904 1 3.915 1 5.055V13.5A2.5 2.5 0 0 0 3.5 16h9a2.5 2.5 0 0 0 2.5-2.5V5.055c0-1.14-.775-2.15-1.912-2.39-1.242-.26-3.063-.59-4.588-.654V1h1a.5.5 0 0 0 0-1h-3ZM8 4c1.136 0 2.645.2 3.604.346.825.126 1.356.9 1.244 1.697-.022.16-.046.335-.07.522C12.643 7.596 12.5 8.949 12.5 10c0 .428.024.933.062 1.464.066.93.174 1.92.266 2.682.042.34.08.634.109.854h-1.01a62.703 62.703 0 0 1-.327-3H9.354c-.36 0-.704-.143-.958-.396a.353.353 0 0 0-.25-.104h-.292a.353.353 0 0 0-.25.104 1.354 1.354 0 0 1-.958.396H4.4a62.692 62.692 0 0 1-.328 3H3.064c.029-.22.067-.514.108-.854.092-.761.2-1.752.266-2.682.038-.531.062-1.036.062-1.464 0-1.051-.143-2.404-.278-3.435a51.762 51.762 0 0 0-.07-.522c-.112-.798.42-1.571 1.244-1.697C5.356 4.199 6.864 4 8 4Zm-1.354 7H4.47c.019-.353.03-.692.03-1 0-.927-.104-2.051-.216-3h7.432c-.112.949-.216 2.073-.216 3 0 .308.011.647.03 1H9.354a.353.353 0 0 1-.25-.104 1.354 1.354 0 0 0-.958-.396h-.292c-.36 0-.704.143-.958.396a.353.353 0 0 1-.25.104Zm5.199-5h-7.69l-.013-.096a.497.497 0 0 1 .405-.57C5.505 5.188 6.947 5 8 5s2.495.188 3.453.334a.497.497 0 0 1 .405.57L11.845 6ZM6 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm4 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\"}}]})(props);\n};\nexport function BsFillTrashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillTrash2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225zm9.89-.69C10.966 2.214 9.578 2 8 2c-1.58 0-2.968.215-3.926.534-.477.16-.795.327-.975.466.18.14.498.307.975.466C5.032 3.786 6.42 4 8 4s2.967-.215 3.926-.534c.477-.16.795-.327.975-.466-.18-.14-.498-.307-.975-.466z\"}}]})(props);\n};\nexport function BsFillTrash3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1.5v1h3.5a.5.5 0 0 1 0 1h-.538l-.853 10.66A2 2 0 0 1 11.115 16h-6.23a2 2 0 0 1-1.994-1.84L2.038 3.5H1.5a.5.5 0 0 1 0-1H5v-1A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5Zm-5 0v1h4v-1a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5ZM4.5 5.029l.5 8.5a.5.5 0 1 0 .998-.06l-.5-8.5a.5.5 0 1 0-.998.06Zm6.53-.528a.5.5 0 0 0-.528.47l-.5 8.5a.5.5 0 0 0 .998.058l.5-8.5a.5.5 0 0 0-.47-.528ZM8 4.5a.5.5 0 0 0-.5.5v8.5a.5.5 0 0 0 1 0V5a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsFillTreeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5z\"}}]})(props);\n};\nexport function BsFillTriangleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsFillTrophyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935z\"}}]})(props);\n};\nexport function BsFillTruckFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A2.5 2.5 0 0 0 1 2.5v9c0 .818.393 1.544 1 2v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V14h6v1.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2c.607-.456 1-1.182 1-2v-9A2.5 2.5 0 0 0 12.5 0h-9ZM3 3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3.9c0 .625-.562 1.092-1.17.994C10.925 7.747 9.208 7.5 8 7.5c-1.208 0-2.925.247-3.83.394A1.008 1.008 0 0 1 3 6.9V3Zm1 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm8 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-5-2h2a1 1 0 1 1 0 2H7a1 1 0 1 1 0-2Z\"}}]})(props);\n};\nexport function BsFillTvFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM2 2h12s2 0 2 2v6s0 2-2 2H2s-2 0-2-2V4s0-2 2-2z\"}}]})(props);\n};\nexport function BsFillUmbrellaFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsFillUnlockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsFillUsbCFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a3 3 0 0 0 0 6h10a3 3 0 1 0 0-6H3Zm.5 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsFillUsbDriveFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4H6v-4ZM7 1v1h1V1H7Zm2 0v1h1V1H9ZM5.5 5a.5.5 0 0 0-.5.5V15a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V5.5a.5.5 0 0 0-.5-.5h-6Z\"}}]})(props);\n};\nexport function BsFillUsbFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h15a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H.5Zm1.75 1.5h11.5a.25.25 0 0 1 .25.25v1a.25.25 0 0 1-.25.25H2.25A.25.25 0 0 1 2 7.75v-1a.25.25 0 0 1 .25-.25Z\"}}]})(props);\n};\nexport function BsFillUsbMicroFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.707 4A1 1 0 0 0 2 4.293L.293 6A1 1 0 0 0 0 6.707V11a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V6.707A1 1 0 0 0 15.707 6L14 4.293A1 1 0 0 0 13.293 4H2.707ZM4.5 7h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillUsbMiniFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 0 0-1 1v1.293L.293 7A1 1 0 0 0 0 7.707V12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7.707A1 1 0 0 0 15.707 7L14 5.293V4a1 1 0 0 0-1-1H3Zm.5 5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFillUsbPlugFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4H6v-4ZM7 1v1h1V1H7Zm2 0v1h1V1H9ZM5.5 5a.5.5 0 0 0-.5.5v4.894a2 2 0 0 0 .336 1.11l.83 1.245c.544.816.834 1.774.834 2.754 0 .275.222.497.497.497h2.006a.497.497 0 0 0 .497-.497c0-.98.29-1.938.834-2.754l.83-1.245a2 2 0 0 0 .336-1.11V5.5a.5.5 0 0 0-.5-.5h-6Z\"}}]})(props);\n};\nexport function BsFillVinylFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0z\"}}]})(props);\n};\nexport function BsFillVolumeDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zm3.025 4a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsFillVolumeMuteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zm7.137 2.096a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFillVolumeOffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsFillVolumeUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 11.182A4.486 4.486 0 0 0 10.025 8a4.486 4.486 0 0 0-1.318-3.182L8 5.525A3.489 3.489 0 0 1 9.025 8 3.49 3.49 0 0 1 8 10.475l.707.707zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsFillWalletFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v2h6a.5.5 0 0 1 .5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 0 1 .5-.5h6v-2A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.5h-5.551a2.678 2.678 0 0 1-.443 1.042C9.613 8.088 8.963 8.5 8 8.5c-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 0 1 5.551 6.5H0v6A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-6z\"}}]})(props);\n};\nexport function BsFillWebcamFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.644 11.094a.5.5 0 0 1 .356-.15h2a.5.5 0 0 1 .356.15c.175.177.39.347.603.496a7.166 7.166 0 0 0 .752.456l.01.006h.003A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.224-.947l.002-.001.01-.006a3.517 3.517 0 0 0 .214-.116 7.5 7.5 0 0 0 .539-.34c.214-.15.428-.319.603-.496ZM7 6.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H2Zm6 1.5a2 2 0 1 1 0 4 2 2 0 0 1 0-4ZM12.5 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"}}]})(props);\n};\nexport function BsFillWrenchAdjustableCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.705 8.139a.25.25 0 0 0-.288-.376l-1.5.5.159.474.808-.27-.595.894a.25.25 0 0 0 .287.376l.808-.27-.595.894a.25.25 0 0 0 .287.376l1.5-.5-.159-.474-.808.27.596-.894a.25.25 0 0 0-.288-.376l-.808.27.596-.894Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm-6.202-4.751 1.988-1.657a4.5 4.5 0 0 1 7.537-4.623L7.497 6.5l1 2.5 1.333 3.11c-.56.251-1.18.39-1.833.39a4.49 4.49 0 0 1-1.592-.29L4.747 14.2a7.031 7.031 0 0 1-2.949-2.951ZM12.496 8a4.491 4.491 0 0 1-1.703 3.526L9.497 8.5l2.959-1.11c.027.2.04.403.04.61Z\"}}]})(props);\n};\nexport function BsFillXCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"}}]})(props);\n};\nexport function BsFillXDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.047 3.339 8 7.293l3.954-3.954L9.049.435zm3.61 3.611L8.708 8l3.954 3.954 2.904-2.905c.58-.58.58-1.519 0-2.098l-2.904-2.905zm-.706 8.614L8 8.708l-3.954 3.954 2.905 2.904c.58.58 1.519.58 2.098 0l2.905-2.904zm-8.614-.706L7.292 8 3.339 4.046.435 6.951c-.58.58-.58 1.519 0 2.098l2.904 2.905z\"}}]})(props);\n};\nexport function BsFillXOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zm-6.106 4.5L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillXSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsReverseBackspaceReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.854 5.146a.5.5 0 0 1 0 .708L7.707 8l2.147 2.146a.5.5 0 0 1-.708.708L7 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L6.293 8 4.146 5.854a.5.5 0 1 1 .708-.708L7 7.293l2.146-2.147a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7.08a2 2 0 0 0 1.519-.698l4.843-5.651a1 1 0 0 0 0-1.302L10.6 1.7A2 2 0 0 0 9.08 1H2zm7.08 1a1 1 0 0 1 .76.35L14.682 8l-4.844 5.65a1 1 0 0 1-.759.35H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7.08z\"}}]})(props);\n};\nexport function BsReverseLayoutSidebarInsetReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsReverseLayoutSidebarReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3zm-5-1v12H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h9zm1 0h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2V2z\"}}]})(props);\n};\nexport function BsReverseLayoutTextSidebarReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm0 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm.5 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2zM4 1v14H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h2zm1 0h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5V1z\"}}]})(props);\n};\nexport function BsReverseLayoutTextWindowReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm0 3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM2 1a1 1 0 0 0-1 1v1h14V2a1 1 0 0 0-1-1H2zM1 4v10a1 1 0 0 0 1 1h2V4H1zm4 0v11h9a1 1 0 0 0 1-1V4H5z\"}}]})(props);\n};\nexport function BsReverseListColumnsReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 .5Zm4 0a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10A.5.5 0 0 1 4 .5Zm-4 2A.5.5 0 0 1 .5 2h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm-4 2A.5.5 0 0 1 .5 4h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm-4 2A.5.5 0 0 1 .5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm-4 2A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm-4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5Zm-4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm-4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function Bs0CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.012 4.158c1.858 0 2.96-1.582 2.96-3.99V7.84c0-2.426-1.079-3.996-2.936-3.996-1.864 0-2.965 1.588-2.965 3.996v.328c0 2.42 1.09 3.99 2.941 3.99Z\"}}]})(props);\n};\nexport function Bs0Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99ZM8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Z\"}}]})(props);\n};\nexport function Bs0SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99Z\"}}]})(props);\n};\nexport function Bs0Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.988 12.158c-1.851 0-2.941-1.57-2.941-3.99V7.84c0-2.408 1.101-3.996 2.965-3.996 1.857 0 2.935 1.57 2.935 3.996v.328c0 2.408-1.101 3.99-2.959 3.99ZM8 4.951c-1.008 0-1.629 1.09-1.629 2.895v.31c0 1.81.627 2.895 1.629 2.895s1.623-1.09 1.623-2.895v-.31c0-1.8-.621-2.895-1.623-2.895Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs1CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.283 4.002H7.971L6.072 5.385v1.271l1.834-1.318h.065V12h1.312V4.002Z\"}}]})(props);\n};\nexport function Bs1Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z\"}}]})(props);\n};\nexport function Bs1SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm7.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z\"}}]})(props);\n};\nexport function Bs1Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs123 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.873 11.297V4.142H1.699L0 5.379v1.137l1.64-1.18h.06v5.961h1.174Zm3.213-5.09v-.063c0-.618.44-1.169 1.196-1.169.676 0 1.174.44 1.174 1.106 0 .624-.42 1.101-.807 1.526L4.99 10.553v.744h4.78v-.99H6.643v-.069L8.41 8.252c.65-.724 1.237-1.332 1.237-2.27C9.646 4.849 8.723 4 7.308 4c-1.573 0-2.36 1.064-2.36 2.15v.057h1.138Zm6.559 1.883h.786c.823 0 1.374.481 1.379 1.179.01.707-.55 1.216-1.421 1.21-.77-.005-1.326-.419-1.379-.953h-1.095c.042 1.053.938 1.918 2.464 1.918 1.478 0 2.642-.839 2.62-2.144-.02-1.143-.922-1.651-1.551-1.714v-.063c.535-.09 1.347-.66 1.326-1.678-.026-1.053-.933-1.855-2.359-1.845-1.5.005-2.317.88-2.348 1.898h1.116c.032-.498.498-.944 1.206-.944.703 0 1.206.435 1.206 1.07.005.64-.504 1.106-1.2 1.106h-.75v.96Z\"}}]})(props);\n};\nexport function Bs2CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM6.646 6.24c0-.691.493-1.306 1.336-1.306.756 0 1.313.492 1.313 1.236 0 .697-.469 1.23-.902 1.705l-2.971 3.293V12h5.344v-1.107H7.268v-.077l1.974-2.22.096-.107c.688-.763 1.287-1.428 1.287-2.43 0-1.266-1.031-2.215-2.613-2.215-1.758 0-2.637 1.19-2.637 2.402v.065h1.271v-.07Z\"}}]})(props);\n};\nexport function Bs2Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM6.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z\"}}]})(props);\n};\nexport function Bs2SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm4.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z\"}}]})(props);\n};\nexport function Bs2Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs3CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.082.414c.92 0 1.535.54 1.541 1.318.012.791-.615 1.36-1.588 1.354-.861-.006-1.482-.469-1.54-1.066H5.104c.047 1.177 1.05 2.144 2.754 2.144 1.653 0 2.954-.937 2.93-2.396-.023-1.278-1.031-1.846-1.734-1.916v-.07c.597-.1 1.505-.739 1.482-1.876-.03-1.177-1.043-2.074-2.637-2.062-1.675.006-2.59.984-2.625 2.12h1.248c.036-.556.557-1.054 1.348-1.054.785 0 1.348.486 1.348 1.195.006.715-.563 1.237-1.342 1.237h-.838v1.072h.879Z\"}}]})(props);\n};\nexport function Bs3Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Z\"}}]})(props);\n};\nexport function Bs3SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z\"}}]})(props);\n};\nexport function Bs3Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs4CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7.519 5.057c-.886 1.418-1.772 2.838-2.542 4.265v1.12H8.85V12h1.26v-1.559h1.007V9.334H10.11V4.002H8.176c-.218.352-.438.703-.657 1.055ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z\"}}]})(props);\n};\nexport function Bs4Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Z\"}}]})(props);\n};\nexport function Bs4SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265Z\"}}]})(props);\n};\nexport function Bs4Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs5CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.006 4.158c1.74 0 2.924-1.119 2.924-2.806 0-1.641-1.178-2.584-2.56-2.584-.897 0-1.442.421-1.612.68h-.064l.193-2.344h3.621V4.002H5.791L5.445 8.63h1.149c.193-.358.668-.809 1.435-.809.85 0 1.582.604 1.582 1.57 0 1.085-.779 1.682-1.57 1.682-.697 0-1.389-.31-1.53-1.031H5.276c.065 1.213 1.149 2.115 2.72 2.115Z\"}}]})(props);\n};\nexport function Bs5Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Zm15 0A8 8 0 1 0 0 8a8 8 0 0 0 16 0Zm-8.006 4.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z\"}}]})(props);\n};\nexport function Bs5SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z\"}}]})(props);\n};\nexport function Bs5Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs6CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.21 3.855c-1.868 0-3.116 1.395-3.116 4.407 0 1.183.228 2.039.597 2.642.569.926 1.477 1.254 2.409 1.254 1.629 0 2.847-1.013 2.847-2.783 0-1.676-1.254-2.555-2.508-2.555-1.125 0-1.752.61-1.98 1.155h-.082c-.012-1.946.727-3.036 1.805-3.036.802 0 1.213.457 1.312.815h1.29c-.06-.908-.962-1.899-2.573-1.899Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z\"}}]})(props);\n};\nexport function Bs6Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z\"}}]})(props);\n};\nexport function Bs6SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.111 7.863c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Z\"}}]})(props);\n};\nexport function Bs6Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs7CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.37 5.11h3.972v.07L6.025 12H7.42l3.258-6.85V4.002H5.369v1.107Z\"}}]})(props);\n};\nexport function Bs7Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z\"}}]})(props);\n};\nexport function Bs7SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z\"}}]})(props);\n};\nexport function Bs7Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs8CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5.03 1.803c0-1.248-.943-1.84-1.646-1.992v-.065c.598-.187 1.336-.72 1.336-1.781 0-1.225-1.084-2.121-2.654-2.121-1.57 0-2.66.896-2.66 2.12 0 1.044.709 1.589 1.33 1.782v.065c-.697.152-1.647.732-1.647 2.003 0 1.39 1.19 2.344 2.953 2.344 1.77 0 2.989-.96 2.989-2.355Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z\"}}]})(props);\n};\nexport function Bs8Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5.03 1.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z\"}}]})(props);\n};\nexport function Bs8SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.623 6.094c0 .738.586 1.254 1.383 1.254s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.644c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm8.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Z\"}}]})(props);\n};\nexport function Bs8Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function Bs9CircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.223 4.146c2.104 0 3.123-1.464 3.123-4.3 0-3.147-1.459-4.014-2.97-4.014-1.63 0-2.871 1.02-2.871 2.73 0 1.706 1.171 2.667 2.566 2.667 1.06 0 1.7-.557 1.934-1.184h.076c.047 1.67-.475 3.023-1.834 3.023-.71 0-1.149-.363-1.248-.72H5.258c.094.908.926 1.798 2.52 1.798Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z\"}}]})(props);\n};\nexport function Bs9Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.223 4.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z\"}}]})(props);\n};\nexport function Bs9SquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.895 8.174c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Z\"}}]})(props);\n};\nexport function Bs9Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function BsActivity (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2Z\"}}]})(props);\n};\nexport function BsAirplaneEnginesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.787 0-1.292.592-1.572 1.151A4.347 4.347 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0Z\"}}]})(props);\n};\nexport function BsAirplaneEngines (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.787 0-1.292.592-1.572 1.151A4.347 4.347 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0ZM7 3c0-.432.11-.979.322-1.401C7.542 1.159 7.787 1 8 1c.213 0 .458.158.678.599C8.889 2.02 9 2.569 9 3v4a.5.5 0 0 0 .276.447l5.448 2.724a.5.5 0 0 1 .276.447v.792l-5.418-.903a.5.5 0 0 0-.575.41l-.5 3a.5.5 0 0 0 .14.437l.646.646H6.707l.647-.646a.5.5 0 0 0 .14-.436l-.5-3a.5.5 0 0 0-.576-.411L1 11.41v-.792a.5.5 0 0 1 .276-.447l5.448-2.724A.5.5 0 0 0 7 7V3Z\"}}]})(props);\n};\nexport function BsAirplaneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.428 1.151C6.708.591 7.213 0 8 0s1.292.592 1.572 1.151C9.861 1.73 10 2.431 10 3v3.691l5.17 2.585a1.5 1.5 0 0 1 .83 1.342V12a.5.5 0 0 1-.582.493l-5.507-.918-.375 2.253 1.318 1.318A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.354-.854l1.319-1.318-.376-2.253-5.507.918A.5.5 0 0 1 0 12v-1.382a1.5 1.5 0 0 1 .83-1.342L6 6.691V3c0-.568.14-1.271.428-1.849Z\"}}]})(props);\n};\nexport function BsAirplane (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.428 1.151C6.708.591 7.213 0 8 0s1.292.592 1.572 1.151C9.861 1.73 10 2.431 10 3v3.691l5.17 2.585a1.5 1.5 0 0 1 .83 1.342V12a.5.5 0 0 1-.582.493l-5.507-.918-.375 2.253 1.318 1.318A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.354-.854l1.319-1.318-.376-2.253-5.507.918A.5.5 0 0 1 0 12v-1.382a1.5 1.5 0 0 1 .83-1.342L6 6.691V3c0-.568.14-1.271.428-1.849Zm.894.448C7.111 2.02 7 2.569 7 3v4a.5.5 0 0 1-.276.447l-5.448 2.724a.5.5 0 0 0-.276.447v.792l5.418-.903a.5.5 0 0 1 .575.41l.5 3a.5.5 0 0 1-.14.437L6.708 15h2.586l-.647-.646a.5.5 0 0 1-.14-.436l.5-3a.5.5 0 0 1 .576-.411L15 11.41v-.792a.5.5 0 0 0-.276-.447L9.276 7.447A.5.5 0 0 1 9 7V3c0-.432-.11-.979-.322-1.401C8.458 1.159 8.213 1 8 1c-.213 0-.458.158-.678.599Z\"}}]})(props);\n};\nexport function BsAlarmFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z\"}}]})(props);\n};\nexport function BsAlarm (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z\"}}]})(props);\n};\nexport function BsAlexa (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.996 0A7.998 7.998 0 0 0 0 8a8 8 0 0 0 6.93 7.93v-1.613a1.06 1.06 0 0 0-.717-1.008A5.602 5.602 0 0 1 2.4 7.865 5.579 5.579 0 0 1 8.054 2.4a5.599 5.599 0 0 1 5.535 5.81l-.002.046a6.116 6.116 0 0 1-.012.192l-.005.061a4.85 4.85 0 0 1-.033.284l-.01.068c-.685 4.516-6.564 7.054-6.596 7.068A7.998 7.998 0 0 0 15.992 8 7.998 7.998 0 0 0 7.996.001Z\"}}]})(props);\n};\nexport function BsAlignBottom (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"x\":\"6\",\"y\":\"1\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 14a.5.5 0 0 0 0 1v-1zm13 1a.5.5 0 0 0 0-1v1zm-13 0h13v-1h-13v1z\"}}]})(props);\n};\nexport function BsAlignCenter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a.5.5 0 0 1 .5.5V6h-1V1.5A.5.5 0 0 1 8 1zm0 14a.5.5 0 0 1-.5-.5V10h1v4.5a.5.5 0 0 1-.5.5zM2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsAlignEnd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z\"}}]})(props);\n};\nexport function BsAlignMiddle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsAlignStart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsAlignTop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"rx\":\"1\",\"transform\":\"matrix(1 0 0 -1 6 15)\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2a.5.5 0 0 1 0-1v1zm13-1a.5.5 0 0 1 0 1V1zm-13 0h13v1h-13V1z\"}}]})(props);\n};\nexport function BsAlipay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.541 0H13.5a2.551 2.551 0 0 1 2.54 2.563v8.297c-.006 0-.531-.046-2.978-.813-.412-.14-.916-.327-1.479-.536-.303-.113-.624-.232-.957-.353a12.98 12.98 0 0 0 1.325-3.373H8.822V4.649h3.831v-.634h-3.83V2.121H7.26c-.274 0-.274.273-.274.273v1.621H3.11v.634h3.875v1.136h-3.2v.634H9.99c-.227.789-.532 1.53-.894 2.202-2.013-.67-4.161-1.212-5.51-.878-.864.214-1.42.597-1.746.998-1.499 1.84-.424 4.633 2.741 4.633 1.872 0 3.675-1.053 5.072-2.787 2.08 1.008 6.37 2.738 6.387 2.745v.105A2.551 2.551 0 0 1 13.5 16H2.541A2.552 2.552 0 0 1 0 13.437V2.563A2.552 2.552 0 0 1 2.541 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.309 9.27c-1.22 1.073-.49 3.034 1.978 3.034 1.434 0 2.868-.925 3.994-2.406-1.602-.789-2.959-1.353-4.425-1.207-.397.04-1.14.217-1.547.58Z\"}}]})(props);\n};\nexport function BsAlphabetUppercase (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.226 10.88H0l2.056-6.26h1.42l2.047 6.26h-1.29l-.48-1.61H1.707l-.48 1.61ZM2.76 5.818h-.054l-.75 2.532H3.51l-.75-2.532Zm3.217 5.062V4.62h2.56c1.09 0 1.808.582 1.808 1.54 0 .762-.444 1.22-1.05 1.372v.055c.736.074 1.365.587 1.365 1.528 0 1.119-.89 1.766-2.133 1.766h-2.55ZM7.18 5.55v1.675h.8c.812 0 1.171-.308 1.171-.853 0-.51-.328-.822-.898-.822H7.18Zm0 2.537V9.95h.903c.951 0 1.342-.312 1.342-.909 0-.591-.382-.954-1.095-.954H7.18Zm5.089-.711v.775c0 1.156.49 1.803 1.347 1.803.705 0 1.163-.454 1.212-1.096H16v.12C15.942 10.173 14.95 11 13.607 11c-1.648 0-2.573-1.073-2.573-2.849v-.78c0-1.775.934-2.871 2.573-2.871 1.347 0 2.34.849 2.393 2.087v.115h-1.172c-.05-.665-.516-1.156-1.212-1.156-.849 0-1.347.67-1.347 1.83Z\"}}]})(props);\n};\nexport function BsAlphabet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.204 11.078c.767 0 1.201-.356 1.406-.737h.059V11h1.216V7.519c0-1.314-.947-1.783-2.11-1.783C1.355 5.736.75 6.42.69 7.27h1.216c.064-.323.313-.552.84-.552.527 0 .864.249.864.771v.464H2.346C1.145 7.953.5 8.568.5 9.496c0 .977.693 1.582 1.704 1.582Zm.42-.947c-.44 0-.845-.235-.845-.718 0-.395.269-.684.84-.684h.991v.538c0 .503-.444.864-.986.864Zm5.593.937c1.216 0 1.948-.869 1.948-2.31v-.702c0-1.44-.727-2.305-1.929-2.305-.742 0-1.328.347-1.499.889h-.063V3.983h-1.29V11h1.27v-.791h.064c.21.532.776.86 1.499.86Zm-.43-1.025c-.66 0-1.113-.518-1.113-1.28V8.12c0-.825.42-1.343 1.098-1.343.684 0 1.075.518 1.075 1.416v.45c0 .888-.386 1.401-1.06 1.401Zm2.834-1.328c0 1.47.87 2.378 2.305 2.378 1.416 0 2.139-.777 2.158-1.763h-1.186c-.06.425-.313.732-.933.732-.66 0-1.05-.512-1.05-1.352v-.625c0-.81.371-1.328 1.045-1.328.635 0 .879.425.918.776h1.187c-.02-.986-.787-1.806-2.14-1.806-1.41 0-2.304.918-2.304 2.338v.65Z\"}}]})(props);\n};\nexport function BsAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 13.5a.5.5 0 0 0 .5.5h3.797a.5.5 0 0 0 .439-.26L11 3h3.5a.5.5 0 0 0 0-1h-3.797a.5.5 0 0 0-.439.26L5 13H1.5a.5.5 0 0 0-.5.5zm10 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsAmazon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.813 11.968c.157.083.36.074.5-.05l.005.005a89.521 89.521 0 0 1 1.623-1.405c.173-.143.143-.372.006-.563l-.125-.17c-.345-.465-.673-.906-.673-1.791v-3.3l.001-.335c.008-1.265.014-2.421-.933-3.305C10.404.274 9.06 0 8.03 0 6.017 0 3.77.75 3.296 3.24c-.047.264.143.404.316.443l2.054.22c.19-.009.33-.196.366-.387.176-.857.896-1.271 1.703-1.271.435 0 .929.16 1.188.55.264.39.26.91.257 1.376v.432c-.199.022-.407.044-.621.065-1.113.114-2.397.246-3.36.67C3.873 5.91 2.94 7.08 2.94 8.798c0 2.2 1.387 3.298 3.168 3.298 1.506 0 2.328-.354 3.489-1.54l.167.246c.274.405.456.675 1.047 1.166ZM6.03 8.431C6.03 6.627 7.647 6.3 9.177 6.3v.57c.001.776.002 1.434-.396 2.133-.336.595-.87.961-1.465.961-.812 0-1.286-.619-1.286-1.533ZM.435 12.174c2.629 1.603 6.698 4.084 13.183.997.28-.116.475.078.199.431C13.538 13.96 11.312 16 7.57 16 3.832 16 .968 13.446.094 12.386c-.24-.275.036-.4.199-.299l.142.087Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.828 11.943c.567-.07 1.468-.027 1.645.204.135.176-.004.966-.233 1.533-.23.563-.572.961-.762 1.115-.191.154-.333.094-.23-.137.105-.23.684-1.663.455-1.963-.213-.278-1.177-.177-1.625-.13l-.09.009c-.095.008-.172.017-.233.024-.193.021-.245.027-.274-.032-.074-.209.779-.556 1.347-.623Z\"}}]})(props);\n};\nexport function BsAmd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.334 0 4.358 4.359h7.15v7.15l4.358 4.358V0H.334ZM.2 9.72l4.487-4.488v6.281h6.28L6.48 16H.2V9.72Z\"}}]})(props);\n};\nexport function BsAndroid (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.76 3.061a.5.5 0 0 1 .679.2l1.283 2.352A8.94 8.94 0 0 1 8 5a8.94 8.94 0 0 1 3.278.613l1.283-2.352a.5.5 0 1 1 .878.478l-1.252 2.295C14.475 7.266 16 9.477 16 12H0c0-2.523 1.525-4.734 3.813-5.966L2.56 3.74a.5.5 0 0 1 .2-.678ZM5 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}}]})(props);\n};\nexport function BsAndroid2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.213 1.471.691-1.26c.046-.083.03-.147-.048-.192-.085-.038-.15-.019-.195.058l-.7 1.27A4.832 4.832 0 0 0 8.005.941c-.688 0-1.34.135-1.956.404l-.7-1.27C5.303 0 5.239-.018 5.154.02c-.078.046-.094.11-.049.193l.691 1.259a4.25 4.25 0 0 0-1.673 1.476A3.697 3.697 0 0 0 3.5 5.02h9c0-.75-.208-1.44-.623-2.072a4.266 4.266 0 0 0-1.664-1.476ZM6.22 3.303a.367.367 0 0 1-.267.11.35.35 0 0 1-.263-.11.366.366 0 0 1-.107-.264.37.37 0 0 1 .107-.265.351.351 0 0 1 .263-.11c.103 0 .193.037.267.11a.36.36 0 0 1 .112.265.36.36 0 0 1-.112.264Zm4.101 0a.351.351 0 0 1-.262.11.366.366 0 0 1-.268-.11.358.358 0 0 1-.112-.264c0-.103.037-.191.112-.265a.367.367 0 0 1 .268-.11c.104 0 .19.037.262.11a.367.367 0 0 1 .107.265c0 .102-.035.19-.107.264ZM3.5 11.77c0 .294.104.544.311.75.208.204.46.307.76.307h.758l.01 2.182c0 .276.097.51.292.703a.961.961 0 0 0 .7.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h1.343v2.182c0 .276.097.51.292.703a.972.972 0 0 0 .71.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h.76c.291 0 .54-.103.749-.308.207-.205.311-.455.311-.75V5.365h-9v6.404Zm10.495-6.587a.983.983 0 0 0-.702.278.91.91 0 0 0-.293.685v4.063c0 .271.098.501.293.69a.97.97 0 0 0 .702.284c.28 0 .517-.095.712-.284a.924.924 0 0 0 .293-.69V6.146a.91.91 0 0 0-.293-.685.995.995 0 0 0-.712-.278Zm-12.702.283a.985.985 0 0 1 .712-.283c.273 0 .507.094.702.283a.913.913 0 0 1 .293.68v4.063a.932.932 0 0 1-.288.69.97.97 0 0 1-.707.284.986.986 0 0 1-.712-.284.924.924 0 0 1-.293-.69V6.146c0-.264.098-.491.293-.68Z\"}}]})(props);\n};\nexport function BsAppIndicator (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsApp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h6zM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5z\"}}]})(props);\n};\nexport function BsApple (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43Zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43Zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282Z\"}}]})(props);\n};\nexport function BsArchiveFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z\"}}]})(props);\n};\nexport function BsArchive (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsArrow90DegDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.854 14.854a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V3.5A2.5 2.5 0 0 1 6.5 1h8a.5.5 0 0 1 0 1h-8A1.5 1.5 0 0 0 5 3.5v9.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4z\"}}]})(props);\n};\nexport function BsArrow90DegLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z\"}}]})(props);\n};\nexport function BsArrow90DegRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z\"}}]})(props);\n};\nexport function BsArrow90DegUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.854 1.146a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L4 2.707V12.5A2.5 2.5 0 0 0 6.5 15h8a.5.5 0 0 0 0-1h-8A1.5 1.5 0 0 1 5 12.5V2.707l3.146 3.147a.5.5 0 1 0 .708-.708l-4-4z\"}}]})(props);\n};\nexport function BsArrowBarDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z\"}}]})(props);\n};\nexport function BsArrowBarLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z\"}}]})(props);\n};\nexport function BsArrowBarRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8Zm-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5Z\"}}]})(props);\n};\nexport function BsArrowBarUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 10a.5.5 0 0 0 .5-.5V3.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 3.707V9.5a.5.5 0 0 0 .5.5zm-7 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsArrowClockwise (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z\"}}]})(props);\n};\nexport function BsArrowCounterclockwise (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z\"}}]})(props);\n};\nexport function BsArrowDownCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownLeftCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z\"}}]})(props);\n};\nexport function BsArrowDownLeftCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904-2.854a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z\"}}]})(props);\n};\nexport function BsArrowDownLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z\"}}]})(props);\n};\nexport function BsArrowDownLeftSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 3.146a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z\"}}]})(props);\n};\nexport function BsArrowDownLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 13.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1H3.707L13.854 2.854a.5.5 0 0 0-.708-.708L3 12.293V7.5a.5.5 0 0 0-1 0v6z\"}}]})(props);\n};\nexport function BsArrowDownRightCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z\"}}]})(props);\n};\nexport function BsArrowDownRightCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 5.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z\"}}]})(props);\n};\nexport function BsArrowDownRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z\"}}]})(props);\n};\nexport function BsArrowDownRightSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 3.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z\"}}]})(props);\n};\nexport function BsArrowDownRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 13.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1 0-1h4.793L2.146 2.854a.5.5 0 1 1 .708-.708L13 12.293V7.5a.5.5 0 0 1 1 0v6z\"}}]})(props);\n};\nexport function BsArrowDownShort (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsArrowDownSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsArrowDownSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 2.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z\"}}]})(props);\n};\nexport function BsArrowLeftCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeftCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.5-.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeftRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowLeftShort (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z\"}}]})(props);\n};\nexport function BsArrowLeftSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm11.5 5.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\"}}]})(props);\n};\nexport function BsArrowRepeat (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z\"}}]})(props);\n};\nexport function BsArrowReturnLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsArrowReturnRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 1.5A.5.5 0 0 0 1 2v4.8a2.5 2.5 0 0 0 2.5 2.5h9.793l-3.347 3.346a.5.5 0 0 0 .708.708l4.2-4.2a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 8.3H3.5A1.5 1.5 0 0 1 2 6.8V2a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsArrowRightCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRightCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRightShort (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsArrowRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsArrowRightSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4.5 5.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsArrowThroughHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l3.103-3.104a.5.5 0 1 1 .708.708L4.5 12.207V14a.5.5 0 0 1-.146.354l-1.5 1.5ZM16 3.5a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182A23.825 23.825 0 0 1 5.8 12.323L8.31 9.81a1.5 1.5 0 0 0-2.122-2.122L3.657 10.22a8.827 8.827 0 0 1-1.039-1.57c-.798-1.576-.775-2.997-.213-4.093C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3Z\"}}]})(props);\n};\nexport function BsArrowThroughHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l.53-.53c-.771-.802-1.328-1.58-1.704-2.32-.798-1.575-.775-2.996-.213-4.092C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182a21.86 21.86 0 0 1-2.685-2.062l-.539.54V14a.5.5 0 0 1-.146.354l-1.5 1.5Zm2.893-4.894A20.419 20.419 0 0 0 8 12.71c2.456-1.666 3.827-3.207 4.489-4.512.679-1.34.607-2.42.215-3.185-.817-1.595-3.087-2.054-4.346-.761L8 4.62l-.358-.368c-1.259-1.293-3.53-.834-4.346.761-.392.766-.464 1.845.215 3.185.323.636.815 1.33 1.519 2.065l1.866-1.867a.5.5 0 1 1 .708.708L5.747 10.96Z\"}}]})(props);\n};\nexport function BsArrowUpCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUpCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUpLeftCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeftCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z\"}}]})(props);\n};\nexport function BsArrowUpLeftSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 8.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H3.707l10.147 10.146a.5.5 0 0 1-.708.708L3 3.707V8.5a.5.5 0 0 1-1 0v-6z\"}}]})(props);\n};\nexport function BsArrowUpRightCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRightCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 10.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z\"}}]})(props);\n};\nexport function BsArrowUpRightSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 8.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 2.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h4.793L2.146 13.146a.5.5 0 0 0 .708.708L13 3.707V8.5a.5.5 0 0 0 1 0v-6z\"}}]})(props);\n};\nexport function BsArrowUpShort (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"}}]})(props);\n};\nexport function BsArrowUpSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z\"}}]})(props);\n};\nexport function BsArrowUpSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 9.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z\"}}]})(props);\n};\nexport function BsArrowsAngleContract (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.172 15.828a.5.5 0 0 0 .707 0l4.096-4.096V14.5a.5.5 0 1 0 1 0v-3.975a.5.5 0 0 0-.5-.5H1.5a.5.5 0 0 0 0 1h2.768L.172 15.121a.5.5 0 0 0 0 .707zM15.828.172a.5.5 0 0 0-.707 0l-4.096 4.096V1.5a.5.5 0 1 0-1 0v3.975a.5.5 0 0 0 .5.5H14.5a.5.5 0 0 0 0-1h-2.768L15.828.879a.5.5 0 0 0 0-.707z\"}}]})(props);\n};\nexport function BsArrowsAngleExpand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707z\"}}]})(props);\n};\nexport function BsArrowsCollapseVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM0 8a.5.5 0 0 1 .5-.5h3.793L3.146 6.354a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L4.293 8.5H.5A.5.5 0 0 1 0 8Zm11.707.5 1.147 1.146a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708.708L11.707 7.5H15.5a.5.5 0 0 1 0 1h-3.793Z\"}}]})(props);\n};\nexport function BsArrowsCollapse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8Zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0Zm-.5 11.707-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793Z\"}}]})(props);\n};\nexport function BsArrowsExpandVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2ZM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8Z\"}}]})(props);\n};\nexport function BsArrowsExpand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8ZM7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2ZM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10Z\"}}]})(props);\n};\nexport function BsArrowsFullscreen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344 0a.5.5 0 0 1 .707 0l4.096 4.096V11.5a.5.5 0 1 1 1 0v3.975a.5.5 0 0 1-.5.5H11.5a.5.5 0 0 1 0-1h2.768l-4.096-4.096a.5.5 0 0 1 0-.707zm0-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707zm-4.344 0a.5.5 0 0 1-.707 0L1.025 1.732V4.5a.5.5 0 0 1-1 0V.525a.5.5 0 0 1 .5-.5H4.5a.5.5 0 0 1 0 1H1.732l4.096 4.096a.5.5 0 0 1 0 .707z\"}}]})(props);\n};\nexport function BsArrowsMove (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10zM.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2zM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8z\"}}]})(props);\n};\nexport function BsArrowsVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 14.854a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 13.293V2.707L6.354 3.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 2.707v10.586l1.146-1.147a.5.5 0 0 1 .708.708l-2 2Z\"}}]})(props);\n};\nexport function BsArrows (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L2.707 7.5h10.586l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L13.293 8.5H2.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2Z\"}}]})(props);\n};\nexport function BsAspectRatioFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z\"}}]})(props);\n};\nexport function BsAspectRatio (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H3v2.5a.5.5 0 0 1-1 0v-3zm12 7a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H13V8.5a.5.5 0 0 1 1 0v3z\"}}]})(props);\n};\nexport function BsAsterisk (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 1 1 1v5.268l4.562-2.634a1 1 0 1 1 1 1.732L10 8l4.562 2.634a1 1 0 1 1-1 1.732L9 9.732V15a1 1 0 1 1-2 0V9.732l-4.562 2.634a1 1 0 1 1-1-1.732L6 8 1.438 5.366a1 1 0 0 1 1-1.732L7 6.268V1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsAt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.106 7.222c0-2.967-2.249-5.032-5.482-5.032-3.35 0-5.646 2.318-5.646 5.702 0 3.493 2.235 5.708 5.762 5.708.862 0 1.689-.123 2.304-.335v-.862c-.43.199-1.354.328-2.29.328-2.926 0-4.813-1.88-4.813-4.798 0-2.844 1.921-4.881 4.594-4.881 2.735 0 4.608 1.688 4.608 4.156 0 1.682-.554 2.769-1.416 2.769-.492 0-.772-.28-.772-.76V5.206H8.923v.834h-.11c-.266-.595-.881-.964-1.6-.964-1.4 0-2.378 1.162-2.378 2.823 0 1.737.957 2.906 2.379 2.906.8 0 1.415-.39 1.709-1.087h.11c.081.67.703 1.148 1.503 1.148 1.572 0 2.57-1.415 2.57-3.643zm-7.177.704c0-1.197.54-1.907 1.456-1.907.93 0 1.524.738 1.524 1.907S8.308 9.84 7.371 9.84c-.895 0-1.442-.725-1.442-1.914z\"}}]})(props);\n};\nexport function BsAwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsAward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68L9.669.864zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 10.874l-1.355-.702-1.51-.229-.684-1.365-1.086-1.072L3.614 6l-.25-1.506 1.087-1.072.684-1.365 1.51-.229L8 1.126l1.356.702 1.509.229z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsBack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsBackpackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13v-3h4v.5a.5.5 0 0 0 1 0V10h1v3H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v.341C3.67 3.165 2 5.388 2 8v5.5A2.5 2.5 0 0 0 4.5 16h7a2.5 2.5 0 0 0 2.5-2.5V8a6.002 6.002 0 0 0-4-5.659V2a2 2 0 1 0-4 0Zm2-1a1 1 0 0 1 1 1v.083a6.04 6.04 0 0 0-2 0V2a1 1 0 0 1 1-1Zm0 3a4 4 0 0 1 3.96 3.43.5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14A4 4 0 0 1 8 4ZM4.5 9h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsBackpack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.04 7.43a4 4 0 0 1 7.92 0 .5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14ZM4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4Zm1 .5v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2.341V2a2 2 0 1 1 4 0v.341c2.33.824 4 3.047 4 5.659v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5V8a6.002 6.002 0 0 1 4-5.659ZM7 2v.083a6.04 6.04 0 0 1 2 0V2a1 1 0 0 0-2 0Zm1 1a5 5 0 0 0-5 5v5.5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5V8a5 5 0 0 0-5-5Z\"}}]})(props);\n};\nexport function BsBackpack2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v.341C3.67 3.165 2 5.388 2 8v1.191l-1.17.585A1.5 1.5 0 0 0 0 11.118V13.5A1.5 1.5 0 0 0 1.5 15h1c.456.607 1.182 1 2 1h7c.818 0 1.544-.393 2-1h1a1.5 1.5 0 0 0 1.5-1.5v-2.382a1.5 1.5 0 0 0-.83-1.342L14 9.191V8a6.002 6.002 0 0 0-4-5.659V2a2 2 0 1 0-4 0Zm2-1a1 1 0 0 1 1 1v.083a6.04 6.04 0 0 0-2 0V2a1 1 0 0 1 1-1Zm0 3a4 4 0 0 1 3.96 3.43.5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14A4 4 0 0 1 8 4ZM4.5 9h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsBackpack2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.04 7.43a4 4 0 0 1 7.92 0 .5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4Zm1 .5v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2.341V2a2 2 0 1 1 4 0v.341c2.33.824 4 3.047 4 5.659v1.191l1.17.585a1.5 1.5 0 0 1 .83 1.342V13.5a1.5 1.5 0 0 1-1.5 1.5h-1c-.456.607-1.182 1-2 1h-7a2.497 2.497 0 0 1-2-1h-1A1.5 1.5 0 0 1 0 13.5v-2.382a1.5 1.5 0 0 1 .83-1.342L2 9.191V8a6.002 6.002 0 0 1 4-5.659ZM7 2v.083a6.04 6.04 0 0 1 2 0V2a1 1 0 0 0-2 0ZM3 13.5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5V8A5 5 0 0 0 3 8v5.5Zm-1-3.19-.724.362a.5.5 0 0 0-.276.447V13.5a.5.5 0 0 0 .5.5H2v-3.691Zm12 0V14h.5a.5.5 0 0 0 .5-.5v-2.382a.5.5 0 0 0-.276-.447L14 10.309Z\"}}]})(props);\n};\nexport function BsBackpack3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2v.341a5.978 5.978 0 0 0-1.308.653l-.416-1.247a1 1 0 0 0-1.749-.284l-.77 1.027a1 1 0 0 0-.149.917l.803 2.407A5.985 5.985 0 0 0 2 8v5.5A2.5 2.5 0 0 0 4.5 16h7a2.5 2.5 0 0 0 2.5-2.5V8c0-.771-.146-1.509-.41-2.186l.801-2.407a1 1 0 0 0-.148-.917l-.77-1.027a1 1 0 0 0-1.75.284l-.415 1.247A5.976 5.976 0 0 0 10 2.34V2a2 2 0 1 0-4 0Zm1 0a1 1 0 0 1 2 0v.083a6.04 6.04 0 0 0-2 0V2Zm5.941 2.595a6.036 6.036 0 0 0-.8-.937l.531-1.595.77 1.027-.5 1.505ZM3.86 3.658a6.031 6.031 0 0 0-.8.937L2.557 3.09l.77-1.027.532 1.595Zm.18 3.772a4 4 0 0 1 7.92 0 .5.5 0 1 1-.99.142 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.142ZM4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4Z\"}}]})(props);\n};\nexport function BsBackpack3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.04 7.43a4 4 0 0 1 7.92 0 .5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14ZM4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4Zm1 .5v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2.341V2a2 2 0 1 1 4 0v.341c.465.165.904.385 1.308.653l.416-1.247a1 1 0 0 1 1.748-.284l.77 1.027a1 1 0 0 1 .15.917l-.803 2.407C13.854 6.49 14 7.229 14 8v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5V8c0-.771.146-1.509.41-2.186l-.802-2.407a1 1 0 0 1 .15-.917l.77-1.027a1 1 0 0 1 1.748.284l.416 1.247A5.978 5.978 0 0 1 6 2.34ZM7 2v.083a6.04 6.04 0 0 1 2 0V2a1 1 0 1 0-2 0Zm5.941 2.595.502-1.505-.77-1.027-.532 1.595c.297.284.566.598.8.937ZM3.86 3.658l-.532-1.595-.77 1.027.502 1.505c.234-.339.502-.653.8-.937ZM8 3a5 5 0 0 0-5 5v5.5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5V8a5 5 0 0 0-5-5Z\"}}]})(props);\n};\nexport function BsBackpack4Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a2 2 0 0 0-2 2H3.5a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h4v.5a.5.5 0 0 0 1 0V7h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H10a2 2 0 0 0-2-2Zm1 2a1 1 0 0 0-2 0h2Zm-4 9v2h6v-2h-1v.5a.5.5 0 0 1-1 0V11H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.599A2.986 2.986 0 0 1 12.5 8H9.415a1.5 1.5 0 0 1-2.83 0H3.5A2.986 2.986 0 0 1 2 7.599V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.599ZM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-3Z\"}}]})(props);\n};\nexport function BsBackpack4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4Zm1 .5v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a2 2 0 0 0-2 2H3.5a2 2 0 0 0-2 2v1c0 .52.198.993.523 1.349A.5.5 0 0 0 2 6.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.5a.5.5 0 0 0-.023-.151c.325-.356.523-.83.523-1.349V4a2 2 0 0 0-2-2H10a2 2 0 0 0-2-2Zm0 1a1 1 0 0 0-1 1h2a1 1 0 0 0-1-1ZM3 14V6.937c.16.041.327.063.5.063h4v.5a.5.5 0 0 0 1 0V7h4c.173 0 .34-.022.5-.063V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Zm9.5-11a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h9Z\"}}]})(props);\n};\nexport function BsBackspaceFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.683 3a2 2 0 0 0-2-2h-7.08a2 2 0 0 0-1.519.698L.241 7.35a1 1 0 0 0 0 1.302l4.843 5.65A2 2 0 0 0 6.603 15h7.08a2 2 0 0 0 2-2V3zM5.829 5.854a.5.5 0 1 1 .707-.708l2.147 2.147 2.146-2.147a.5.5 0 1 1 .707.708L9.39 8l2.146 2.146a.5.5 0 0 1-.707.708L8.683 8.707l-2.147 2.147a.5.5 0 0 1-.707-.708L7.976 8 5.829 5.854z\"}}]})(props);\n};\nexport function BsBackspaceReverseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h7.08a2 2 0 0 1 1.519.698l4.843 5.651a1 1 0 0 1 0 1.302L10.6 14.3a2 2 0 0 1-1.52.7H2a2 2 0 0 1-2-2V3zm9.854 2.854a.5.5 0 0 0-.708-.708L7 7.293 4.854 5.146a.5.5 0 1 0-.708.708L6.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L7 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L7.707 8l2.147-2.146z\"}}]})(props);\n};\nexport function BsBackspaceReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.854 5.146a.5.5 0 0 1 0 .708L7.707 8l2.147 2.146a.5.5 0 0 1-.708.708L7 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L6.293 8 4.146 5.854a.5.5 0 1 1 .708-.708L7 7.293l2.146-2.147a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7.08a2 2 0 0 0 1.519-.698l4.843-5.651a1 1 0 0 0 0-1.302L10.6 1.7A2 2 0 0 0 9.08 1H2zm7.08 1a1 1 0 0 1 .76.35L14.682 8l-4.844 5.65a1 1 0 0 1-.759.35H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7.08z\"}}]})(props);\n};\nexport function BsBackspace (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.83 5.146a.5.5 0 0 0 0 .708L7.975 8l-2.147 2.146a.5.5 0 0 0 .707.708l2.147-2.147 2.146 2.147a.5.5 0 0 0 .707-.708L9.39 8l2.146-2.146a.5.5 0 0 0-.707-.708L8.683 7.293 6.536 5.146a.5.5 0 0 0-.707 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.683 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-7.08a2 2 0 0 1-1.519-.698L.241 8.65a1 1 0 0 1 0-1.302L5.084 1.7A2 2 0 0 1 6.603 1h7.08zm-7.08 1a1 1 0 0 0-.76.35L1 8l4.844 5.65a1 1 0 0 0 .759.35h7.08a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-7.08z\"}}]})(props);\n};\nexport function BsBadge3DFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914h.663zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126V11z\"}}]})(props);\n};\nexport function BsBadge3D (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.52 8.368h.664c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zm3.606-3.367V11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126zm1.187.967h.844c1.112 0 1.621.686 1.621 2.04 0 1.353-.505 2.02-1.621 2.02h-.844v-4.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadge4KFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.577 8.9v.03h1.828V5.898h-.062a46.781 46.781 0 0 0-1.766 3.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm2.372 3.715.435-.714h1.71v3.93h.733v.957h-.733V11H5.405V9.888H2.5v-.971c.574-1.077 1.225-2.142 1.872-3.202zm7.73-.714h1.306l-2.14 2.584L13.5 11h-1.428l-1.679-2.624-.615.7V11H8.59V5.001h1.187v2.686h.057L12.102 5z\"}}]})(props);\n};\nexport function BsBadge4K (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.807 5.001C4.021 6.298 3.203 7.6 2.5 8.917v.971h2.905V11h1.112V9.888h.733V8.93h-.733V5.001h-1.71zm-1.23 3.93v-.032a46.781 46.781 0 0 1 1.766-3.001h.062V8.93H3.577zm9.831-3.93h-1.306L9.835 7.687h-.057V5H8.59v6h1.187V9.075l.615-.699L12.072 11H13.5l-2.232-3.415 2.14-2.584z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadge8KFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.9 6.605c0 .51.405.866.95.866.545 0 .945-.356.945-.866s-.4-.852-.945-.852c-.545 0-.95.343-.95.852zm-.192 2.668c0 .589.492.984 1.142.984.646 0 1.143-.395 1.143-.984S5.496 8.28 4.85 8.28c-.65 0-1.142.404-1.142.993z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.17 7.348c0 1.041-.927 1.766-2.333 1.766-1.406 0-2.312-.72-2.312-1.762 0-.954.712-1.384 1.257-1.494v-.053c-.51-.154-1.02-.558-1.02-1.331 0-.914.831-1.587 2.088-1.587 1.253 0 2.083.673 2.083 1.587 0 .782-.523 1.182-1.02 1.331v.053c.545.11 1.257.545 1.257 1.49zM12.102 5h1.306l-2.14 2.584 2.232 3.415h-1.428l-1.679-2.624-.615.699v1.925H8.59V5h1.187v2.685h.057L12.102 5z\"}}]})(props);\n};\nexport function BsBadge8K (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.837 11.114c1.406 0 2.333-.725 2.333-1.766 0-.945-.712-1.38-1.256-1.49v-.053c.496-.15 1.02-.55 1.02-1.331 0-.914-.831-1.587-2.084-1.587-1.257 0-2.087.673-2.087 1.587 0 .773.51 1.177 1.02 1.331v.053c-.546.11-1.258.54-1.258 1.494 0 1.042.906 1.762 2.312 1.762zm.013-3.643c-.545 0-.95-.356-.95-.866s.405-.852.95-.852c.545 0 .945.343.945.852 0 .51-.4.866-.945.866zm0 2.786c-.65 0-1.142-.395-1.142-.984S4.2 8.28 4.85 8.28c.646 0 1.143.404 1.143.993s-.497.984-1.143.984zM13.408 5h-1.306L9.835 7.685h-.057V5H8.59v5.998h1.187V9.075l.615-.699 1.679 2.623H13.5l-2.232-3.414L13.408 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeAdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.35 8.337c0-.699-.42-1.138-1.001-1.138-.584 0-.954.444-.954 1.239v.453c0 .8.374 1.248.972 1.248.588 0 .984-.44.984-1.2v-.602zm-5.413.237-.734-2.426H5.15l-.734 2.426h1.52z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm6.209 6.32c0-1.28.694-2.044 1.753-2.044.655 0 1.156.294 1.336.769h.053v-2.36h1.16V11h-1.138v-.747h-.057c-.145.474-.69.804-1.367.804-1.055 0-1.74-.764-1.74-2.043v-.695zm-4.04 1.138L3.7 11H2.5l2.013-5.999H5.9L7.905 11H6.644l-.47-1.542H4.17z\"}}]})(props);\n};\nexport function BsBadgeAd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.7 11 .47-1.542h2.004L6.644 11h1.261L5.901 5.001H4.513L2.5 11h1.2zm1.503-4.852.734 2.426H4.416l.734-2.426h.053zm4.759.128c-1.059 0-1.753.765-1.753 2.043v.695c0 1.279.685 2.043 1.74 2.043.677 0 1.222-.33 1.367-.804h.057V11h1.138V4.685h-1.16v2.36h-.053c-.18-.475-.68-.77-1.336-.77zm.387.923c.58 0 1.002.44 1.002 1.138v.602c0 .76-.396 1.2-.984 1.2-.598 0-.972-.449-.972-1.248v-.453c0-.795.37-1.24.954-1.24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeArFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.031 8.574-.734-2.426h-.052L4.51 8.574h1.52zm3.642-2.641v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4.265 5.458h2.004L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2l.47-1.542zM8.5 5v6h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsBadgeAr (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.794 11 .47-1.542H6.27L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2zm1.503-4.852.734 2.426h-1.52l.734-2.426h.052zm5.598-1.147H8.5V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9zm-1.222 2.87V5.933h1.05c.63 0 1.05.347 1.05.989 0 .633-.408.95-1.067.95H9.673z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeCcFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.027 4.002c-.83 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05H7.36v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747C2.5 6.051 3.414 5 5.018 5c1.318 0 2.29.813 2.342 2v.11H6.213c-.048-.638-.505-1.108-1.186-1.108zm6.14 0c-.831 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.318 1.727.69 0 1.139-.435 1.187-1.05H13.5v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.751 2.518-2.751 1.318 0 2.29.813 2.342 2v.11h-1.147c-.048-.638-.505-1.108-1.187-1.108z\"}}]})(props);\n};\nexport function BsBadgeCc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.708 7.755c0-1.111.488-1.753 1.319-1.753.681 0 1.138.47 1.186 1.107H7.36V7c-.052-1.186-1.024-2-2.342-2C3.414 5 2.5 6.05 2.5 7.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114H6.213c-.048.615-.496 1.05-1.186 1.05-.84 0-1.319-.62-1.319-1.727v-.743zm6.14 0c0-1.111.488-1.753 1.318-1.753.682 0 1.139.47 1.187 1.107H13.5V7c-.053-1.186-1.024-2-2.342-2C9.554 5 8.64 6.05 8.64 7.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.743z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeHdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.968h-.843v4.06h.843c1.117 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.396 3.001V11H6.209V8.43H3.687V11H2.5V5.001h1.187v2.44h2.522V5h1.187zM8.5 11V5.001h2.188c1.824 0 2.685 1.09 2.685 2.984C13.373 9.893 12.5 11 10.69 11H8.5z\"}}]})(props);\n};\nexport function BsBadgeHd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.396 11V5.001H6.209v2.44H3.687V5H2.5v6h1.187V8.43h2.522V11h1.187zM8.5 5.001V11h2.188c1.811 0 2.685-1.107 2.685-3.015 0-1.894-.86-2.984-2.684-2.984H8.5zm1.187.967h.843c1.112 0 1.622.686 1.622 2.04 0 1.353-.505 2.02-1.622 2.02h-.843v-4.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeSdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.338 5.968h-.844v4.06h.844c1.116 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm5.077 7.114c1.521 0 2.378-.764 2.378-1.88 0-1.007-.642-1.473-1.613-1.692l-.932-.216c-.527-.114-.821-.351-.821-.712 0-.466.39-.804 1.046-.804.637 0 1.028.33 1.103.76h1.125c-.058-.923-.849-1.692-2.22-1.692-1.322 0-2.24.717-2.24 1.815 0 .91.588 1.446 1.52 1.657l.927.215c.624.145.923.36.923.778 0 .492-.391.83-1.13.83-.707 0-1.155-.342-1.234-.808H2.762c.052.95.79 1.75 2.315 1.75ZM8.307 11h2.19c1.81 0 2.684-1.107 2.684-3.015 0-1.894-.861-2.984-2.685-2.984H8.308V11Z\"}}]})(props);\n};\nexport function BsBadgeSd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4ZM0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm5.077 7.114c-1.524 0-2.263-.8-2.315-1.749h1.147c.079.466.527.809 1.234.809.739 0 1.13-.339 1.13-.83 0-.418-.3-.634-.923-.779l-.927-.215c-.932-.21-1.52-.747-1.52-1.657 0-1.098.918-1.815 2.24-1.815 1.371 0 2.162.77 2.22 1.692H6.238c-.075-.43-.466-.76-1.103-.76-.655 0-1.046.338-1.046.804 0 .36.294.598.821.712l.932.216c.971.22 1.613.685 1.613 1.691 0 1.117-.857 1.881-2.378 1.881ZM8.307 11V5.001h2.19c1.823 0 2.684 1.09 2.684 2.984 0 1.908-.874 3.015-2.685 3.015H8.308Zm2.031-5.032h-.844v4.06h.844c1.116 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04Z\"}}]})(props);\n};\nexport function BsBadgeTmFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.295 3.995V11H4.104V5.995h-1.7V5H7v.994H5.295zM8.692 7.01V11H7.633V5.001h1.209l1.71 3.894h.039l1.71-3.894H13.5V11h-1.072V7.01h-.057l-1.42 3.239h-.773L8.75 7.008h-.058z\"}}]})(props);\n};\nexport function BsBadgeTm (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.295 11V5.995H7V5H2.403v.994h1.701V11h1.19zm3.397 0V7.01h.058l1.428 3.239h.773l1.42-3.24h.057V11H13.5V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H7.634V11h1.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeVoFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.296 8.394v-.782c0-1.156-.571-1.736-1.362-1.736-.796 0-1.363.58-1.363 1.736v.782c0 1.156.567 1.732 1.363 1.732.79 0 1.362-.576 1.362-1.732z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm11.5 5.62v.77c0 1.691-.962 2.724-2.566 2.724-1.604 0-2.571-1.033-2.571-2.724v-.77c0-1.704.967-2.733 2.57-2.733 1.605 0 2.567 1.037 2.567 2.734zM5.937 11H4.508L2.5 5.001h1.375L5.22 9.708h.057L6.61 5.001h1.318L5.937 11z\"}}]})(props);\n};\nexport function BsBadgeVo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 11h1.429l1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11zM13.5 8.39v-.77c0-1.696-.962-2.733-2.566-2.733-1.604 0-2.571 1.029-2.571 2.734v.769c0 1.691.967 2.724 2.57 2.724 1.605 0 2.567-1.033 2.567-2.724zm-1.204-.778v.782c0 1.156-.571 1.732-1.362 1.732-.796 0-1.363-.576-1.363-1.732v-.782c0-1.156.567-1.736 1.363-1.736.79 0 1.362.58 1.362 1.736z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeVrFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.673 5.933v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.937 7 1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11h1.429zM8.5 5.001V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsBadgeVr (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 11h1.429l1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11zm6.387-5.999H8.5V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9zm-1.222 2.87V5.933h1.05c.63 0 1.05.347 1.05.989 0 .633-.408.95-1.067.95H9.673z\"}}]})(props);\n};\nexport function BsBadgeWcFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.666 1.89c.682 0 1.139.47 1.187 1.107H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754zm-6.188.926h.044L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005l1.02-4.184z\"}}]})(props);\n};\nexport function BsBadgeWc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.348 7.643c0-1.112.488-1.754 1.318-1.754.682 0 1.139.47 1.187 1.108H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742zM4.457 11l1.02-4.184h.045L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBagCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zm-.646 5.354a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsBagCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6 9.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsBagDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 10a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5z\"}}]})(props);\n};\nexport function BsBagHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 4v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5ZM8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1Zm0 6.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsBagHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5Zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0ZM14 14V5H2v9a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1ZM8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsBagPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM8.5 8a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V12a.5.5 0 0 0 1 0v-1.5H10a.5.5 0 0 0 0-1H8.5V8z\"}}]})(props);\n};\nexport function BsBagPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 7.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0v-1.5H6a.5.5 0 0 1 0-1h1.5V8a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6.854 8.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsBagX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 8.146a.5.5 0 0 1 .708 0L8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBalloonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.48 10.901C11.211 10.227 13 7.837 13 5A5 5 0 0 0 3 5c0 2.837 1.789 5.227 4.52 5.901l-.244.487a.25.25 0 1 0 .448.224l.04-.08c.009.17.024.315.051.45.068.344.208.622.448 1.102l.013.028c.212.422.182.85.05 1.246-.135.402-.366.751-.534 1.003a.25.25 0 0 0 .416.278l.004-.007c.166-.248.431-.646.588-1.115.16-.479.212-1.051-.076-1.629-.258-.515-.365-.732-.419-1.004a2.376 2.376 0 0 1-.037-.289l.008.017a.25.25 0 1 0 .448-.224l-.244-.487ZM4.352 3.356a4.004 4.004 0 0 1 3.15-2.325C7.774.997 8 1.224 8 1.5c0 .276-.226.496-.498.542-.95.162-1.749.78-2.173 1.617a.595.595 0 0 1-.52.341c-.346 0-.599-.329-.457-.644Z\"}}]})(props);\n};\nexport function BsBalloonHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.49 10.92C19.412 3.382 11.28-2.387 8 .986 4.719-2.387-3.413 3.382 7.51 10.92l-.234.468a.25.25 0 1 0 .448.224l.04-.08c.009.17.024.315.051.45.068.344.208.622.448 1.102l.013.028c.212.422.182.85.05 1.246-.135.402-.366.751-.534 1.003a.25.25 0 0 0 .416.278l.004-.007c.166-.248.431-.646.588-1.115.16-.479.212-1.051-.076-1.629-.258-.515-.365-.732-.419-1.004a2.376 2.376 0 0 1-.037-.289l.008.017a.25.25 0 1 0 .448-.224l-.235-.468ZM6.726 1.269c-1.167-.61-2.8-.142-3.454 1.135-.237.463-.36 1.08-.202 1.85.055.27.467.197.527-.071.285-1.256 1.177-2.462 2.989-2.528.234-.008.348-.278.14-.386Z\"}}]})(props);\n};\nexport function BsBalloonHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m8 2.42-.717-.737c-1.13-1.161-3.243-.777-4.01.72-.35.685-.451 1.707.236 3.062C4.16 6.753 5.52 8.32 8 10.042c2.479-1.723 3.839-3.29 4.491-4.577.687-1.355.587-2.377.236-3.061-.767-1.498-2.88-1.882-4.01-.721L8 2.42Zm-.49 8.5c-10.78-7.44-3-13.155.359-10.063.045.041.089.084.132.129.043-.045.087-.088.132-.129 3.36-3.092 11.137 2.624.357 10.063l.235.468a.25.25 0 1 1-.448.224l-.008-.017c.008.11.02.202.037.29.054.27.161.488.419 1.003.288.578.235 1.15.076 1.629-.157.469-.422.867-.588 1.115l-.004.007a.25.25 0 1 1-.416-.278c.168-.252.4-.6.533-1.003.133-.396.163-.824-.049-1.246l-.013-.028c-.24-.48-.38-.758-.448-1.102a3.177 3.177 0 0 1-.052-.45l-.04.08a.25.25 0 1 1-.447-.224l.235-.468ZM6.013 2.06c-.649-.18-1.483.083-1.85.798-.131.258-.245.689-.08 1.335.063.244.414.198.487-.043.21-.697.627-1.447 1.359-1.692.217-.073.304-.337.084-.398Z\"}}]})(props);\n};\nexport function BsBalloon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 9.984C10.403 9.506 12 7.48 12 5a4 4 0 0 0-8 0c0 2.48 1.597 4.506 4 4.984ZM13 5c0 2.837-1.789 5.227-4.52 5.901l.244.487a.25.25 0 1 1-.448.224l-.008-.017c.008.11.02.202.037.29.054.27.161.488.419 1.003.288.578.235 1.15.076 1.629-.157.469-.422.867-.588 1.115l-.004.007a.25.25 0 1 1-.416-.278c.168-.252.4-.6.533-1.003.133-.396.163-.824-.049-1.246l-.013-.028c-.24-.48-.38-.758-.448-1.102a3.177 3.177 0 0 1-.052-.45l-.04.08a.25.25 0 1 1-.447-.224l.244-.487C4.789 10.227 3 7.837 3 5a5 5 0 0 1 10 0Zm-6.938-.495a2.003 2.003 0 0 1 1.443-1.443C7.773 2.994 8 2.776 8 2.5c0-.276-.226-.504-.498-.459a3.003 3.003 0 0 0-2.46 2.461c-.046.272.182.498.458.498s.494-.227.562-.495Z\"}}]})(props);\n};\nexport function BsBanFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM2.71 12.584c.218.252.454.488.706.707l9.875-9.875a7.034 7.034 0 0 0-.707-.707l-9.875 9.875Z\"}}]})(props);\n};\nexport function BsBan (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8a6.973 6.973 0 0 0-1.71-4.584l-9.874 9.875A7 7 0 0 0 15 8ZM2.71 12.584l9.874-9.875a7 7 0 0 0-9.874 9.874ZM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Z\"}}]})(props);\n};\nexport function BsBandaidFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.68 7.676 6.49-6.504a4 4 0 0 1 5.66 5.653l-1.477 1.529-5.006 5.006-1.523 1.472a4 4 0 0 1-5.653-5.66l.001-.002 1.505-1.492.001-.002Zm5.71-2.858a.5.5 0 1 0-.708.707.5.5 0 0 0 .707-.707ZM6.974 6.939a.5.5 0 1 0-.707-.707.5.5 0 0 0 .707.707ZM5.56 8.354a.5.5 0 1 0-.707-.708.5.5 0 0 0 .707.708Zm2.828 2.828a.5.5 0 1 0-.707-.707.5.5 0 0 0 .707.707Zm1.414-2.121a.5.5 0 1 0-.707.707.5.5 0 0 0 .707-.707Zm1.414-.707a.5.5 0 1 0-.706-.708.5.5 0 0 0 .707.708Zm-4.242.707a.5.5 0 1 0-.707.707.5.5 0 0 0 .707-.707Zm1.414-.707a.5.5 0 1 0-.707-.708.5.5 0 0 0 .707.708Zm1.414-2.122a.5.5 0 1 0-.707.707.5.5 0 0 0 .707-.707ZM8.646 3.354l4 4 .708-.708-4-4-.708.708Zm-1.292 9.292-4-4-.708.708 4 4 .708-.708Z\"}}]})(props);\n};\nexport function BsBandaid (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.121 1.879a3 3 0 0 0-4.242 0L8.733 3.026l4.261 4.26 1.127-1.165a3 3 0 0 0 0-4.242ZM12.293 8 8.027 3.734 3.738 8.031 8 12.293 12.293 8Zm-5.006 4.994L3.03 8.737 1.879 9.88a3 3 0 0 0 4.241 4.24l.006-.006 1.16-1.121ZM2.679 7.676l6.492-6.504a4 4 0 0 1 5.66 5.653l-1.477 1.529-5.006 5.006-1.523 1.472a4 4 0 0 1-5.653-5.66l.001-.002 1.505-1.492.001-.002Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.56 7.646a.5.5 0 1 1-.706.708.5.5 0 0 1 .707-.708Zm1.415-1.414a.5.5 0 1 1-.707.707.5.5 0 0 1 .707-.707ZM8.39 4.818a.5.5 0 1 1-.708.707.5.5 0 0 1 .707-.707Zm0 5.657a.5.5 0 1 1-.708.707.5.5 0 0 1 .707-.707ZM9.803 9.06a.5.5 0 1 1-.707.708.5.5 0 0 1 .707-.707Zm1.414-1.414a.5.5 0 1 1-.706.708.5.5 0 0 1 .707-.708ZM6.975 9.06a.5.5 0 1 1-.707.708.5.5 0 0 1 .707-.707ZM8.39 7.646a.5.5 0 1 1-.708.708.5.5 0 0 1 .707-.708Zm1.413-1.414a.5.5 0 1 1-.707.707.5.5 0 0 1 .707-.707Z\"}}]})(props);\n};\nexport function BsBank (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 6.61 3h.89a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v7a.5.5 0 0 1 .485.38l.5 2a.498.498 0 0 1-.485.62H.5a.498.498 0 0 1-.485-.62l.5-2A.501.501 0 0 1 1 13V6H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 3h.89L8 0ZM3.777 3h8.447L8 1 3.777 3ZM2 6v7h1V6H2Zm2 0v7h2.5V6H4Zm3.5 0v7h1V6h-1Zm2 0v7H12V6H9.5ZM13 6v7h1V6h-1Zm2-1V4H1v1h14Zm-.39 9H1.39l-.25 1h13.72l-.25-1Z\"}}]})(props);\n};\nexport function BsBank2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.277.084a.5.5 0 0 0-.554 0l-7.5 5A.5.5 0 0 0 .5 6h1.875v7H1.5a.5.5 0 0 0 0 1h13a.5.5 0 1 0 0-1h-.875V6H15.5a.5.5 0 0 0 .277-.916l-7.5-5zM12.375 6v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zM8 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM.5 15a.5.5 0 0 0 0 1h15a.5.5 0 1 0 0-1H.5z\"}}]})(props);\n};\nexport function BsBarChartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsBarChartLineFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2z\"}}]})(props);\n};\nexport function BsBarChartLine (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2zm1 12h2V2h-2v12zm-3 0V7H7v7h2zm-5 0v-3H2v3h2z\"}}]})(props);\n};\nexport function BsBarChartSteps (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 0a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-1 0V.5A.5.5 0 0 1 .5 0zM2 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsBarChart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11H2v3h2v-3zm5-4H7v7h2V7zm5-5v12h-2V2h2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3z\"}}]})(props);\n};\nexport function BsBasketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.071 1.243a.5.5 0 0 1 .858.514L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6h1.717L5.07 1.243zM3.5 10.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3z\"}}]})(props);\n};\nexport function BsBasket (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v4.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 13.5V9a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h1.217L5.07 1.243a.5.5 0 0 1 .686-.172zM2 9v4.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9H2zM1 7v1h14V7H1zm3 3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 4 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 6 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 8 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsBasket2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.929 1.757a.5.5 0 1 0-.858-.514L2.217 6H.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.623l1.844 6.456A.75.75 0 0 0 3.69 15h8.622a.75.75 0 0 0 .722-.544L14.877 8h.623a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1.717L10.93 1.243a.5.5 0 1 0-.858.514L12.617 6H3.383L5.93 1.757zM4 10a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm4-1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsBasket2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0v-2zm3 0a1 1 0 1 1 2 0v2a1 1 0 0 1-2 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-.623l-1.844 6.456a.75.75 0 0 1-.722.544H3.69a.75.75 0 0 1-.722-.544L1.123 8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.163 8l1.714 6h8.246l1.714-6H2.163z\"}}]})(props);\n};\nexport function BsBasket3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.468 15.426.943 9h14.114l-1.525 6.426a.75.75 0 0 1-.729.574H3.197a.75.75 0 0 1-.73-.574z\"}}]})(props);\n};\nexport function BsBasket3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM3.394 15l-1.48-6h-.97l1.525 6.426a.75.75 0 0 0 .729.574h9.606a.75.75 0 0 0 .73-.574L15.056 9h-.972l-1.479 6h-9.21z\"}}]})(props);\n};\nexport function BsBatteryCharging (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.585 2.568a.5.5 0 0 1 .226.58L8.677 6.832h1.99a.5.5 0 0 1 .364.843l-5.334 5.667a.5.5 0 0 1-.842-.49L5.99 9.167H4a.5.5 0 0 1-.364-.843l5.333-5.667a.5.5 0 0 1 .616-.09z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4h4.332l-.94 1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h2.38l-.308 1H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h2.45L2.908 7.639A1.5 1.5 0 0 0 3.313 10H2V6zm8.595-2-.308 1H12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H9.276l-.942 1H12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.405z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10h-1.783l1.542-1.639c.097-.103.178-.218.241-.34V10zm0-3.354V6h-.646a1.5 1.5 0 0 1 .646.646zM16 8a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBatteryFull (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h10v4H2V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBatteryHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h5v4H2V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBattery (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2-1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H2zm14 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBehance (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.654 3c.461 0 .887.035 1.278.14.39.07.711.216.996.391.286.176.497.426.641.747.14.32.216.711.216 1.137 0 .496-.106.922-.356 1.242-.215.32-.566.606-.997.817.606.176 1.067.496 1.348.922.281.426.461.957.461 1.563 0 .496-.105.922-.285 1.278a2.317 2.317 0 0 1-.782.887c-.32.215-.711.39-1.137.496a5.329 5.329 0 0 1-1.278.176L0 12.803V3h4.654zm-.285 3.978c.39 0 .71-.105.957-.285.246-.18.355-.497.355-.887 0-.216-.035-.426-.105-.567a.981.981 0 0 0-.32-.355 1.84 1.84 0 0 0-.461-.176c-.176-.035-.356-.035-.567-.035H2.17v2.31c0-.005 2.2-.005 2.2-.005zm.105 4.193c.215 0 .426-.035.606-.07.176-.035.356-.106.496-.216s.25-.215.356-.39c.07-.176.14-.391.14-.641 0-.496-.14-.852-.426-1.102-.285-.215-.676-.32-1.137-.32H2.17v2.734h2.305v.005zm6.858-.035c.286.285.711.426 1.278.426.39 0 .746-.106 1.032-.286.285-.215.46-.426.53-.64h1.74c-.286.851-.712 1.457-1.278 1.848-.566.355-1.243.566-2.06.566a4.135 4.135 0 0 1-1.527-.285 2.827 2.827 0 0 1-1.137-.782 2.851 2.851 0 0 1-.712-1.172c-.175-.461-.25-.957-.25-1.528 0-.531.07-1.032.25-1.493.18-.46.426-.852.747-1.207.32-.32.711-.606 1.137-.782a4.018 4.018 0 0 1 1.493-.285c.606 0 1.137.105 1.598.355.46.25.817.532 1.102.958.285.39.496.851.641 1.348.07.496.105.996.07 1.563h-5.15c0 .58.21 1.11.496 1.396zm2.24-3.732c-.25-.25-.642-.391-1.103-.391-.32 0-.566.07-.781.176-.215.105-.356.25-.496.39a.957.957 0 0 0-.25.497c-.036.175-.07.32-.07.46h3.196c-.07-.526-.25-.882-.497-1.132zm-3.127-3.728h3.978v.957h-3.978v-.957z\"}}]})(props);\n};\nexport function BsBellFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"}}]})(props);\n};\nexport function BsBellSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-1.5-1-2-5.902-2-7 0-.264-.02-.523-.06-.776L5.164 14zm6.288-10.617A4.988 4.988 0 0 0 8.995 2.1a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 7c0 .898-.335 4.342-1.278 6.113l9.73-9.73zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsBellSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-.299-.199-.557-.553-.78-1-.9-1.8-1.22-5.12-1.22-6 0-.264-.02-.523-.06-.776l-.938.938c.02.708.157 2.154.457 3.58.161.767.377 1.566.663 2.258H6.164l-1 1zm5.581-9.91a3.986 3.986 0 0 0-1.948-1.01L8 2.917l-.797.161A4.002 4.002 0 0 0 4 7c0 .628-.134 2.197-.459 3.742-.05.238-.105.479-.166.718l-1.653 1.653c.02-.037.04-.074.059-.113C2.679 11.2 3 7.88 3 7c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0c.942.19 1.788.645 2.457 1.284l-.707.707zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsBell (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zM8 1.918l-.797.161A4.002 4.002 0 0 0 4 6c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C12.134 8.197 12 6.628 12 6a4.002 4.002 0 0 0-3.203-3.92L8 1.917zM14.22 12c.223.447.481.801.78 1H1c.299-.199.557-.553.78-1C2.68 10.2 3 6.88 3 6c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0A5.002 5.002 0 0 1 13 6c0 .88.32 4.2 1.22 6z\"}}]})(props);\n};\nexport function BsBezier (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10.5A1.5 1.5 0 0 1 1.5 9h1A1.5 1.5 0 0 1 4 10.5v1A1.5 1.5 0 0 1 2.5 13h-1A1.5 1.5 0 0 1 0 11.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm10.5.5A1.5 1.5 0 0 1 13.5 9h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM6 4.5A1.5 1.5 0 0 1 7.5 3h1A1.5 1.5 0 0 1 10 4.5v1A1.5 1.5 0 0 1 8.5 7h-1A1.5 1.5 0 0 1 6 5.5v-1zM7.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.5H1.866a1 1 0 1 0 0 1h2.668A6.517 6.517 0 0 0 1.814 9H2.5c.123 0 .244.015.358.043a5.517 5.517 0 0 1 3.185-3.185A1.503 1.503 0 0 1 6 5.5v-1zm3.957 1.358A1.5 1.5 0 0 0 10 5.5v-1h4.134a1 1 0 1 1 0 1h-2.668a6.517 6.517 0 0 1 2.72 3.5H13.5c-.123 0-.243.015-.358.043a5.517 5.517 0 0 0-3.185-3.185z\"}}]})(props);\n};\nexport function BsBezier2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1A1.5 1.5 0 0 1 5 2.5h4.134a1 1 0 1 1 0 1h-2.01c.18.18.34.381.484.605.638.992.892 2.354.892 3.895 0 1.993.257 3.092.713 3.7.356.476.895.721 1.787.784A1.5 1.5 0 0 1 12.5 11h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5H6.866a1 1 0 1 1 0-1h1.711a2.839 2.839 0 0 1-.165-.2C7.743 11.407 7.5 10.007 7.5 8c0-1.46-.246-2.597-.733-3.355-.39-.605-.952-1-1.767-1.112A1.5 1.5 0 0 1 3.5 5h-1A1.5 1.5 0 0 1 1 3.5v-1zM2.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm10 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsBicycle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4.5a.5.5 0 0 1 .5-.5H6a.5.5 0 0 1 0 1v.5h4.14l.386-1.158A.5.5 0 0 1 11 4h1a.5.5 0 0 1 0 1h-.64l-.311.935.807 1.29a3 3 0 1 1-.848.53l-.508-.812-2.076 3.322A.5.5 0 0 1 8 10.5H5.959a3 3 0 1 1-1.815-3.274L5 5.856V5h-.5a.5.5 0 0 1-.5-.5zm1.5 2.443-.508.814c.5.444.85 1.054.967 1.743h1.139L5.5 6.943zM8 9.057 9.598 6.5H6.402L8 9.057zM4.937 9.5a1.997 1.997 0 0 0-.487-.877l-.548.877h1.035zM3.603 8.092A2 2 0 1 0 4.937 10.5H3a.5.5 0 0 1-.424-.765l1.027-1.643zm7.947.53a2 2 0 1 0 .848-.53l1.026 1.643a.5.5 0 1 1-.848.53L11.55 8.623z\"}}]})(props);\n};\nexport function BsBing (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.35 5.046a.615.615 0 0 0-.54.575c-.009.13-.006.14.289.899.67 1.727.833 2.142.86 2.2.067.142.16.276.277.395.089.092.148.141.247.208.176.117.262.15.944.351.664.197 1.026.327 1.338.482.405.201.688.43.866.7.128.195.242.544.291.896.02.137.02.44 0 .564-.041.27-.124.495-.252.684-.067.1-.044.084.055-.039.278-.346.562-.938.707-1.475a4.42 4.42 0 0 0-2.14-5.028 69.556 69.556 0 0 0-.888-.465 50.419 50.419 0 0 0-.53-.277l-.353-.184c-.16-.082-.266-.138-.345-.18-.368-.192-.523-.27-.568-.283a.93.93 0 0 0-.194-.03l-.063.007Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.152 11.493a2.623 2.623 0 0 0-.135.083 320.256 320.256 0 0 0-1.513.934 164.12 164.12 0 0 0-.8.496c-.012.01-.587.367-.876.543a1.91 1.91 0 0 1-.732.257c-.12.017-.349.017-.47 0a1.891 1.891 0 0 1-.884-.358 2.45 2.45 0 0 1-.365-.364 1.884 1.884 0 0 1-.34-.76 1.441 1.441 0 0 0-.027-.121c-.005-.006.004.092.022.22.018.132.057.324.098.489a4.096 4.096 0 0 0 2.487 2.796c.359.142.72.23 1.114.275.147.016.566.023.72.011a4.103 4.103 0 0 0 1.956-.661l.235-.149a36.314 36.314 0 0 0 .394-.248l.258-.163 1.164-.736c.51-.32.663-.433.9-.665.099-.097.248-.262.255-.283.002-.005.028-.046.059-.091a1.64 1.64 0 0 0 .25-.682c.02-.124.02-.427 0-.565a2.875 2.875 0 0 0-.213-.758c-.15-.314-.47-.6-.928-.83a1.986 1.986 0 0 0-.273-.12c-.006 0-.433.26-.948.58a1699.479 1699.479 0 0 0-1.113.687l-.295.183Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m3.004 12.184.03.129c.089.402.245.693.515.963a1.823 1.823 0 0 0 1.312.543c.361 0 .673-.09.994-.287l.472-.29.373-.23V5.334c0-1.537-.003-2.45-.008-2.521a1.817 1.817 0 0 0-.535-1.177c-.097-.096-.18-.16-.427-.33A1192.515 1192.515 0 0 1 4.183.24c-.239-.163-.258-.175-.33-.2a.631.631 0 0 0-.842.464c-.009.042-.01.603-.01 3.646l.003 8.035Z\"}}]})(props);\n};\nexport function BsBinocularsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1A1.5 1.5 0 0 0 3 2.5V3h4v-.5A1.5 1.5 0 0 0 5.5 1h-1zM7 4v1h2V4h4v.882a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V13H9v-1.5a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5V13H1V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V4h4zM1 14v.5A1.5 1.5 0 0 0 2.5 16h3A1.5 1.5 0 0 0 7 14.5V14H1zm8 0v.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5V14H9zm4-11H9v-.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5V3z\"}}]})(props);\n};\nexport function BsBinoculars (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5A1.5 1.5 0 0 1 4.5 1h1A1.5 1.5 0 0 1 7 2.5V5h2V2.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5v2.382a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V14.5a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 14.5v-3a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5v3A1.5 1.5 0 0 1 5.5 16h-3A1.5 1.5 0 0 1 1 14.5V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V2.5zM4.5 2a.5.5 0 0 0-.5.5V3h2v-.5a.5.5 0 0 0-.5-.5h-1zM6 4H4v.882a1.5 1.5 0 0 1-.83 1.342l-.894.447A.5.5 0 0 0 2 7.118V13h4v-1.293l-.854-.853A.5.5 0 0 1 5 10.5v-1A1.5 1.5 0 0 1 6.5 8h3A1.5 1.5 0 0 1 11 9.5v1a.5.5 0 0 1-.146.354l-.854.853V13h4V7.118a.5.5 0 0 0-.276-.447l-.895-.447A1.5 1.5 0 0 1 12 4.882V4h-2v1.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V4zm4-1h2v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V3zm4 11h-4v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V14zm-8 0H2v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V14z\"}}]})(props);\n};\nexport function BsBlockquoteLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm5 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm-5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm.79-5.373c.112-.078.26-.17.444-.275L3.524 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282c.024-.203.065-.37.123-.498a1.38 1.38 0 0 1 .252-.37 1.94 1.94 0 0 1 .346-.298zm2.167 0c.113-.078.262-.17.445-.275L5.692 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282a1.75 1.75 0 0 1 .118-.492c.058-.13.144-.254.257-.375a1.94 1.94 0 0 1 .346-.3z\"}}]})(props);\n};\nexport function BsBlockquoteRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm10.113-5.373a6.59 6.59 0 0 0-.445-.275l.21-.352c.122.074.272.17.452.287.18.117.35.26.51.428.156.164.289.351.398.562.11.207.164.438.164.692 0 .36-.072.65-.216.873-.145.219-.385.328-.721.328-.215 0-.383-.07-.504-.211a.697.697 0 0 1-.188-.463c0-.23.07-.404.211-.521.137-.121.326-.182.569-.182h.281a1.686 1.686 0 0 0-.123-.498 1.379 1.379 0 0 0-.252-.37 1.94 1.94 0 0 0-.346-.298zm-2.168 0A6.59 6.59 0 0 0 10 6.352L10.21 6c.122.074.272.17.452.287.18.117.35.26.51.428.156.164.289.351.398.562.11.207.164.438.164.692 0 .36-.072.65-.216.873-.145.219-.385.328-.721.328-.215 0-.383-.07-.504-.211a.697.697 0 0 1-.188-.463c0-.23.07-.404.211-.521.137-.121.327-.182.569-.182h.281a1.749 1.749 0 0 0-.117-.492 1.402 1.402 0 0 0-.258-.375 1.94 1.94 0 0 0-.346-.3z\"}}]})(props);\n};\nexport function BsBluetooth (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m8.543 3.948 1.316 1.316L8.543 6.58V3.948Zm0 8.104 1.316-1.316L8.543 9.42v2.632Zm-1.41-4.043L4.275 5.133l.827-.827L7.377 6.58V1.128l4.137 4.136L8.787 8.01l2.745 2.745-4.136 4.137V9.42l-2.294 2.274-.827-.827L7.133 8.01ZM7.903 16c3.498 0 5.904-1.655 5.904-8.01 0-6.335-2.406-7.99-5.903-7.99C4.407 0 2 1.655 2 8.01 2 14.344 4.407 16 7.904 16Z\"}}]})(props);\n};\nexport function BsBodyText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 0 .5Zm0 2A.5.5 0 0 1 .5 2h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-9 2A.5.5 0 0 1 .5 4h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 2A.5.5 0 0 1 .5 6h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-8 2A.5.5 0 0 1 .5 8h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-7 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsBookFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBookHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBook (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811V2.828zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBookmarkCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm8.854-9.646a.5.5 0 0 0-.708-.708L7.5 7.793 6.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsBookmarkCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsBookmarkDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 6.5A.5.5 0 0 1 6 6h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z\"}}]})(props);\n};\nexport function BsBookmarkHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13.5zM8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}}]})(props);\n};\nexport function BsBookmarkHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm6.5-11a.5.5 0 0 0-1 0V6H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V7H10a.5.5 0 0 0 0-1H8.5V4.5z\"}}]})(props);\n};\nexport function BsBookmarkPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsBookmarkStarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM8.16 4.1a.178.178 0 0 0-.32 0l-.634 1.285a.178.178 0 0 1-.134.098l-1.42.206a.178.178 0 0 0-.098.303L6.58 6.993c.042.041.061.1.051.158L6.39 8.565a.178.178 0 0 0 .258.187l1.27-.668a.178.178 0 0 1 .165 0l1.27.668a.178.178 0 0 0 .257-.187L9.368 7.15a.178.178 0 0 1 .05-.158l1.028-1.001a.178.178 0 0 0-.098-.303l-1.42-.206a.178.178 0 0 1-.134-.098L8.16 4.1z\"}}]})(props);\n};\nexport function BsBookmarkStar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.84 4.1a.178.178 0 0 1 .32 0l.634 1.285a.178.178 0 0 0 .134.098l1.42.206c.145.021.204.2.098.303L9.42 6.993a.178.178 0 0 0-.051.158l.242 1.414a.178.178 0 0 1-.258.187l-1.27-.668a.178.178 0 0 0-.165 0l-1.27.668a.178.178 0 0 1-.257-.187l.242-1.414a.178.178 0 0 0-.05-.158l-1.03-1.001a.178.178 0 0 1 .098-.303l1.42-.206a.178.178 0 0 0 .134-.098L7.84 4.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6.854 5.146a.5.5 0 1 0-.708.708L7.293 7 6.146 8.146a.5.5 0 1 0 .708.708L8 7.707l1.146 1.147a.5.5 0 1 0 .708-.708L8.707 7l1.147-1.146a.5.5 0 0 0-.708-.708L8 6.293 6.854 5.146z\"}}]})(props);\n};\nexport function BsBookmarkX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 5.146a.5.5 0 0 1 .708 0L8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmark (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarksFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1A2 2 0 0 1 6 0h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L13 13.768V2a1 1 0 0 0-1-1H4.268z\"}}]})(props);\n};\nexport function BsBookmarks (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4zm2-1a1 1 0 0 0-1 1v10.566l3.723-2.482a.5.5 0 0 1 .554 0L11 14.566V4a1 1 0 0 0-1-1H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1H12a1 1 0 0 1 1 1v11.768l.223.148A.5.5 0 0 0 14 13.5V2a2 2 0 0 0-2-2H6a2 2 0 0 0-1.732 1z\"}}]})(props);\n};\nexport function BsBookshelf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a.5.5 0 0 1 .5.5V2h10V.5a.5.5 0 0 1 1 0v15a.5.5 0 0 1-1 0V15H3v.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 .5-.5zM3 14h10v-3H3v3zm0-4h10V7H3v3zm0-4h10V3H3v3z\"}}]})(props);\n};\nexport function BsBoomboxFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a.5.5 0 0 1 .5.5V2h.5a1 1 0 0 1 1 1v2H0V3a1 1 0 0 1 1-1h12.5V.5A.5.5 0 0 1 14 0ZM2 3.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm2 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm7.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1.5-.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0ZM9.5 3h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1ZM6 10.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm7 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm.5-1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6h16v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V6Zm2 4.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Zm7 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z\"}}]})(props);\n};\nexport function BsBoombox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm7.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-7-1a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm5.5 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm0-1a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3ZM5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm-1 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a.5.5 0 0 1 .5.5V2h.5a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12.5V.5A.5.5 0 0 1 14 0ZM1 3v3h14V3H1Zm14 4H1v7h14V7Z\"}}]})(props);\n};\nexport function BsBootstrapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.375 7.125V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H6.375v2.725z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.002 0a4 4 0 0 0-4 4v8a4 4 0 0 0 4 4h8a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4h-8zm1.06 12V3.545h3.399c1.587 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.483 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396H5.062z\"}}]})(props);\n};\nexport function BsBootstrapReboot (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.161 8a6.84 6.84 0 1 0 6.842-6.84.58.58 0 1 1 0-1.16 8 8 0 1 1-6.556 3.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56A6.812 6.812 0 0 0 1.16 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.641 11.671V8.843h1.57l1.498 2.828h1.314L9.377 8.665c.897-.3 1.427-1.106 1.427-2.1 0-1.37-.943-2.246-2.456-2.246H5.5v7.352h1.141zm0-3.75V5.277h1.57c.881 0 1.416.499 1.416 1.32 0 .84-.504 1.324-1.386 1.324h-1.6z\"}}]})(props);\n};\nexport function BsBootstrap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.062 12h3.475c1.804 0 2.888-.908 2.888-2.396 0-1.102-.761-1.916-1.904-2.034v-.1c.832-.14 1.482-.93 1.482-1.816 0-1.3-.955-2.11-2.542-2.11H5.062V12zm1.313-4.875V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762V8.162h1.822c1.236 0 1.887.463 1.887 1.348 0 .896-.627 1.377-1.811 1.377H6.375z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4zm4-3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4z\"}}]})(props);\n};\nexport function BsBorderAll (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0h16v16H0V0zm1 1v6.5h6.5V1H1zm7.5 0v6.5H15V1H8.5zM15 8.5H8.5V15H15V8.5zM7.5 15V8.5H1V15h6.5z\"}}]})(props);\n};\nexport function BsBorderBottom (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 15h16v1H0v-1z\"}}]})(props);\n};\nexport function BsBorderCenter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM0 8.5v-1h16v1H0zm0 .906v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderInner (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 7.5H16v1H8.5V16h-1V8.5H0v-1h7.5V0h1v7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm14-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM0 9.406v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v16h1V0H0zm1.906 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM7.5 1.906v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM7.5 3.781v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM7.5 5.656v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM7.5 9.406v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM1.906 16h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderMiddle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM8.5 16h-1V0h1v16zm.906-15h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm14-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderOuter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.906v.938h1v-.938h-1zm0 1.875v.938h1V3.78h-1zm0 1.875v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM7.5 9.406v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v16h16V0H0zm1 1h14v14H1V1z\"}}]})(props);\n};\nexport function BsBorderRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zM16 0h-1v16h1V0zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 11.281v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 13.156v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1z\"}}]})(props);\n};\nexport function BsBorderStyle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm8 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm8 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-4-4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsBorderTop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v1h16V0H0zm1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderWidth (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-2zm0 5A.5.5 0 0 1 .5 8h15a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsBorder (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0h.969v.5H1v.469H.969V1H.5V.969H0V0zm2.844 1h-.938V0h.938v1zm1.875 0H3.78V0h.938v1zm1.875 0h-.938V0h.938v1zm.937 0V.969H7.5V.5h.031V0h.938v.5H8.5v.469h-.031V1H7.53zm2.813 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zM15.5 1h-.469V.969H15V.5h.031V0H16v.969h-.5V1zM1 1.906v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM1 3.78v.938H0V3.78h1zm6.5.938V3.78h1v.938h-1zm7.5 0V3.78h1v.938h-1zM1 5.656v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM.969 8.5H.5v-.031H0V7.53h.5V7.5h.469v.031H1v.938H.969V8.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875-.031V8.5H7.53v-.031H7.5V7.53h.031V7.5h.938v.031H8.5v.938h-.031zm1.875.031h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.406 0h-.469v-.031H15V7.53h.031V7.5h.469v.031h.5v.938h-.5V8.5zM0 10.344v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 12.22v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 14.094v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM.969 16H0v-.969h.5V15h.469v.031H1v.469H.969v.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H7.5v-.469h.031V15h.938v.031H8.5v.469h-.031v.5H7.53zm2.813 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H15v-.469h.031V15h.469v.031h.5V16h-.969z\"}}]})(props);\n};\nexport function BsBoundingBoxCircles (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM0 2a2 2 0 0 1 3.937-.5h8.126A2 2 0 1 1 14.5 3.937v8.126a2 2 0 1 1-2.437 2.437H3.937A2 2 0 1 1 1.5 12.063V3.937A2 2 0 0 1 0 2zm2.5 1.937v8.126c.703.18 1.256.734 1.437 1.437h8.126a2.004 2.004 0 0 1 1.437-1.437V3.937A2.004 2.004 0 0 1 12.063 2.5H3.937A2.004 2.004 0 0 1 2.5 3.937zM14 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM2 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsBoundingBox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2V0H0v5h2v6H0v5h5v-2h6v2h5v-5h-2V5h2V0h-5v2H5zm6 1v2h2v6h-2v2H5v-2H3V5h2V3h6zm1-2h3v3h-3V1zm3 11v3h-3v-3h3zM4 15H1v-3h3v3zM1 4V1h3v3H1z\"}}]})(props);\n};\nexport function BsBoxArrowDownLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.364 12.5a.5.5 0 0 0 .5.5H14.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 14.5 0h-10A1.5 1.5 0 0 0 3 1.5v6.636a.5.5 0 1 0 1 0V1.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H7.864a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 15.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1.707l8.147-8.146a.5.5 0 0 0-.708-.708L1 14.293V10.5a.5.5 0 0 0-1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowDownRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.636 12.5a.5.5 0 0 1-.5.5H1.5A1.5 1.5 0 0 1 0 11.5v-10A1.5 1.5 0 0 1 1.5 0h10A1.5 1.5 0 0 1 13 1.5v6.636a.5.5 0 0 1-1 0V1.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 15.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L6.146 6.854a.5.5 0 1 1 .708-.708L15 14.293V10.5a.5.5 0 0 1 1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 0 0 1h2A1.5 1.5 0 0 0 14 9.5v-8A1.5 1.5 0 0 0 12.5 0h-9A1.5 1.5 0 0 0 2 1.5v8A1.5 1.5 0 0 0 3.5 11h2a.5.5 0 0 0 0-1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V5.5a.5.5 0 0 0-1 0v8.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsBoxArrowInDownLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.636 2.5a.5.5 0 0 0-.5-.5H2.5A1.5 1.5 0 0 0 1 3.5v10A1.5 1.5 0 0 0 2.5 15h10a1.5 1.5 0 0 0 1.5-1.5V6.864a.5.5 0 0 0-1 0V13.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 10.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H6.707l8.147-8.146a.5.5 0 0 0-.708-.708L6 9.293V5.5a.5.5 0 0 0-1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowInDownRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.364 2.5a.5.5 0 0 1 .5-.5H13.5A1.5 1.5 0 0 1 15 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 2 13.5V6.864a.5.5 0 1 1 1 0V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H6.864a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 10.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L1.146 1.854a.5.5 0 1 1 .708-.708L10 9.293V5.5a.5.5 0 0 1 1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowInDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsBoxArrowInLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z\"}}]})(props);\n};\nexport function BsBoxArrowInRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowInUpLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.636 13.5a.5.5 0 0 1-.5.5H2.5A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v6.636a.5.5 0 0 1-1 0V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1H6.707l8.147 8.146a.5.5 0 0 1-.708.708L6 6.707V10.5a.5.5 0 0 1-1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowInUpRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.364 13.5a.5.5 0 0 0 .5.5H13.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 13.5 1h-10A1.5 1.5 0 0 0 2 2.5v6.636a.5.5 0 1 0 1 0V2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H6.864a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 5.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793l-8.147 8.146a.5.5 0 0 0 .708.708L10 6.707V10.5a.5.5 0 0 0 1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowInUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 0 0 1h2A1.5 1.5 0 0 0 14 9.5v-8A1.5 1.5 0 0 0 12.5 0h-9A1.5 1.5 0 0 0 2 1.5v8A1.5 1.5 0 0 0 3.5 11h2a.5.5 0 0 0 0-1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V14.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h8A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 12.5v-2a.5.5 0 0 1 1 0v2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z\"}}]})(props);\n};\nexport function BsBoxArrowRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowUpLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.364 3.5a.5.5 0 0 1 .5-.5H14.5A1.5 1.5 0 0 1 16 4.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 3 14.5V7.864a.5.5 0 1 1 1 0V14.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H7.864a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 0 1H1.707l8.147 8.146a.5.5 0 0 1-.708.708L1 1.707V5.5a.5.5 0 0 1-1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowUpRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 1.707V10.5a.5.5 0 0 1-1 0V1.707L5.354 3.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsBoxFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.528 2.973a.75.75 0 0 1 .472.696v8.662a.75.75 0 0 1-.472.696l-7.25 2.9a.75.75 0 0 1-.557 0l-7.25-2.9A.75.75 0 0 1 0 12.331V3.669a.75.75 0 0 1 .471-.696L7.443.184l.004-.001.274-.11a.75.75 0 0 1 .558 0l.274.11.004.001 6.971 2.789Zm-1.374.527L8 5.962 1.846 3.5 1 3.839v.4l6.5 2.6v7.922l.5.2.5-.2V6.84l6.5-2.6v-.4l-.846-.339Z\"}}]})(props);\n};\nexport function BsBoxSeamFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.528 2.973a.75.75 0 0 1 .472.696v8.662a.75.75 0 0 1-.472.696l-7.25 2.9a.75.75 0 0 1-.557 0l-7.25-2.9A.75.75 0 0 1 0 12.331V3.669a.75.75 0 0 1 .471-.696L7.443.184l.01-.003.268-.108a.75.75 0 0 1 .558 0l.269.108.01.003 6.97 2.789ZM10.404 2 4.25 4.461 1.846 3.5 1 3.839v.4l6.5 2.6v7.922l.5.2.5-.2V6.84l6.5-2.6v-.4l-.846-.339L8 5.961 5.596 5l6.154-2.461L10.404 2Z\"}}]})(props);\n};\nexport function BsBoxSeam (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z\"}}]})(props);\n};\nexport function BsBox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z\"}}]})(props);\n};\nexport function BsBox2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 0a1 1 0 0 0-.8.4L.1 4.2a.5.5 0 0 0-.1.3V15a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4.5a.5.5 0 0 0-.1-.3L13.05.4a1 1 0 0 0-.8-.4h-8.5ZM15 4.667V5H1v-.333L1.5 4h6V1h1v3h6l.5.667Z\"}}]})(props);\n};\nexport function BsBox2HeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 0a1 1 0 0 0-.8.4L.1 4.2a.5.5 0 0 0-.1.3V15a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4.5a.5.5 0 0 0-.1-.3L13.05.4a1 1 0 0 0-.8-.4h-8.5ZM8.5 4h6l.5.667V5H1v-.333L1.5 4h6V1h1v3ZM8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsBox2Heart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.982C9.664 6.309 13.825 9.236 8 13 2.175 9.236 6.336 6.31 8 7.982Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 0a1 1 0 0 0-.8.4L.1 4.2a.5.5 0 0 0-.1.3V15a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4.5a.5.5 0 0 0-.1-.3L13.05.4a1 1 0 0 0-.8-.4h-8.5Zm0 1H7.5v3h-6l2.25-3ZM8.5 4V1h3.75l2.25 3h-6ZM15 5v10H1V5h14Z\"}}]})(props);\n};\nexport function BsBox2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.95.4a1 1 0 0 1 .8-.4h8.5a1 1 0 0 1 .8.4l2.85 3.8a.5.5 0 0 1 .1.3V15a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4.5a.5.5 0 0 1 .1-.3L2.95.4ZM7.5 1H3.75L1.5 4h6V1Zm1 0v3h6l-2.25-3H8.5ZM15 5H1v10h14V5Z\"}}]})(props);\n};\nexport function BsBoxes (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.752.066a.5.5 0 0 1 .496 0l3.75 2.143a.5.5 0 0 1 .252.434v3.995l3.498 2A.5.5 0 0 1 16 9.07v4.286a.5.5 0 0 1-.252.434l-3.75 2.143a.5.5 0 0 1-.496 0l-3.502-2-3.502 2.001a.5.5 0 0 1-.496 0l-3.75-2.143A.5.5 0 0 1 0 13.357V9.071a.5.5 0 0 1 .252-.434L3.75 6.638V2.643a.5.5 0 0 1 .252-.434L7.752.066ZM4.25 7.504 1.508 9.071l2.742 1.567 2.742-1.567L4.25 7.504ZM7.5 9.933l-2.75 1.571v3.134l2.75-1.571V9.933Zm1 3.134 2.75 1.571v-3.134L8.5 9.933v3.134Zm.508-3.996 2.742 1.567 2.742-1.567-2.742-1.567-2.742 1.567Zm2.242-2.433V3.504L8.5 5.076V8.21l2.75-1.572ZM7.5 8.21V5.076L4.75 3.504v3.134L7.5 8.21ZM5.258 2.643 8 4.21l2.742-1.567L8 1.076 5.258 2.643ZM15 9.933l-2.75 1.571v3.134L15 13.067V9.933ZM3.75 14.638v-3.134L1 9.933v3.134l2.75 1.571Z\"}}]})(props);\n};\nexport function BsBracesAsterisk (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C2.25 2 1.49 2.759 1.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6ZM14.886 7.9v.164c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456v-1.3c-1.114 0-1.49-.362-1.49-1.456V4.352C14.51 2.759 13.75 2 12.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6ZM7.5 11.5V9.207l-1.621 1.621-.707-.707L6.792 8.5H4.5v-1h2.293L5.172 5.879l.707-.707L7.5 6.792V4.5h1v2.293l1.621-1.621.707.707L9.208 7.5H11.5v1H9.207l1.621 1.621-.707.707L8.5 9.208V11.5h-1Z\"}}]})(props);\n};\nexport function BsBraces (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6zM13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6z\"}}]})(props);\n};\nexport function BsBricks (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h15a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v2h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v2h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5H2v-2H.5a.5.5 0 0 1-.5-.5v-3A.5.5 0 0 1 .5 6H2V4H.5a.5.5 0 0 1-.5-.5v-3zM3 4v2h4.5V4H3zm5.5 0v2H13V4H8.5zM3 10v2h4.5v-2H3zm5.5 0v2H13v-2H8.5zM1 1v2h3.5V1H1zm4.5 0v2h5V1h-5zm6 0v2H15V1h-3.5zM1 7v2h3.5V7H1zm4.5 0v2h5V7h-5zm6 0v2H15V7h-3.5zM1 13v2h3.5v-2H1zm4.5 0v2h5v-2h-5zm6 0v2H15v-2h-3.5z\"}}]})(props);\n};\nexport function BsBriefcaseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z\"}}]})(props);\n};\nexport function BsBriefcase (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5zm1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0zM1.5 4h13a.5.5 0 0 1 .5.5v1.616L8.129 7.948a.5.5 0 0 1-.258 0L1 6.116V4.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsBrightnessAltHighFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsBrightnessAltHigh (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4zm0 1a3 3 0 0 1 2.959 2.5H5.04A3 3 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsBrightnessAltLowFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsBrightnessAltLow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4zm0 1a3 3 0 0 1 2.959 2.5H5.04A3 3 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsBrightnessHighFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsBrightnessHigh (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsBrightnessLowFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsBrightnessLow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm.5-9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsBrilliance (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16ZM1 8a7 7 0 0 0 7 7 3.5 3.5 0 1 0 0-7 3.5 3.5 0 1 1 0-7 7 7 0 0 0-7 7Z\"}}]})(props);\n};\nexport function BsBroadcastPin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM6 8a2 2 0 1 1 2.5 1.937V15.5a.5.5 0 0 1-1 0V9.937A2 2 0 0 1 6 8z\"}}]})(props);\n};\nexport function BsBroadcast (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsBrowserChrome (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a8.001 8.001 0 0 1-7.022 7.94l1.902-7.098a2.995 2.995 0 0 0 .05-1.492A2.977 2.977 0 0 0 10.237 6h5.511A8 8 0 0 1 16 8ZM0 8a8 8 0 0 0 7.927 8l1.426-5.321a2.978 2.978 0 0 1-.723.255 2.979 2.979 0 0 1-1.743-.147 2.986 2.986 0 0 1-1.043-.7L.633 4.876A7.975 7.975 0 0 0 0 8Zm5.004-.167L1.108 3.936A8.003 8.003 0 0 1 15.418 5H8.066a2.979 2.979 0 0 0-1.252.243 2.987 2.987 0 0 0-1.81 2.59ZM8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}}]})(props);\n};\nexport function BsBrowserEdge (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.482 9.341c-.069.062-.17.153-.17.309 0 .162.107.325.3.456.877.613 2.521.54 2.592.538h.002c.667 0 1.32-.18 1.894-.519A3.838 3.838 0 0 0 16 6.819c.018-1.316-.44-2.218-.666-2.664l-.04-.08C13.963 1.487 11.106 0 8 0A8 8 0 0 0 .473 5.29C1.488 4.048 3.183 3.262 5 3.262c2.83 0 5.01 1.885 5.01 4.797h-.004v.002c0 .338-.168.832-.487 1.244l.006-.006a.594.594 0 0 1-.043.041Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.01 7.753a8.137 8.137 0 0 0 .753 3.641 8 8 0 0 0 6.495 4.564 5.21 5.21 0 0 1-.785-.377h-.01l-.12-.075a5.45 5.45 0 0 1-1.56-1.463A5.543 5.543 0 0 1 6.81 5.8l.01-.004.025-.012c.208-.098.62-.292 1.167-.285.129.001.257.012.384.033a4.037 4.037 0 0 0-.993-.698l-.01-.005C6.348 4.282 5.199 4.263 5 4.263c-2.44 0-4.824 1.634-4.99 3.49Zm10.263 7.912c.088-.027.177-.054.265-.084-.102.032-.204.06-.307.086l.042-.002Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.228 15.667a5.21 5.21 0 0 0 .303-.086l.082-.025a8.019 8.019 0 0 0 4.162-3.3.25.25 0 0 0-.331-.35c-.215.112-.436.21-.663.294a6.367 6.367 0 0 1-2.243.4c-2.957 0-5.532-2.031-5.532-4.644.002-.135.017-.268.046-.399a4.543 4.543 0 0 0-.46 5.898l.003.005c.315.441.707.821 1.158 1.121h.003l.144.09c.877.55 1.721 1.078 3.328.996Z\"}}]})(props);\n};\nexport function BsBrowserFirefox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.384 3.408c.535.276 1.22 1.152 1.556 1.963a7.98 7.98 0 0 1 .503 3.897l-.009.077a8.533 8.533 0 0 1-.026.224A7.758 7.758 0 0 1 .006 8.257v-.04c.016-.363.055-.724.114-1.082.01-.074.075-.42.09-.489l.01-.051a6.551 6.551 0 0 1 1.041-2.35c.217-.31.46-.6.725-.87.233-.238.487-.456.758-.65a1.5 1.5 0 0 1 .26-.137c-.018.268-.04 1.553.268 1.943h.003a5.744 5.744 0 0 1 1.868-1.443 3.597 3.597 0 0 0 .021 1.896c.07.047.137.098.2.152.107.09.226.207.454.433l.068.066.009.009a1.933 1.933 0 0 0 .213.18c.383.287.943.563 1.306.741.201.1.342.168.359.193l.004.008c-.012.193-.695.858-.933.858-2.206 0-2.564 1.335-2.564 1.335.087.997.714 1.839 1.517 2.357a3.72 3.72 0 0 0 .439.241c.076.034.152.065.228.094.325.115.665.18 1.01.194 3.043.143 4.155-2.804 3.129-4.745v-.001a3.005 3.005 0 0 0-.731-.9 2.945 2.945 0 0 0-.571-.37l-.003-.002a2.679 2.679 0 0 1 1.87.454 3.915 3.915 0 0 0-3.396-1.983c-.078 0-.153.005-.23.01l-.042.003V4.31h-.002a3.882 3.882 0 0 0-.8.14 6.454 6.454 0 0 0-.333-.314 2.321 2.321 0 0 0-.2-.152 3.594 3.594 0 0 1-.088-.383 4.88 4.88 0 0 1 1.352-.289l.05-.003c.052-.004.125-.01.205-.012C7.996 2.212 8.733.843 10.17.002l-.003.005.003-.001.002-.002h.002l.002-.002a.028.028 0 0 1 .015 0 .02.02 0 0 1 .012.007 2.408 2.408 0 0 0 .206.48c.06.103.122.2.183.297.49.774 1.023 1.379 1.543 1.968.771.874 1.512 1.715 2.036 3.02l-.001-.013a8.06 8.06 0 0 0-.786-2.353Z\"}}]})(props);\n};\nexport function BsBrowserSafari (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm.25-14.75v1.5a.25.25 0 0 1-.5 0v-1.5a.25.25 0 0 1 .5 0Zm0 12v1.5a.25.25 0 1 1-.5 0v-1.5a.25.25 0 1 1 .5 0ZM4.5 1.938a.25.25 0 0 1 .342.091l.75 1.3a.25.25 0 0 1-.434.25l-.75-1.3a.25.25 0 0 1 .092-.341Zm6 10.392a.25.25 0 0 1 .341.092l.75 1.299a.25.25 0 1 1-.432.25l-.75-1.3a.25.25 0 0 1 .091-.34ZM2.28 4.408l1.298.75a.25.25 0 0 1-.25.434l-1.299-.75a.25.25 0 0 1 .25-.434Zm10.392 6 1.299.75a.25.25 0 1 1-.25.434l-1.3-.75a.25.25 0 0 1 .25-.434ZM1 8a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 0 .5h-1.5A.25.25 0 0 1 1 8Zm12 0a.25.25 0 0 1 .25-.25h1.5a.25.25 0 1 1 0 .5h-1.5A.25.25 0 0 1 13 8ZM2.03 11.159l1.298-.75a.25.25 0 0 1 .25.432l-1.299.75a.25.25 0 0 1-.25-.432Zm10.392-6 1.299-.75a.25.25 0 1 1 .25.433l-1.3.75a.25.25 0 0 1-.25-.434ZM4.5 14.061a.25.25 0 0 1-.092-.341l.75-1.3a.25.25 0 0 1 .434.25l-.75 1.3a.25.25 0 0 1-.342.091Zm6-10.392a.25.25 0 0 1-.091-.342l.75-1.299a.25.25 0 1 1 .432.25l-.75 1.3a.25.25 0 0 1-.341.09ZM6.494 1.415l.13.483a.25.25 0 1 1-.483.13l-.13-.483a.25.25 0 0 1 .483-.13ZM9.86 13.972l.13.483a.25.25 0 1 1-.483.13l-.13-.483a.25.25 0 0 1 .483-.13ZM3.05 3.05a.25.25 0 0 1 .354 0l.353.354a.25.25 0 0 1-.353.353l-.354-.353a.25.25 0 0 1 0-.354Zm9.193 9.193a.25.25 0 0 1 .353 0l.354.353a.25.25 0 1 1-.354.354l-.353-.354a.25.25 0 0 1 0-.353ZM1.545 6.01l.483.13a.25.25 0 1 1-.13.483l-.483-.13a.25.25 0 1 1 .13-.482Zm12.557 3.365.483.13a.25.25 0 1 1-.13.483l-.483-.13a.25.25 0 1 1 .13-.483Zm-12.863.436a.25.25 0 0 1 .176-.306l.483-.13a.25.25 0 1 1 .13.483l-.483.13a.25.25 0 0 1-.306-.177Zm12.557-3.365a.25.25 0 0 1 .176-.306l.483-.13a.25.25 0 1 1 .13.483l-.483.13a.25.25 0 0 1-.306-.177ZM3.045 12.944a.299.299 0 0 1-.029-.376l3.898-5.592a.25.25 0 0 1 .062-.062l5.602-3.884a.278.278 0 0 1 .392.392L9.086 9.024a.25.25 0 0 1-.062.062l-5.592 3.898a.299.299 0 0 1-.382-.034l-.005-.006Zm3.143 1.817a.25.25 0 0 1-.176-.306l.129-.483a.25.25 0 0 1 .483.13l-.13.483a.25.25 0 0 1-.306.176ZM9.553 2.204a.25.25 0 0 1-.177-.306l.13-.483a.25.25 0 1 1 .483.13l-.13.483a.25.25 0 0 1-.306.176Z\"}}]})(props);\n};\nexport function BsBrushFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04z\"}}]})(props);\n};\nexport function BsBrush (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04zM4.705 11.912a1.23 1.23 0 0 0-.419-.1c-.246-.013-.573.05-.879.479-.197.275-.355.532-.5.777l-.105.177c-.106.181-.213.362-.32.528a3.39 3.39 0 0 1-.76.861c.69.112 1.736.111 2.657-.12.559-.139.843-.569.993-1.06a3.122 3.122 0 0 0 .126-.75l-.793-.792zm1.44.026c.12-.04.277-.1.458-.183a5.068 5.068 0 0 0 1.535-1.1c1.9-1.996 4.412-5.57 6.052-8.631-2.59 1.927-5.566 4.66-7.302 6.792-.442.543-.795 1.243-1.042 1.826-.121.288-.214.54-.275.72v.001l.575.575zm-4.973 3.04.007-.005a.031.031 0 0 1-.007.004zm3.582-3.043.002.001h-.002z\"}}]})(props);\n};\nexport function BsBucketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527z\"}}]})(props);\n};\nexport function BsBucket (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527zm9.892 1-1.286 8.574a.5.5 0 0 1-.494.426H4.36a.5.5 0 0 1-.494-.426L2.58 6h10.838z\"}}]})(props);\n};\nexport function BsBugFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A4.985 4.985 0 0 0 3 6h10a4.985 4.985 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A4.978 4.978 0 0 0 8 1a4.979 4.979 0 0 0-2.731.811l-.29-.956z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5H13zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975z\"}}]})(props);\n};\nexport function BsBug (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.355.522a.5.5 0 0 1 .623.333l.291.956A4.979 4.979 0 0 1 8 1c1.007 0 1.946.298 2.731.811l.29-.956a.5.5 0 1 1 .957.29l-.41 1.352A4.985 4.985 0 0 1 13 6h.5a.5.5 0 0 0 .5-.5V5a.5.5 0 0 1 1 0v.5A1.5 1.5 0 0 1 13.5 7H13v1h1.5a.5.5 0 0 1 0 1H13v1h.5a1.5 1.5 0 0 1 1.5 1.5v.5a.5.5 0 1 1-1 0v-.5a.5.5 0 0 0-.5-.5H13a5 5 0 0 1-10 0h-.5a.5.5 0 0 0-.5.5v.5a.5.5 0 1 1-1 0v-.5A1.5 1.5 0 0 1 2.5 10H3V9H1.5a.5.5 0 0 1 0-1H3V7h-.5A1.5 1.5 0 0 1 1 5.5V5a.5.5 0 0 1 1 0v.5a.5.5 0 0 0 .5.5H3c0-1.364.547-2.601 1.432-3.503l-.41-1.352a.5.5 0 0 1 .333-.623zM4 7v4a4 4 0 0 0 3.5 3.97V7H4zm4.5 0v7.97A4 4 0 0 0 12 11V7H8.5zM12 6a3.989 3.989 0 0 0-1.334-2.982A3.983 3.983 0 0 0 8 2a3.983 3.983 0 0 0-2.667 1.018A3.989 3.989 0 0 0 4 6h8z\"}}]})(props);\n};\nexport function BsBuildingAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V10.5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm8.5 4.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsBuildingFillAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingFillCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingFillDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingFillDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V10.5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingFillExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsBuildingFillGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.886 9.46c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.045c-.613-.18-.613-1.048 0-1.229l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}}]})(props);\n};\nexport function BsBuildingFillLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.764a3 3 0 0 0-4.989 2.497 2.01 2.01 0 0 0-.743.739H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsBuildingFillSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.501 2.501 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingFillUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 0 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingFillX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.493 4.493 0 0 0 12.5 8a4.493 4.493 0 0 0-3.59 1.787A.498.498 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.476 4.476 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1V1Zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 .708-.708Z\"}}]})(props);\n};\nexport function BsBuildingFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3v-3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V16h3a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H3Zm1 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 8h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsBuildingGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm4.386 1.46c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.045c-.613-.18-.613-1.048 0-1.229l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}}]})(props);\n};\nexport function BsBuildingLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsBuildingSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.501 2.501 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 0 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsBuildingX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V1H3v14h3v-2.5a.5.5 0 0 1 .5-.5H8v4H3a1 1 0 0 1-1-1V1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm5 8a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 .708-.708Z\"}}]})(props);\n};\nexport function BsBuilding (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V1Zm11 0H3v14h3v-2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V15h3V1Z\"}}]})(props);\n};\nexport function BsBuildingsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 .5a.5.5 0 0 0-.724-.447l-8 4A.5.5 0 0 0 6 4.5v3.14L.342 9.526A.5.5 0 0 0 0 10v5.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V14h1v1.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V.5ZM2 11h1v1H2v-1Zm2 0h1v1H4v-1Zm-1 2v1H2v-1h1Zm1 0h1v1H4v-1Zm9-10v1h-1V3h1ZM8 5h1v1H8V5Zm1 2v1H8V7h1ZM8 9h1v1H8V9Zm2 0h1v1h-1V9Zm-1 2v1H8v-1h1Zm1 0h1v1h-1v-1Zm3-2v1h-1V9h1Zm-1 2h1v1h-1v-1Zm-2-4h1v1h-1V7Zm3 0v1h-1V7h1Zm-2-2v1h-1V5h1Zm1 0h1v1h-1V5Z\"}}]})(props);\n};\nexport function BsBuildings (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022ZM6 8.694 1 10.36V15h5V8.694ZM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h1v1H2v-1Zm2 0h1v1H4v-1Zm-2 2h1v1H2v-1Zm2 0h1v1H4v-1Zm4-4h1v1H8V9Zm2 0h1v1h-1V9Zm-2 2h1v1H8v-1Zm2 0h1v1h-1v-1Zm2-2h1v1h-1V9Zm0 2h1v1h-1v-1ZM8 7h1v1H8V7Zm2 0h1v1h-1V7Zm2 0h1v1h-1V7ZM8 5h1v1H8V5Zm2 0h1v1h-1V5Zm2 0h1v1h-1V5Zm0-2h1v1h-1V3Z\"}}]})(props);\n};\nexport function BsBullseye (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 1 8 3a5 5 0 0 1 0 10zm0 1A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsBusFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7a1 1 0 0 1-1 1v3.5c0 .818-.393 1.544-1 2v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V14H5v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a2.496 2.496 0 0 1-1-2V8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1V2.64C1 1.452 1.845.408 3.064.268A43.608 43.608 0 0 1 8 0c2.1 0 3.792.136 4.936.268C14.155.408 15 1.452 15 2.64V4a1 1 0 0 1 1 1v2ZM3.552 3.22A43.306 43.306 0 0 1 8 3c1.837 0 3.353.107 4.448.22a.5.5 0 0 0 .104-.994A44.304 44.304 0 0 0 8 2c-1.876 0-3.426.109-4.552.226a.5.5 0 1 0 .104.994ZM8 4c-1.876 0-3.426.109-4.552.226A.5.5 0 0 0 3 4.723v3.554a.5.5 0 0 0 .448.497C4.574 8.891 6.124 9 8 9c1.876 0 3.426-.109 4.552-.226A.5.5 0 0 0 13 8.277V4.723a.5.5 0 0 0-.448-.497A44.304 44.304 0 0 0 8 4Zm-3 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm8 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm-7 0a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2H7a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsBusFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm8 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-6-1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2H7Zm1-6c-1.876 0-3.426.109-4.552.226A.5.5 0 0 0 3 4.723v3.554a.5.5 0 0 0 .448.497C4.574 8.891 6.124 9 8 9c1.876 0 3.426-.109 4.552-.226A.5.5 0 0 0 13 8.277V4.723a.5.5 0 0 0-.448-.497A44.303 44.303 0 0 0 8 4Zm0-1c-1.837 0-3.353.107-4.448.22a.5.5 0 1 1-.104-.994A44.304 44.304 0 0 1 8 2c1.876 0 3.426.109 4.552.226a.5.5 0 1 1-.104.994A43.306 43.306 0 0 0 8 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1V2.64c0-1.188-.845-2.232-2.064-2.372A43.61 43.61 0 0 0 8 0C5.9 0 4.208.136 3.064.268 1.845.408 1 1.452 1 2.64V4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1v3.5c0 .818.393 1.544 1 2v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V14h6v1.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2c.607-.456 1-1.182 1-2V8ZM8 1c2.056 0 3.71.134 4.822.261.676.078 1.178.66 1.178 1.379v8.86a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 11.5V2.64c0-.72.502-1.301 1.178-1.379A42.611 42.611 0 0 1 8 1Z\"}}]})(props);\n};\nexport function BsCCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.146 4.992c.961 0 1.641.633 1.729 1.512h1.295v-.088c-.094-1.518-1.348-2.572-3.03-2.572-2.068 0-3.269 1.377-3.269 3.638v1.073c0 2.267 1.178 3.603 3.27 3.603 1.675 0 2.93-1.02 3.029-2.467v-.093H9.875c-.088.832-.75 1.418-1.729 1.418-1.224 0-1.927-.891-1.927-2.461v-1.06c0-1.583.715-2.503 1.927-2.503Z\"}}]})(props);\n};\nexport function BsCCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.146 4.992c-1.212 0-1.927.92-1.927 2.502v1.06c0 1.571.703 2.462 1.927 2.462.979 0 1.641-.586 1.729-1.418h1.295v.093c-.1 1.448-1.354 2.467-3.03 2.467-2.091 0-3.269-1.336-3.269-3.603V7.482c0-2.261 1.201-3.638 3.27-3.638 1.681 0 2.935 1.054 3.029 2.572v.088H9.875c-.088-.879-.768-1.512-1.729-1.512Z\"}}]})(props);\n};\nexport function BsCSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6.146 4.992c-1.212 0-1.927.92-1.927 2.502v1.06c0 1.571.703 2.462 1.927 2.462.979 0 1.641-.586 1.729-1.418h1.295v.093c-.1 1.448-1.354 2.467-3.03 2.467-2.091 0-3.269-1.336-3.269-3.603V7.482c0-2.261 1.201-3.638 3.27-3.638 1.681 0 2.935 1.054 3.029 2.572v.088H9.875c-.088-.879-.768-1.512-1.729-1.512Z\"}}]})(props);\n};\nexport function BsCSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.146 4.992c-1.212 0-1.927.92-1.927 2.502v1.06c0 1.571.703 2.462 1.927 2.462.979 0 1.641-.586 1.729-1.418h1.295v.093c-.1 1.448-1.354 2.467-3.03 2.467-2.091 0-3.269-1.336-3.269-3.603V7.482c0-2.261 1.201-3.638 3.27-3.638 1.681 0 2.935 1.054 3.029 2.572v.088H9.875c-.088-.879-.768-1.512-1.729-1.512Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function BsCakeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.399.804.595-.792.598.79A.747.747 0 0 1 8.5 1.806V4H11a2 2 0 0 1 2 2v3h1a2 2 0 0 1 2 2v4a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1v-4a2 2 0 0 1 2-2h1V6a2 2 0 0 1 2-2h2.5V1.813a.747.747 0 0 1-.101-1.01ZM12 6.414a.911.911 0 0 1-.646-.268 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0A.911.911 0 0 1 4 6.414v1c.49 0 .98-.187 1.354-.56a.914.914 0 0 1 1.292 0c.748.747 1.96.747 2.708 0a.914.914 0 0 1 1.292 0c.374.373.864.56 1.354.56v-1Zm2.646 5.732a.914.914 0 0 1-1.293 0 1.914 1.914 0 0 0-2.707 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0L1 11.793v1.34c.737.452 1.715.36 2.354-.28a.914.914 0 0 1 1.292 0c.748.748 1.96.748 2.708 0a.914.914 0 0 1 1.292 0c.748.748 1.96.748 2.707 0a.914.914 0 0 1 1.293 0 1.915 1.915 0 0 0 2.354.28v-1.34l-.354.354Z\"}}]})(props);\n};\nexport function BsCake (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.994.013-.595.79a.747.747 0 0 0 .101 1.01V4H5a2 2 0 0 0-2 2v3H2a2 2 0 0 0-2 2v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4a2 2 0 0 0-2-2h-1V6a2 2 0 0 0-2-2H8.5V1.806A.747.747 0 0 0 8.592.802l-.598-.79ZM4 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v.414a.911.911 0 0 1-.646-.268 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0A.911.911 0 0 1 4 6.414V6Zm0 1.414c.49 0 .98-.187 1.354-.56a.914.914 0 0 1 1.292 0c.748.747 1.96.747 2.708 0a.914.914 0 0 1 1.292 0c.374.373.864.56 1.354.56V9H4V7.414ZM1 11a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.793l-.354.354a.914.914 0 0 1-1.293 0 1.914 1.914 0 0 0-2.707 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0 1.914 1.914 0 0 0-2.708 0 .914.914 0 0 1-1.292 0L1 11.793V11Zm11.646 1.854a1.915 1.915 0 0 0 2.354.279V15H1v-1.867c.737.452 1.715.36 2.354-.28a.914.914 0 0 1 1.292 0c.748.748 1.96.748 2.708 0a.914.914 0 0 1 1.292 0c.748.748 1.96.748 2.707 0a.914.914 0 0 1 1.293 0Z\"}}]})(props);\n};\nexport function BsCake2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.899.804.595-.792.598.79A.747.747 0 0 1 4 1.806v4.886c-.354-.06-.689-.127-1-.201V1.813a.747.747 0 0 1-.1-1.01ZM13 1.806v4.685a15.19 15.19 0 0 1-1 .201v-4.88a.747.747 0 0 1-.1-1.007l.595-.792.598.79A.746.746 0 0 1 13 1.806Zm-3 0a.746.746 0 0 0 .092-1.004l-.598-.79-.595.792A.747.747 0 0 0 9 1.813v5.17c.341-.013.675-.031 1-.055V1.806Zm-3 0v5.176c-.341-.012-.675-.03-1-.054V1.813a.747.747 0 0 1-.1-1.01l.595-.79.598.789A.747.747 0 0 1 7 1.806Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 6.988V4.226a22.6 22.6 0 0 1 1-.114V7.16c0 .131.101.24.232.25l.231.017c.332.024.672.043 1.02.055l.258.01a.25.25 0 0 0 .26-.25V4.003a29.015 29.015 0 0 1 1 0V7.24a.25.25 0 0 0 .258.25l.259-.009c.347-.012.687-.03 1.019-.055l.231-.017a.25.25 0 0 0 .232-.25V4.112c.345.031.679.07 1 .114v2.762a.25.25 0 0 0 .292.246l.291-.049c.364-.061.71-.13 1.033-.208l.192-.046a.25.25 0 0 0 .192-.243V4.621c.672.184 1.251.409 1.677.678.415.261.823.655.823 1.2V13.5c0 .546-.408.94-.823 1.201-.44.278-1.043.51-1.745.696-1.41.376-3.33.603-5.432.603-2.102 0-4.022-.227-5.432-.603-.702-.187-1.305-.418-1.745-.696C.408 14.44 0 14.046 0 13.5v-7c0-.546.408-.94.823-1.201.426-.269 1.005-.494 1.677-.678v2.067c0 .116.08.216.192.243l.192.046c.323.077.669.147 1.033.208l.292.05a.25.25 0 0 0 .291-.247ZM1 8.82v1.659a1.935 1.935 0 0 0 2.298.43.935.935 0 0 1 1.08.175l.348.349a2 2 0 0 0 2.615.185l.059-.044a1 1 0 0 1 1.2 0l.06.044a2 2 0 0 0 2.613-.185l.348-.348a.938.938 0 0 1 1.082-.175c.781.39 1.718.208 2.297-.426V8.833l-.68.907a.938.938 0 0 1-1.17.276 1.938 1.938 0 0 0-2.236.363l-.348.348a1 1 0 0 1-1.307.092l-.06-.044a2 2 0 0 0-2.399 0l-.06.044a1 1 0 0 1-1.306-.092l-.35-.35a1.935 1.935 0 0 0-2.233-.362.935.935 0 0 1-1.168-.277L1 8.82Z\"}}]})(props);\n};\nexport function BsCake2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.494.013-.595.79A.747.747 0 0 0 3 1.814v2.683c-.149.034-.293.07-.432.107-.702.187-1.305.418-1.745.696C.408 5.56 0 5.954 0 6.5v7c0 .546.408.94.823 1.201.44.278 1.043.51 1.745.696C3.978 15.773 5.898 16 8 16c2.102 0 4.022-.227 5.432-.603.701-.187 1.305-.418 1.745-.696.415-.261.823-.655.823-1.201v-7c0-.546-.408-.94-.823-1.201-.44-.278-1.043-.51-1.745-.696A12.418 12.418 0 0 0 13 4.496v-2.69a.747.747 0 0 0 .092-1.004l-.598-.79-.595.792A.747.747 0 0 0 12 1.813V4.3a22.03 22.03 0 0 0-2-.23V1.806a.747.747 0 0 0 .092-1.004l-.598-.79-.595.792A.747.747 0 0 0 9 1.813v2.204a28.708 28.708 0 0 0-2 0V1.806A.747.747 0 0 0 7.092.802l-.598-.79-.595.792A.747.747 0 0 0 6 1.813V4.07c-.71.05-1.383.129-2 .23V1.806A.747.747 0 0 0 4.092.802l-.598-.79Zm-.668 5.556L3 5.524v.967c.311.074.646.141 1 .201V5.315a21.05 21.05 0 0 1 2-.242v1.855c.325.024.659.042 1 .054V5.018a27.685 27.685 0 0 1 2 0v1.964c.341-.012.675-.03 1-.054V5.073c.72.054 1.393.137 2 .242v1.377c.354-.06.689-.127 1-.201v-.967l.175.045c.655.175 1.15.374 1.469.575.344.217.356.35.356.356 0 .006-.012.139-.356.356-.319.2-.814.4-1.47.575C11.87 7.78 10.041 8 8 8c-2.04 0-3.87-.221-5.174-.569-.656-.175-1.151-.374-1.47-.575C1.012 6.639 1 6.506 1 6.5c0-.006.012-.139.356-.356.319-.2.814-.4 1.47-.575ZM15 7.806v1.027l-.68.907a.938.938 0 0 1-1.17.276 1.938 1.938 0 0 0-2.236.363l-.348.348a1 1 0 0 1-1.307.092l-.06-.044a2 2 0 0 0-2.399 0l-.06.044a1 1 0 0 1-1.306-.092l-.35-.35a1.935 1.935 0 0 0-2.233-.362.935.935 0 0 1-1.168-.277L1 8.82V7.806c.42.232.956.428 1.568.591C3.978 8.773 5.898 9 8 9c2.102 0 4.022-.227 5.432-.603.612-.163 1.149-.36 1.568-.591Zm0 2.679V13.5c0 .006-.012.139-.356.355-.319.202-.814.401-1.47.576C11.87 14.78 10.041 15 8 15c-2.04 0-3.87-.221-5.174-.569-.656-.175-1.151-.374-1.47-.575-.344-.217-.356-.35-.356-.356v-3.02a1.935 1.935 0 0 0 2.298.43.935.935 0 0 1 1.08.175l.348.349a2 2 0 0 0 2.615.185l.059-.044a1 1 0 0 1 1.2 0l.06.044a2 2 0 0 0 2.613-.185l.348-.348a.938.938 0 0 1 1.082-.175c.781.39 1.718.208 2.297-.426Z\"}}]})(props);\n};\nexport function BsCalculatorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalculator (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-4z\"}}]})(props);\n};\nexport function BsCalendarCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCalendarCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarDateFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm5.402 9.746c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-6.664-1.21c-1.11 0-1.656-.767-1.703-1.407h.683c.043.37.387.82 1.051.82.844 0 1.301-.848 1.305-2.164h-.027c-.153.414-.637.79-1.383.79-.852 0-1.676-.61-1.676-1.77 0-1.137.871-1.809 1.797-1.809 1.172 0 1.953.734 1.953 2.668 0 1.805-.742 2.871-2 2.871zm-2.89-5.435v5.332H5.77V8.079h-.012c-.29.156-.883.52-1.258.777V8.16a12.6 12.6 0 0 1 1.313-.805h.632z\"}}]})(props);\n};\nexport function BsCalendarDate (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.445 11.688V6.354h-.633A12.6 12.6 0 0 0 4.5 7.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarDayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zm-4.785-6.145a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43c0 .238.192.425.43.425zm.336.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsCalendarDay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.684 11.523v-2.3h2.261v-.61H4.684V6.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V8.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V7.418h-.672v4.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarEventFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarEvent (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16V4H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5ZM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2ZM8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsCalendarHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5ZM1 14V4h14v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1Zm7-6.507c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsCalendarMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCalendarMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.5A.5.5 0 0 1 6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarMonthFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm.104 7.305L4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM2.56 12.332h-.71L3.748 7h.696l1.898 5.332h-.719l-.539-1.602H3.1l-.54 1.602zm7.29-4.105v4.105h-.668v-.539h-.027c-.145.324-.532.605-1.188.605-.847 0-1.453-.484-1.453-1.425V8.227h.676v2.554c0 .766.441 1.012.98 1.012.59 0 1.004-.371 1.004-1.023V8.227h.676zm1.273 4.41c.075.332.422.636.985.636.648 0 1.07-.378 1.07-1.023v-.605h-.02c-.163.355-.613.648-1.171.648-.957 0-1.64-.672-1.64-1.902v-.34c0-1.207.675-1.887 1.64-1.887.558 0 1.004.293 1.195.64h.02v-.577h.648v4.03c0 1.052-.816 1.579-1.746 1.579-1.043 0-1.574-.516-1.668-1.2h.687z\"}}]})(props);\n};\nexport function BsCalendarMonth (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.56 11.332 3.1 9.73h1.984l.54 1.602h.718L4.444 6h-.696L1.85 11.332h.71zm1.544-4.527L4.9 9.18H3.284l.8-2.375h.02zm5.746.422h-.676V9.77c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V7.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V7.227zm2.258 5.046c-.563 0-.91-.304-.985-.636h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V7.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023zm.008-4.53c.648 0 1.062.527 1.062 1.359v.253c0 .848-.39 1.364-1.062 1.364-.692 0-1.098-.512-1.098-1.364v-.253c0-.868.406-1.36 1.098-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM8.5 8.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCalendarPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7a.5.5 0 0 1 .5.5V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5A.5.5 0 0 1 8 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarRangeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 7V5H0v5h5a1 1 0 1 1 0 2H0v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9h-6a1 1 0 1 1 0-2h6z\"}}]})(props);\n};\nexport function BsCalendarRange (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7a1 1 0 0 1 1-1h5v2h-5a1 1 0 0 1-1-1zM1 9h4a1 1 0 0 1 0 2H1V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarWeekFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarWeek (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCalendarX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 7.146a.5.5 0 0 1 .708 0L8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendar2CheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.6 5.854a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsCalendar2Check (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2DateFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.402 10.246c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-4.118 9.79c1.258 0 2-1.067 2-2.872 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684c.047.64.594 1.406 1.703 1.406zm-2.89-5.435h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675V7.354z\"}}]})(props);\n};\nexport function BsCalendar2Date (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.445 12.688V7.354h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2DayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.24 4.855a.428.428 0 1 0 0-.855.426.426 0 0 0-.429.43c0 .238.192.425.43.425zm.337.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsCalendar2Day (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.684 12.523v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V8.418h-.672v4.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2EventFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalendar2Event (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM2.545 3h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5v-1c0-.276.244-.5.545-.5z\"}}]})(props);\n};\nexport function BsCalendar2HeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5Zm-2 4v-1c0-.276.244-.5.545-.5h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5Zm6 3.493c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsCalendar2Heart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5ZM1 3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3Zm2 .5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H3Zm5 4.493c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsCalendar2MinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM6 10a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsCalendar2Minus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 10.5A.5.5 0 0 1 6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2MonthFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.104 7.805 4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM2.561 12.332 3.1 10.73h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zM9.85 8.227h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm1.273 4.41h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023-.563 0-.91-.304-.985-.636z\"}}]})(props);\n};\nexport function BsCalendar2Month (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.56 12.332.54-1.602h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zm1.544-4.527L4.9 10.18H3.284l.8-2.375h.02zm5.746.422h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm2.258 5.046c-.563 0-.91-.304-.985-.636h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023zm.008-4.53c.648 0 1.062.527 1.062 1.359v.253c0 .848-.39 1.364-1.062 1.364-.692 0-1.098-.512-1.098-1.364v-.253c0-.868.406-1.36 1.098-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2PlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 3.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5H2.545c-.3 0-.545.224-.545.5zm6.5 5a.5.5 0 0 0-1 0V10H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V11H10a.5.5 0 0 0 0-1H8.5V8.5z\"}}]})(props);\n};\nexport function BsCalendar2Plus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM8 8a.5.5 0 0 1 .5.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5A.5.5 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsCalendar2RangeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM10 7a1 1 0 0 0 0 2h5V7h-5zm-4 4a1 1 0 0 0-1-1H1v2h4a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsCalendar2Range (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM9 8a1 1 0 0 1 1-1h5v2h-5a1 1 0 0 1-1-1zm-8 2h4a1 1 0 1 1 0 2H1v-2z\"}}]})(props);\n};\nexport function BsCalendar2WeekFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM3 10.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalendar2Week (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar2XFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-6.6 5.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsCalendar2X (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 8.146a.5.5 0 0 1 .708 0L8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar3EventFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsCalendar3Event (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2H0zm0 1v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3H0z\"}}]})(props);\n};\nexport function BsCalendar3RangeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 8V3h16v2h-6a1 1 0 1 0 0 2h6v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4h6a1 1 0 1 0 0-2H0z\"}}]})(props);\n};\nexport function BsCalendar3Range (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10a1 1 0 0 0 0-2H1v2h6zm2-3h6V5H9a1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3WeekFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0zM5 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm5-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM2 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsCalendar3Week (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-5 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm2-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-5 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar4Event (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar4Range (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7.5a.5.5 0 0 1 .5-.5H15v2H9.5a.5.5 0 0 1-.5-.5v-1zm-2 3v1a.5.5 0 0 1-.5.5H1v-2h5.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsCalendar4Week (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}}]})(props);\n};\nexport function BsCameraFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2zm.5 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9 2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0z\"}}]})(props);\n};\nexport function BsCameraReelsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7z\"}}]})(props);\n};\nexport function BsCameraReels (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM1 3a2 2 0 1 0 4 0 2 2 0 0 0-4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7zm6 8.73V7.27l-3.5 1.555v4.35l3.5 1.556zM1 8v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM7 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCameraVideoFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5z\"}}]})(props);\n};\nexport function BsCameraVideoOffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l6.69 9.365zm-10.114-9A2.001 2.001 0 0 0 0 5v6a2 2 0 0 0 2 2h5.728L.847 3.366zm9.746 11.925-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsCameraVideoOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l.714 1H9.5a1 1 0 0 1 1 1v6a1 1 0 0 1-.144.518l.605.847zM1.428 4.18A.999.999 0 0 0 1 5v6a1 1 0 0 0 1 1h5.014l.714 1H2a2 2 0 0 1-2-2V5c0-.675.334-1.272.847-1.634l.58.814zM15 11.73l-3.5-1.555v-4.35L15 4.269v7.462zm-4.407 3.56-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsCameraVideo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5zm11.5 5.175 3.5 1.556V4.269l-3.5 1.556v4.35zM2 4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsCamera (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.172a3 3 0 0 0 2.12-.879l.83-.828A1 1 0 0 1 6.827 3h2.344a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 12.828 5H14a1 1 0 0 1 1 1v6zM2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm0 1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zM3 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCamera2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8c0-1.657 2.343-3 4-3V4a4 4 0 0 0-4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.318 3h2.015C15.253 3 16 3.746 16 4.667v6.666c0 .92-.746 1.667-1.667 1.667h-2.015A5.97 5.97 0 0 1 9 14a5.972 5.972 0 0 1-3.318-1H1.667C.747 13 0 12.254 0 11.333V4.667C0 3.747.746 3 1.667 3H2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h.682A5.97 5.97 0 0 1 9 2c1.227 0 2.367.368 3.318 1zM2 4.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0zM14 8A5 5 0 1 0 4 8a5 5 0 0 0 10 0z\"}}]})(props);\n};\nexport function BsCapslockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM4.5 13.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsCapslock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM14.346 8.5 8 1.731 1.654 8.5H4.5a1 1 0 0 1 1 1v1h5v-1a1 1 0 0 1 1-1h2.846zm-9.846 5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1zm6 0h-5v1h5v-1z\"}}]})(props);\n};\nexport function BsCapsulePill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.02 5.364a3 3 0 0 0-4.242-4.243L1.121 6.778a3 3 0 1 0 4.243 4.243l5.657-5.657Zm-6.413-.657 2.878-2.879a2 2 0 1 1 2.829 2.829L7.435 7.536 4.607 4.707ZM12 8a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm-.5 1.042a3 3 0 0 0 0 5.917V9.042Zm1 5.917a3 3 0 0 0 0-5.917v5.917Z\"}}]})(props);\n};\nexport function BsCapsule (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.828 8.9 8.9 1.827a4 4 0 1 1 5.657 5.657l-7.07 7.071A4 4 0 1 1 1.827 8.9Zm9.128.771 2.893-2.893a3 3 0 1 0-4.243-4.242L6.713 5.429l4.243 4.242Z\"}}]})(props);\n};\nexport function BsCarFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679c.033.161.049.325.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.338c-1.292.048-2.745.088-4 .088s-2.708-.04-4-.088V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.892c-.61-.454-1-1.183-1-1.997v-.413a2.5 2.5 0 0 1 .049-.49l.335-1.68c.11-.546.465-1.012.964-1.261a.807.807 0 0 0 .381-.404l.792-1.848ZM3 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm10 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6 8a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2H6ZM2.906 5.189a.51.51 0 0 0 .497.731c.91-.073 3.35-.17 4.597-.17 1.247 0 3.688.097 4.597.17a.51.51 0 0 0 .497-.731l-.956-1.913A.5.5 0 0 0 11.691 3H4.309a.5.5 0 0 0-.447.276L2.906 5.19Z\"}}]})(props);\n};\nexport function BsCarFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm10 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6 8a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2H6ZM4.862 4.276 3.906 6.19a.51.51 0 0 0 .497.731c.91-.073 2.35-.17 3.597-.17 1.247 0 2.688.097 3.597.17a.51.51 0 0 0 .497-.731l-.956-1.913A.5.5 0 0 0 10.691 4H5.309a.5.5 0 0 0-.447.276Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679c.033.161.049.325.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.338c-1.292.048-2.745.088-4 .088s-2.708-.04-4-.088V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.892c-.61-.454-1-1.183-1-1.997v-.413a2.5 2.5 0 0 1 .049-.49l.335-1.68c.11-.546.465-1.012.964-1.261a.807.807 0 0 0 .381-.404l.792-1.848ZM4.82 3a1.5 1.5 0 0 0-1.379.91l-.792 1.847a1.8 1.8 0 0 1-.853.904.807.807 0 0 0-.43.564L1.03 8.904a1.5 1.5 0 0 0-.03.294v.413c0 .796.62 1.448 1.408 1.484 1.555.07 3.786.155 5.592.155 1.806 0 4.037-.084 5.592-.155A1.479 1.479 0 0 0 15 9.611v-.413c0-.099-.01-.197-.03-.294l-.335-1.68a.807.807 0 0 0-.43-.563 1.807 1.807 0 0 1-.853-.904l-.792-1.848A1.5 1.5 0 0 0 11.18 3H4.82Z\"}}]})(props);\n};\nexport function BsCardChecklist (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0zM7 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsCardHeading (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0-5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCardImage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm13 1a.5.5 0 0 1 .5.5v6l-3.775-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12v.54A.505.505 0 0 1 1 12.5v-9a.5.5 0 0 1 .5-.5h13z\"}}]})(props);\n};\nexport function BsCardList (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 8zm0-2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0 5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-1-5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zM4 8a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCardText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 8zm0 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCaretDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\"}}]})(props);\n};\nexport function BsCaretDownSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 4a.5.5 0 0 0-.374.832l4 4.5a.5.5 0 0 0 .748 0l4-4.5A.5.5 0 0 0 12 6H4z\"}}]})(props);\n};\nexport function BsCaretDownSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.626 6.832A.5.5 0 0 1 4 6h8a.5.5 0 0 1 .374.832l-4 4.5a.5.5 0 0 1-.748 0l-4-4.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2z\"}}]})(props);\n};\nexport function BsCaretDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.204 5h9.592L8 10.481 3.204 5zm-.753.659 4.796 5.48a1 1 0 0 0 1.506 0l4.796-5.48c.566-.647.106-1.659-.753-1.659H3.204a1 1 0 0 0-.753 1.659z\"}}]})(props);\n};\nexport function BsCaretLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"}}]})(props);\n};\nexport function BsCaretLeftSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.5 10V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4A.5.5 0 0 0 10.5 12z\"}}]})(props);\n};\nexport function BsCaretLeftSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.205 12.456A.5.5 0 0 0 10.5 12V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4a.5.5 0 0 0 .537.082z\"}}]})(props);\n};\nexport function BsCaretLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12.796V3.204L4.519 8 10 12.796zm-.659.753-5.48-4.796a1 1 0 0 1 0-1.506l5.48-4.796A1 1 0 0 1 11 3.204v9.592a1 1 0 0 1-1.659.753z\"}}]})(props);\n};\nexport function BsCaretRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\"}}]})(props);\n};\nexport function BsCaretRightSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.5 10a.5.5 0 0 0 .832.374l4.5-4a.5.5 0 0 0 0-.748l-4.5-4A.5.5 0 0 0 5.5 4v8z\"}}]})(props);\n};\nexport function BsCaretRightSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.795 12.456A.5.5 0 0 1 5.5 12V4a.5.5 0 0 1 .832-.374l4.5 4a.5.5 0 0 1 0 .748l-4.5 4a.5.5 0 0 1-.537.082z\"}}]})(props);\n};\nexport function BsCaretRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12.796V3.204L11.481 8 6 12.796zm.659.753 5.48-4.796a1 1 0 0 0 0-1.506L6.66 2.451C6.011 1.885 5 2.345 5 3.204v9.592a1 1 0 0 0 1.659.753z\"}}]})(props);\n};\nexport function BsCaretUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\"}}]})(props);\n};\nexport function BsCaretUpSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 9h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5A.5.5 0 0 0 4 11z\"}}]})(props);\n};\nexport function BsCaretUpSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.544 10.705A.5.5 0 0 0 4 11h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5a.5.5 0 0 0-.082.537z\"}}]})(props);\n};\nexport function BsCaretUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.204 11h9.592L8 5.519 3.204 11zm-.753-.659 4.796-5.48a1 1 0 0 1 1.506 0l4.796 5.48c.566.647.106 1.659-.753 1.659H3.204a1 1 0 0 1-.753-1.659z\"}}]})(props);\n};\nexport function BsCartCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-1.646-7.646-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCartCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 6.354a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM6.5 7h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCartDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCartPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM9 5.5V7h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-1 0V8H6.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCartPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a.5.5 0 0 0-1 0V7H6.5a.5.5 0 0 0 0 1H8v1.5a.5.5 0 0 0 1 0V8h1.5a.5.5 0 0 0 0-1H9V5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7.354 5.646 8.5 6.793l1.146-1.147a.5.5 0 0 1 .708.708L9.207 7.5l1.147 1.146a.5.5 0 0 1-.708.708L8.5 8.207 7.354 9.354a.5.5 0 1 1-.708-.708L7.793 7.5 6.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCartX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.354 5.646a.5.5 0 1 0-.708.708L7.793 7.5 6.646 8.646a.5.5 0 1 0 .708.708L8.5 8.207l1.146 1.147a.5.5 0 0 0 .708-.708L9.207 7.5l1.147-1.146a.5.5 0 0 0-.708-.708L8.5 6.793 7.354 5.646z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM3.102 4l1.313 7h8.17l1.313-7H3.102zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCart2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l1.25 5h8.22l1.25-5H3.14zM5 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCart3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM3.102 4l.84 4.479 9.144-.459L13.89 4H3.102zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCart4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l.5 2H5V5H3.14zM6 5v2h2V5H6zm3 0v2h2V5H9zm3 0v2h1.36l.5-2H12zm1.11 3H12v2h.61l.5-2zM11 8H9v2h2V8zM8 8H6v2h2V8zM5 8H3.89l.5 2H5V8zm0 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCashCoin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 15a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm5-4a5 5 0 1 1-10 0 5 5 0 0 1 10 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.438 11.944c.047.596.518 1.06 1.363 1.116v.44h.375v-.443c.875-.061 1.386-.529 1.386-1.207 0-.618-.39-.936-1.09-1.1l-.296-.07v-1.2c.376.043.614.248.671.532h.658c-.047-.575-.54-1.024-1.329-1.073V8.5h-.375v.45c-.747.073-1.255.522-1.255 1.158 0 .562.378.92 1.007 1.066l.248.061v1.272c-.384-.058-.639-.27-.696-.563h-.668zm1.36-1.354c-.369-.085-.569-.26-.569-.522 0-.294.216-.514.572-.578v1.1h-.003zm.432.746c.449.104.655.272.655.569 0 .339-.257.571-.709.614v-1.195l.054.012z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4.083c.058-.344.145-.678.258-1H3a2 2 0 0 0-2-2V3a2 2 0 0 0 2-2h10a2 2 0 0 0 2 2v3.528c.38.34.717.728 1 1.154V1a1 1 0 0 0-1-1H1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.998 5.083 10 5a2 2 0 1 0-3.132 1.65 5.982 5.982 0 0 1 3.13-1.567z\"}}]})(props);\n};\nexport function BsCashStack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1H1zm7 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V5zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V7a2 2 0 0 1-2-2H3z\"}}]})(props);\n};\nexport function BsCash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V6a2 2 0 0 1-2-2H3z\"}}]})(props);\n};\nexport function BsCassetteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h.191l1.862-3.724A.5.5 0 0 1 4 10h8a.5.5 0 0 1 .447.276L14.31 14h.191a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13ZM4 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm8 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2ZM6 6a1 1 0 0 1 1-1h2a1 1 0 0 1 0 2H7a1 1 0 0 1-1-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.191 14-1.5-3H4.309l-1.5 3h10.382Z\"}}]})(props);\n};\nexport function BsCassette (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm9-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 6a1 1 0 0 0 0 2h2a1 1 0 1 0 0-2H7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13ZM1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-.691l-1.362-2.724A.5.5 0 0 0 12 10H4a.5.5 0 0 0-.447.276L2.19 13H1.5a.5.5 0 0 1-.5-.5v-9ZM11.691 11l1 2H3.309l1-2h7.382Z\"}}]})(props);\n};\nexport function BsCast (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.646 9.354-3.792 3.792a.5.5 0 0 0 .353.854h7.586a.5.5 0 0 0 .354-.854L8.354 9.354a.5.5 0 0 0-.708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.414 11H14.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-13a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3.086l-1 1H1.5A1.5 1.5 0 0 1 0 10.5v-7A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v7a1.5 1.5 0 0 1-1.5 1.5h-2.086l-1-1z\"}}]})(props);\n};\nexport function BsCcCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.408 5.89c.681 0 1.138.47 1.187 1.107h1.147v-.11c-.053-1.187-1.024-2-2.343-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.906 2.73 2.518 2.73 1.314 0 2.285-.792 2.343-1.939v-.114H6.595c-.049.615-.497 1.05-1.187 1.05-.84 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754Zm5.404 0c.68 0 1.138.47 1.186 1.107h1.147v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.496 1.05-1.186 1.05-.84 0-1.319-.62-1.319-1.727v-.742c0-1.112.488-1.754 1.319-1.754Z\"}}]})(props);\n};\nexport function BsCcCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.408 5.89c-.83 0-1.318.64-1.318 1.753v.742c0 1.108.479 1.727 1.318 1.727.69 0 1.138-.435 1.187-1.05h1.147v.114c-.058 1.147-1.029 1.938-2.343 1.938-1.612 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.319 0 2.29.812 2.343 1.999v.11H6.595c-.049-.638-.506-1.108-1.187-1.108Zm5.404 0c-.831 0-1.319.64-1.319 1.753v.742c0 1.108.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05h1.147v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.318 0 2.29.812 2.342 1.999v.11h-1.147c-.048-.638-.505-1.108-1.186-1.108Z\"}}]})(props);\n};\nexport function BsCcSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.408 5.89c-.83 0-1.318.64-1.318 1.753v.742c0 1.108.479 1.727 1.318 1.727.69 0 1.138-.435 1.187-1.05h1.147v.114c-.058 1.147-1.029 1.938-2.343 1.938-1.612 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.319 0 2.29.812 2.343 1.999v.11H6.595c-.049-.638-.506-1.108-1.187-1.108Zm5.404 0c-.831 0-1.319.64-1.319 1.753v.742c0 1.108.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05h1.147v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.318 0 2.29.812 2.342 1.999v.11h-1.147c-.048-.638-.505-1.108-1.186-1.108Z\"}}]})(props);\n};\nexport function BsCcSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2ZM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm5.408 3.89c-.83 0-1.318.64-1.318 1.753v.742c0 1.108.479 1.727 1.318 1.727.69 0 1.138-.435 1.187-1.05h1.147v.114c-.058 1.147-1.029 1.938-2.343 1.938-1.612 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.319 0 2.29.812 2.343 1.999v.11H6.595c-.049-.638-.506-1.108-1.187-1.108Zm5.404 0c-.831 0-1.319.64-1.319 1.753v.742c0 1.108.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05h1.147v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.318 0 2.29.812 2.342 1.999v.11h-1.147c-.048-.638-.505-1.108-1.186-1.108Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2ZM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm5.408 3.89c-.83 0-1.318.64-1.318 1.753v.742c0 1.108.479 1.727 1.318 1.727.69 0 1.138-.435 1.187-1.05h1.147v.114c-.058 1.147-1.029 1.938-2.343 1.938-1.612 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.319 0 2.29.812 2.343 1.999v.11H6.595c-.049-.638-.506-1.108-1.187-1.108Zm5.404 0c-.831 0-1.319.64-1.319 1.753v.742c0 1.108.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05h1.147v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.75 2.518-2.75 1.318 0 2.29.812 2.342 1.999v.11h-1.147c-.048-.638-.505-1.108-1.186-1.108Z\"}}]})(props);\n};\nexport function BsChatDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatDots (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.165 15.803.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125zm.8-3.108a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2z\"}}]})(props);\n};\nexport function BsChatFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15z\"}}]})(props);\n};\nexport function BsChatHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15Zm0-9.007c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.965 12.695a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2Zm-.8 3.108.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125ZM8 5.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatLeftDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatLeftDots (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatLeftHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatLeftHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12ZM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatLeftQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatLeftQuote (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatLeftTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsChatLeftText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM7.194 6.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 6C4.776 6 4 6.746 4 7.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 9.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 6c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatQuote (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 6.76A1.665 1.665 0 0 0 4 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatRightDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsChatRightDots (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsChatRightHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2ZM8 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatRightHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2Zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatRightQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM7.194 4.766c.087.124.163.26.227.401.428.948.393 2.377-.942 3.706a.446.446 0 0 1-.612.01.405.405 0 0 1-.011-.59c.419-.416.672-.831.809-1.22-.269.165-.588.26-.93.26C4.775 7.333 4 6.587 4 5.667 4 4.747 4.776 4 5.734 4c.271 0 .528.06.756.166l.008.004c.169.07.327.182.469.324.085.083.161.174.227.272zM11 7.073c-.269.165-.588.26-.93.26-.958 0-1.735-.746-1.735-1.666 0-.92.777-1.667 1.734-1.667.271 0 .528.06.756.166l.008.004c.17.07.327.182.469.324.085.083.161.174.227.272.087.124.164.26.228.401.428.948.392 2.377-.942 3.706a.446.446 0 0 1-.613.01.405.405 0 0 1-.011-.59c.42-.416.672-.831.81-1.22z\"}}]})(props);\n};\nexport function BsChatRightQuote (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatRightTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsChatRightText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsChatSquareDotsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatSquareDots (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatSquareHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatSquareHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12ZM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsChatSquareQuoteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatSquareQuote (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatSquareTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsChatSquareText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}}]})(props);\n};\nexport function BsChatText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8zm0 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChat (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}}]})(props);\n};\nexport function BsCheckAll (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L2.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093L8.95 4.992a.252.252 0 0 1 .02-.022zm-.92 5.14.92.92a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 1 0-1.091-1.028L9.477 9.417l-.485-.486-.943 1.179z\"}}]})(props);\n};\nexport function BsCheckCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"}}]})(props);\n};\nexport function BsCheckCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z\"}}]})(props);\n};\nexport function BsCheckLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"}}]})(props);\n};\nexport function BsCheckSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\"}}]})(props);\n};\nexport function BsCheckSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.235.235 0 0 1 .02-.022z\"}}]})(props);\n};\nexport function BsCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\"}}]})(props);\n};\nexport function BsCheck2All (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.354 4.354a.5.5 0 0 0-.708-.708L5 10.293 1.854 7.146a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l7-7zm-4.208 7-.896-.897.707-.707.543.543 6.646-6.647a.5.5 0 0 1 .708.708l-7 7a.5.5 0 0 1-.708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5.354 7.146.896.897-.707.707-.897-.896a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCheck2Circle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z\"}}]})(props);\n};\nexport function BsCheck2Square (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14.5A1.5 1.5 0 0 1 1.5 13V3A1.5 1.5 0 0 1 3 1.5h8a.5.5 0 0 1 0 1H3a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V8a.5.5 0 0 1 1 0v5a1.5 1.5 0 0 1-1.5 1.5H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.354 10.354 7-7a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z\"}}]})(props);\n};\nexport function BsCheck2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronBarContract (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 14.854a.5.5 0 0 0 .708 0L8 11.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zm0-13.708a.5.5 0 0 1 .708 0L8 4.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zM1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsChevronBarDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 4.146a.5.5 0 0 1 .708 0L8 7.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zM1 11.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChevronBarExpand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 10.146a.5.5 0 0 1 .708 0L8 13.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-4.292a.5.5 0 0 0 .708 0L8 2.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zM1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsChevronBarLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.854 3.646a.5.5 0 0 1 0 .708L8.207 8l3.647 3.646a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 0 1 .708 0zM4.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsChevronBarRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.146 3.646a.5.5 0 0 0 0 .708L7.793 8l-3.647 3.646a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708 0zM11.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsChevronBarUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 11.854a.5.5 0 0 0 .708 0L8 8.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zM2.4 5.2c0 .22.18.4.4.4h10.4a.4.4 0 0 0 0-.8H2.8a.4.4 0 0 0-.4.4z\"}}]})(props);\n};\nexport function BsChevronCompactDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.553 6.776a.5.5 0 0 1 .67-.223L8 9.44l5.776-2.888a.5.5 0 1 1 .448.894l-6 3a.5.5 0 0 1-.448 0l-6-3a.5.5 0 0 1-.223-.67z\"}}]})(props);\n};\nexport function BsChevronCompactLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.224 1.553a.5.5 0 0 1 .223.67L6.56 8l2.888 5.776a.5.5 0 1 1-.894.448l-3-6a.5.5 0 0 1 0-.448l3-6a.5.5 0 0 1 .67-.223z\"}}]})(props);\n};\nexport function BsChevronCompactRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.776 1.553a.5.5 0 0 1 .671.223l3 6a.5.5 0 0 1 0 .448l-3 6a.5.5 0 1 1-.894-.448L9.44 8 6.553 2.224a.5.5 0 0 1 .223-.671z\"}}]})(props);\n};\nexport function BsChevronCompactUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.776 5.553a.5.5 0 0 1 .448 0l6 3a.5.5 0 1 1-.448.894L8 6.56 2.224 9.447a.5.5 0 1 1-.448-.894l6-3z\"}}]})(props);\n};\nexport function BsChevronContract (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 13.854a.5.5 0 0 0 .708 0L8 10.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zm0-11.708a.5.5 0 0 1 .708 0L8 5.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 6.646a.5.5 0 0 1 .708 0L8 12.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 2.646a.5.5 0 0 1 .708 0L8 8.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronDoubleRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 2.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 3.707 2.354 9.354a.5.5 0 1 1-.708-.708l6-6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 6.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 7.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"}}]})(props);\n};\nexport function BsChevronDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronExpand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z\"}}]})(props);\n};\nexport function BsChevronLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"}}]})(props);\n};\nexport function BsCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"8\"}}]})(props);\n};\nexport function BsCircleHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\"}}]})(props);\n};\nexport function BsCircleSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.93 5h1.57a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1.57a6.953 6.953 0 0 1-1-.22v1.79A1.5 1.5 0 0 0 5.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 4h-1.79c.097.324.17.658.22 1z\"}}]})(props);\n};\nexport function BsCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}}]})(props);\n};\nexport function BsClipboardCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z\"}}]})(props);\n};\nexport function BsClipboardCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardDataFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1ZM10 8a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V8Zm-6 4a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-3a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsClipboardData (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1zm6-4a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V7zM7 9a1 1 0 0 1 2 0v3a1 1 0 1 1-2 0V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 1.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1Zm-5 0A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5v-1Zm-2 0h1v1A2.5 2.5 0 0 0 6.5 5h3A2.5 2.5 0 0 0 12 2.5v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2Z\"}}]})(props);\n};\nexport function BsClipboardHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm4 5.982c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsClipboardHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 1.5A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5v-1Zm5 0a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 1.5h1v1H3a1 1 0 0 0-1 1V14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3.5a1 1 0 0 0-1-1h-1v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.982C9.664 5.309 13.825 8.236 8 12 2.175 8.236 6.336 5.31 8 6.982Z\"}}]})(props);\n};\nexport function BsClipboardMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1ZM6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsClipboardMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 9.5A.5.5 0 0 1 6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm4.5 6V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5a.5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsClipboardPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 7a.5.5 0 0 1 .5.5V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5A.5.5 0 0 1 8 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardPulse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 1.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1Zm-5 0A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5v-1Zm-2 0h1v1H3a1 1 0 0 0-1 1V14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3.5a1 1 0 0 0-1-1h-1v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2Zm6.979 3.856a.5.5 0 0 0-.968.04L7.92 10.49l-.94-3.135a.5.5 0 0 0-.895-.133L4.232 10H3.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 .416-.223l1.41-2.115 1.195 3.982a.5.5 0 0 0 .968-.04L9.58 7.51l.94 3.135A.5.5 0 0 0 11 11h1.5a.5.5 0 0 0 0-1h-1.128L9.979 5.356Z\"}}]})(props);\n};\nexport function BsClipboardXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm4 7.793 1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708L8 9.293Z\"}}]})(props);\n};\nexport function BsClipboardX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 7.146a.5.5 0 0 1 .708 0L8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboard2CheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5Zm6.769 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708Z\"}}]})(props);\n};\nexport function BsClipboard2Check (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 0 0-1h-.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1H12a.5.5 0 0 0 0 1h.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.854a.5.5 0 0 0-.708-.708L7.5 9.793 6.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3Z\"}}]})(props);\n};\nexport function BsClipboard2DataFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM10 7a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V7Zm-6 4a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-3a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsClipboard2Data (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 0 0-1h-.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1H12a.5.5 0 0 0 0 1h.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V7Zm-6 4a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-3a1 1 0 0 0-1 1v3a1 1 0 1 0 2 0V9a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsClipboard2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 1h.585A1.498 1.498 0 0 0 4 1.5V2a1.5 1.5 0 0 0 1.5 1.5h5A1.5 1.5 0 0 0 12 2v-.5c0-.175-.03-.344-.085-.5h.585A1.5 1.5 0 0 1 14 2.5v12a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-12A1.5 1.5 0 0 1 3.5 1Z\"}}]})(props);\n};\nexport function BsClipboard2HeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.058.501a.501.501 0 0 0-.5-.501h-2.98c-.276 0-.5.225-.5.501A.499.499 0 0 1 5.582 1a.497.497 0 0 0-.497.497V2a.5.5 0 0 0 .5.5h4.968a.5.5 0 0 0 .5-.5v-.503A.497.497 0 0 0 10.555 1a.499.499 0 0 1-.497-.499Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.174 1h-.57a1.5 1.5 0 0 0-1.5 1.5v12a1.5 1.5 0 0 0 1.5 1.5h9a1.5 1.5 0 0 0 1.5-1.5v-12a1.5 1.5 0 0 0-1.5-1.5h-.642c.055.156.085.325.085.5V2c0 .828-.668 1.5-1.492 1.5H5.581A1.496 1.496 0 0 1 4.09 2v-.5c0-.175.03-.344.085-.5Zm3.894 5.482c1.656-1.673 5.795 1.254 0 5.018-5.795-3.764-1.656-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsClipboard2Heart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.058.501a.501.501 0 0 0-.5-.501h-2.98c-.276 0-.5.225-.5.501A.499.499 0 0 1 5.582 1a.497.497 0 0 0-.497.497V2a.5.5 0 0 0 .5.5h4.968a.5.5 0 0 0 .5-.5v-.503A.497.497 0 0 0 10.555 1a.499.499 0 0 1-.497-.499Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.605 2a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-.5a.5.5 0 0 1 0-1h.5a1.5 1.5 0 0 1 1.5 1.5v12a1.5 1.5 0 0 1-1.5 1.5h-9a1.5 1.5 0 0 1-1.5-1.5v-12a1.5 1.5 0 0 1 1.5-1.5h.5a.5.5 0 0 1 0 1h-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.068 6.482c1.656-1.673 5.795 1.254 0 5.018-5.795-3.764-1.656-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsClipboard2MinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM6 8h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsClipboard2Minus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 0 0-1h-.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1H12a.5.5 0 0 0 0 1h.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6Z\"}}]})(props);\n};\nexport function BsClipboard2PlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM8.5 6.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5a.5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsClipboard2Plus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 0 0-1h-.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1H12a.5.5 0 0 0 0 1h.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6.5a.5.5 0 0 0-1 0V8H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V9H10a.5.5 0 0 0 0-1H8.5V6.5Z\"}}]})(props);\n};\nexport function BsClipboard2PulseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM9.98 5.356 11.372 10h.128a.5.5 0 0 1 0 1H11a.5.5 0 0 1-.479-.356l-.94-3.135-1.092 5.096a.5.5 0 0 1-.968.039L6.383 8.85l-.936 1.873A.5.5 0 0 1 5 11h-.5a.5.5 0 0 1 0-1h.191l1.362-2.724a.5.5 0 0 1 .926.08l.94 3.135 1.092-5.096a.5.5 0 0 1 .968-.039Z\"}}]})(props);\n};\nexport function BsClipboard2Pulse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 0 0-1h-.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1H12a.5.5 0 0 0 0 1h.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.979 5.356a.5.5 0 0 0-.968.04L7.92 10.49l-.94-3.135a.5.5 0 0 0-.926-.08L4.69 10H4.5a.5.5 0 0 0 0 1H5a.5.5 0 0 0 .447-.276l.936-1.873 1.138 3.793a.5.5 0 0 0 .968-.04L9.58 7.51l.94 3.135A.5.5 0 0 0 11 11h.5a.5.5 0 0 0 0-1h-.128L9.979 5.356Z\"}}]})(props);\n};\nexport function BsClipboard2XFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.085 1H3.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1h-.585c.055.156.085.325.085.5V2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 2v-.5c0-.175.03-.344.085-.5ZM8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708L8 8.293Z\"}}]})(props);\n};\nexport function BsClipboard2X (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5.5.5 0 0 1 .5.5V2a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 2v-.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 0 0-1h-.5A1.5 1.5 0 0 0 2 2.5v12A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 12.5 1H12a.5.5 0 0 0 0 1h.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8.293 6.854 7.146a.5.5 0 1 0-.708.708L7.293 9l-1.147 1.146a.5.5 0 0 0 .708.708L8 9.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 9l1.147-1.146a.5.5 0 0 0-.708-.708L8 8.293Z\"}}]})(props);\n};\nexport function BsClipboard2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5H12a.5.5 0 0 1 0-1h.5A1.5 1.5 0 0 1 14 2.5v12a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-12A1.5 1.5 0 0 1 3.5 1H4a.5.5 0 0 1 0 1h-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 .5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5.5.5 0 0 0-.5.5V2a.5.5 0 0 0 .5.5h5A.5.5 0 0 0 11 2v-.5a.5.5 0 0 0-.5-.5.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsClockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}}]})(props);\n};\nexport function BsClockHistory (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.515 1.019A7 7 0 0 0 8 1V0a8 8 0 0 1 .589.022l-.074.997zm2.004.45a7.003 7.003 0 0 0-.985-.299l.219-.976c.383.086.76.2 1.126.342l-.36.933zm1.37.71a7.01 7.01 0 0 0-.439-.27l.493-.87a8.025 8.025 0 0 1 .979.654l-.615.789a6.996 6.996 0 0 0-.418-.302zm1.834 1.79a6.99 6.99 0 0 0-.653-.796l.724-.69c.27.285.52.59.747.91l-.818.576zm.744 1.352a7.08 7.08 0 0 0-.214-.468l.893-.45a7.976 7.976 0 0 1 .45 1.088l-.95.313a7.023 7.023 0 0 0-.179-.483zm.53 2.507a6.991 6.991 0 0 0-.1-1.025l.985-.17c.067.386.106.778.116 1.17l-1 .025zm-.131 1.538c.033-.17.06-.339.081-.51l.993.123a7.957 7.957 0 0 1-.23 1.155l-.964-.267c.046-.165.086-.332.12-.501zm-.952 2.379c.184-.29.346-.594.486-.908l.914.405c-.16.36-.345.706-.555 1.038l-.845-.535zm-.964 1.205c.122-.122.239-.248.35-.378l.758.653a8.073 8.073 0 0 1-.401.432l-.707-.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsClock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z\"}}]})(props);\n};\nexport function BsCloudArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 6.854-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCloudArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 10.854a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 9.293V5.5a.5.5 0 0 0-1 0v3.793L6.354 8.146a.5.5 0 1 0-.708.708l2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 5.146a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2z\"}}]})(props);\n};\nexport function BsCloudArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 4.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCloudCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudDownloadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.5a.5.5 0 0 1 1 0V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.354 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V11h-1v3.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsCloudDownload (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 1.342A5.53 5.53 0 0 1 8 0c2.69 0 4.923 2 5.166 4.579C14.758 4.804 16 6.137 16 7.773 16 9.569 14.502 11 12.687 11H10a.5.5 0 0 1 0-1h2.688C13.979 10 15 8.988 15 7.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 2.825 10.328 1 8 1a4.53 4.53 0 0 0-2.941 1.1c-.757.652-1.153 1.438-1.153 2.055v.448l-.445.049C2.064 4.805 1 5.952 1 7.318 1 8.785 2.23 10 3.781 10H6a.5.5 0 0 1 0 1H3.781C1.708 11 0 9.366 0 7.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V5.5a.5.5 0 0 0-1 0v8.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsCloudDrizzleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudDrizzle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973zM8.5 2a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 2z\"}}]})(props);\n};\nexport function BsCloudFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}}]})(props);\n};\nexport function BsCloudFogFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudFog (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973zM8.5 3a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsCloudFog2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 13h-1.5a.5.5 0 0 0 0-1H1.05a3.51 3.51 0 0 1-.713-1H9.5a.5.5 0 0 0 0-1H.035a3.53 3.53 0 0 1 0-1H7.5a.5.5 0 0 0 0-1H.337a3.5 3.5 0 0 1 3.57-1.977A5.001 5.001 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsCloudFog2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4a4.002 4.002 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 13H.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 4zM0 8.5A.5.5 0 0 1 .5 8h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudHailFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm1.247-6.999a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudHail (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.527a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973zM8.5 1.5a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1.5zM3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316z\"}}]})(props);\n};\nexport function BsCloudHazeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudHaze (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1z\"}}]})(props);\n};\nexport function BsCloudHaze2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 12H3.5A3.5 3.5 0 0 1 .035 9H5.5a.5.5 0 0 0 0-1H.035a3.5 3.5 0 0 1 3.871-2.977A5.001 5.001 0 0 1 8.5 2zm-6 8a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zM0 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudHaze2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a4.002 4.002 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 12H4.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 3zM0 7.5A.5.5 0 0 1 .5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-2 4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudLightningFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudLightningRainFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.105-1.25A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudLightningRain (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-.753-8.499a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2z\"}}]})(props);\n};\nexport function BsCloudLightning (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2z\"}}]})(props);\n};\nexport function BsCloudMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCloudMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsCloudMoonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsCloudMoon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8a3.5 3.5 0 0 1 3.5 3.555.5.5 0 0 0 .625.492A1.503 1.503 0 0 1 13 13.5a1.5 1.5 0 0 1-1.5 1.5H3a2 2 0 1 1 .1-3.998.5.5 0 0 0 .509-.375A3.502 3.502 0 0 1 7 8zm4.473 3a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsCloudPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm.5 4v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCloudPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudRainFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudRainHeavyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudRainHeavy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1z\"}}]})(props);\n};\nexport function BsCloudRain (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 0 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973zM8.5 2a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 2z\"}}]})(props);\n};\nexport function BsCloudSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11L3.112 5.112zm11.372 7.372L4.937 2.937A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711zm-.838 1.87-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsCloudSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11l-1-1H3.781C2.231 12 1 10.785 1 9.318c0-1.365 1.064-2.513 2.46-2.666l.446-.05v-.447c0-.075.006-.152.018-.231l-.812-.812zm2.55-1.45-.725-.725A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711l-.733-.733C14.498 11.378 15 10.626 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3c-.875 0-1.678.26-2.339.661z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.646 14.354-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsCloudSleetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm1.181-7.026a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudSleet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223z\"}}]})(props);\n};\nexport function BsCloudSnowFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-.22-7.223a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudSnow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.277a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973zM8.5 1.25a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1.25zM2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25z\"}}]})(props);\n};\nexport function BsCloudSunFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCloudSun (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8a3.5 3.5 0 0 1 3.5 3.555.5.5 0 0 0 .624.492A1.503 1.503 0 0 1 13 13.5a1.5 1.5 0 0 1-1.5 1.5H3a2 2 0 1 1 .1-3.998.5.5 0 0 0 .51-.375A3.502 3.502 0 0 1 7 8zm4.473 3a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCloudUploadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.5 14.5V11h1v3.5a.5.5 0 0 1-1 0z\"}}]})(props);\n};\nexport function BsCloudUpload (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.406 1.342A5.53 5.53 0 0 1 8 0c2.69 0 4.923 2 5.166 4.579C14.758 4.804 16 6.137 16 7.773 16 9.569 14.502 11 12.687 11H10a.5.5 0 0 1 0-1h2.688C13.979 10 15 8.988 15 7.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 2.825 10.328 1 8 1a4.53 4.53 0 0 0-2.941 1.1c-.757.652-1.153 1.438-1.153 2.055v.448l-.445.049C2.064 4.805 1 5.952 1 7.318 1 8.785 2.23 10 3.781 10H6a.5.5 0 0 1 0 1H3.781C1.708 11 0 9.366 0 7.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V14.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsCloud (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 9a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 14h8.5a2.5 2.5 0 1 0-.027-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.544 9.772a3.506 3.506 0 0 0-2.225-1.676 5.502 5.502 0 0 0-6.337-4.002 4.002 4.002 0 0 1 7.392.91 2.5 2.5 0 0 1 1.17 4.769z\"}}]})(props);\n};\nexport function BsClouds (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7.5a2.5 2.5 0 0 1-1.456 2.272 3.513 3.513 0 0 0-.65-.824 1.5 1.5 0 0 0-.789-2.896.5.5 0 0 1-.627-.421 3 3 0 0 0-5.22-1.625 5.587 5.587 0 0 0-1.276.088 4.002 4.002 0 0 1 7.392.91A2.5 2.5 0 0 1 16 7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5a4.5 4.5 0 0 1 4.473 4h.027a2.5 2.5 0 0 1 0 5H3a3 3 0 0 1-.247-5.99A4.502 4.502 0 0 1 7 5zm3.5 4.5a3.5 3.5 0 0 0-6.89-.873.5.5 0 0 1-.51.375A2 2 0 1 0 3 13h8.5a1.5 1.5 0 1 0-.376-2.953.5.5 0 0 1-.624-.492V9.5z\"}}]})(props);\n};\nexport function BsCloudyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 7.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 13H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 8.527a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 14.5H13a3 3 0 0 0 .405-5.973zM8.5 5.5a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 5.5z\"}}]})(props);\n};\nexport function BsCodeSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z\"}}]})(props);\n};\nexport function BsCodeSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.854 4.646a.5.5 0 0 1 0 .708L4.207 8l2.647 2.646a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 0 1 .708 0zm2.292 0a.5.5 0 0 0 0 .708L11.793 8l-2.647 2.646a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708 0z\"}}]})(props);\n};\nexport function BsCode (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.854 4.854a.5.5 0 1 0-.708-.708l-3.5 3.5a.5.5 0 0 0 0 .708l3.5 3.5a.5.5 0 0 0 .708-.708L2.707 8l3.147-3.146zm4.292 0a.5.5 0 0 1 .708-.708l3.5 3.5a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708L13.293 8l-3.147-3.146z\"}}]})(props);\n};\nexport function BsCoin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.511c.076.954.83 1.697 2.182 1.785V12h.6v-.709c1.4-.098 2.218-.846 2.218-1.932 0-.987-.626-1.496-1.745-1.76l-.473-.112V5.57c.6.068.982.396 1.074.85h1.052c-.076-.919-.864-1.638-2.126-1.716V4h-.6v.719c-1.195.117-2.01.836-2.01 1.853 0 .9.606 1.472 1.613 1.707l.397.098v2.034c-.615-.093-1.022-.43-1.114-.9H5.5zm2.177-2.166c-.59-.137-.91-.416-.91-.836 0-.47.345-.822.915-.925v1.76h-.005zm.692 1.193c.717.166 1.048.435 1.048.91 0 .542-.412.914-1.135.982V8.518l.087.02z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13.5a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11zm0 .5A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"}}]})(props);\n};\nexport function BsCollectionFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zM2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1z\"}}]})(props);\n};\nexport function BsCollectionPlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm6.258-6.437a.5.5 0 0 1 .507.013l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 6 12V7a.5.5 0 0 1 .258-.437z\"}}]})(props);\n};\nexport function BsCollectionPlay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1zm2.765 5.576A.5.5 0 0 0 6 7v5a.5.5 0 0 0 .765.424l4-2.5a.5.5 0 0 0 0-.848l-4-2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 14.5A1.5 1.5 0 0 1 0 13V6a1.5 1.5 0 0 1 1.5-1.5h13A1.5 1.5 0 0 1 16 6v7a1.5 1.5 0 0 1-1.5 1.5h-13zm13-1a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5h-13A.5.5 0 0 0 1 6v7a.5.5 0 0 0 .5.5h13z\"}}]})(props);\n};\nexport function BsCollection (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm1.5.5A.5.5 0 0 1 1 13V6a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-13z\"}}]})(props);\n};\nexport function BsColumnsGap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1v3H1V1h5zM1 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm14 12v3h-5v-3h5zm-5-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-5zM6 8v7H1V8h5zM1 7a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H1zm14-6v7h-5V1h5zm-5-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1h-5z\"}}]})(props);\n};\nexport function BsColumns (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2zm8.5 0v8H15V2H8.5zm0 9v3H15v-3H8.5zm-1-9H1v3h6.5V2zM1 14h6.5V6H1v8z\"}}]})(props);\n};\nexport function BsCommand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 1 5 3.5V5H3.5a1.5 1.5 0 1 1 0-3zM6 5V3.5A2.5 2.5 0 1 0 3.5 6H5v4H3.5A2.5 2.5 0 1 0 6 12.5V11h4v1.5a2.5 2.5 0 1 0 2.5-2.5H11V6h1.5A2.5 2.5 0 1 0 10 3.5V5H6zm4 1v4H6V6h4zm1-1V3.5A1.5 1.5 0 1 1 12.5 5H11zm0 6h1.5a1.5 1.5 0 1 1-1.5 1.5V11zm-6 0v1.5A1.5 1.5 0 1 1 3.5 11H5z\"}}]})(props);\n};\nexport function BsCompassFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8.516a7.5 7.5 0 1 1-9.462-7.24A1 1 0 0 1 7 0h2a1 1 0 0 1 .962 1.276 7.503 7.503 0 0 1 5.538 7.24zm-3.61-3.905L6.94 7.439 4.11 12.39l4.95-2.828 2.828-4.95z\"}}]})(props);\n};\nexport function BsCompass (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16.016a7.5 7.5 0 0 0 1.962-14.74A1 1 0 0 0 9 0H7a1 1 0 0 0-.962 1.276A7.5 7.5 0 0 0 8 16.016zm6.5-7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.94 7.44 4.95-2.83-2.83 4.95-4.949 2.83 2.828-4.95z\"}}]})(props);\n};\nexport function BsConeStriped (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.97 4.88.953 3.811C10.159 8.878 9.14 9 8 9c-1.14 0-2.158-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12zm-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.275 3.9C6.8 3.965 7.382 4 8 4c.618 0 1.2-.036 1.725-.098zm4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257 2.391.598z\"}}]})(props);\n};\nexport function BsCone (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.03 1.88c.252-1.01 1.688-1.01 1.94 0l2.905 11.62H14a.5.5 0 0 1 0 1H2a.5.5 0 0 1 0-1h2.125L7.03 1.88z\"}}]})(props);\n};\nexport function BsController (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 6.027a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-1.5 1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-1.5 1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm-6.5-3h1v1h1v1h-1v1h-1v-1h-1v-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.051 3.26a.5.5 0 0 1 .354-.613l1.932-.518a.5.5 0 0 1 .62.39c.655-.079 1.35-.117 2.043-.117.72 0 1.443.041 2.12.126a.5.5 0 0 1 .622-.399l1.932.518a.5.5 0 0 1 .306.729c.14.09.266.19.373.297.408.408.78 1.05 1.095 1.772.32.733.599 1.591.805 2.466.206.875.34 1.78.364 2.606.024.816-.059 1.602-.328 2.21a1.42 1.42 0 0 1-1.445.83c-.636-.067-1.115-.394-1.513-.773-.245-.232-.496-.526-.739-.808-.126-.148-.25-.292-.368-.423-.728-.804-1.597-1.527-3.224-1.527-1.627 0-2.496.723-3.224 1.527-.119.131-.242.275-.368.423-.243.282-.494.575-.739.808-.398.38-.877.706-1.513.773a1.42 1.42 0 0 1-1.445-.83c-.27-.608-.352-1.395-.329-2.21.024-.826.16-1.73.365-2.606.206-.875.486-1.733.805-2.466.315-.722.687-1.364 1.094-1.772a2.34 2.34 0 0 1 .433-.335.504.504 0 0 1-.028-.079zm2.036.412c-.877.185-1.469.443-1.733.708-.276.276-.587.783-.885 1.465a13.748 13.748 0 0 0-.748 2.295 12.351 12.351 0 0 0-.339 2.406c-.022.755.062 1.368.243 1.776a.42.42 0 0 0 .426.24c.327-.034.61-.199.929-.502.212-.202.4-.423.615-.674.133-.156.276-.323.44-.504C4.861 9.969 5.978 9.027 8 9.027s3.139.942 3.965 1.855c.164.181.307.348.44.504.214.251.403.472.615.674.318.303.601.468.929.503a.42.42 0 0 0 .426-.241c.18-.408.265-1.02.243-1.776a12.354 12.354 0 0 0-.339-2.406 13.753 13.753 0 0 0-.748-2.295c-.298-.682-.61-1.19-.885-1.465-.264-.265-.856-.523-1.733-.708-.85-.179-1.877-.27-2.913-.27-1.036 0-2.063.091-2.913.27z\"}}]})(props);\n};\nexport function BsCookie (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm4.5.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a7.963 7.963 0 0 0-4.075 1.114c-.162.067-.31.162-.437.28A8 8 0 1 0 8 0Zm3.25 14.201a1.5 1.5 0 0 0-2.13.71A7.014 7.014 0 0 1 8 15a6.967 6.967 0 0 1-3.845-1.15 1.5 1.5 0 1 0-2.005-2.005A6.967 6.967 0 0 1 1 8c0-1.953.8-3.719 2.09-4.989a1.5 1.5 0 1 0 2.469-1.574A6.985 6.985 0 0 1 8 1c1.42 0 2.742.423 3.845 1.15a1.5 1.5 0 1 0 2.005 2.005A6.967 6.967 0 0 1 15 8c0 .596-.074 1.174-.214 1.727a1.5 1.5 0 1 0-1.025 2.25 7.033 7.033 0 0 1-2.51 2.224Z\"}}]})(props);\n};\nexport function BsCopy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6ZM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2Z\"}}]})(props);\n};\nexport function BsCpuFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5.5a.5.5 0 0 0-1 0V2A2.5 2.5 0 0 0 2 4.5H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2A2.5 2.5 0 0 0 4.5 14v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14a2.5 2.5 0 0 0 2.5-2.5h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14A2.5 2.5 0 0 0 11.5 2V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5zm1 4.5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3A1.5 1.5 0 0 1 6.5 5z\"}}]})(props);\n};\nexport function BsCpu (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0a.5.5 0 0 1 .5.5V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2A2.5 2.5 0 0 1 14 4.5h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14a2.5 2.5 0 0 1-2.5 2.5v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14A2.5 2.5 0 0 1 2 11.5H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2A2.5 2.5 0 0 1 4.5 2V.5A.5.5 0 0 1 5 0zm-.5 3A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 11.5 3h-7zM5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3zM6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}}]})(props);\n};\nexport function BsCreditCard2BackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H0V4zm11.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zM0 11v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1H0z\"}}]})(props);\n};\nexport function BsCreditCard2Back (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v5H1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-1 9H2a1 1 0 0 1-1-1v-1h14v1a1 1 0 0 1-1 1z\"}}]})(props);\n};\nexport function BsCreditCard2FrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCreditCard2Front (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCreditCardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsCreditCard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsCrop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5.5A.5.5 0 0 1 4 1v13h13a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2H3.5a.5.5 0 0 1-.5-.5V4H1a.5.5 0 0 1 0-1h2V1a.5.5 0 0 1 .5-.5zm2.5 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4H6.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCrosshair (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.5a.5.5 0 0 0-1 0v.518A7.001 7.001 0 0 0 1.018 7.5H.5a.5.5 0 0 0 0 1h.518A7.001 7.001 0 0 0 7.5 14.982v.518a.5.5 0 0 0 1 0v-.518A7.001 7.001 0 0 0 14.982 8.5h.518a.5.5 0 0 0 0-1h-.518A7.001 7.001 0 0 0 8.5 1.018V.5Zm-6.48 7A6.001 6.001 0 0 1 7.5 2.02v.48a.5.5 0 0 0 1 0v-.48a6.001 6.001 0 0 1 5.48 5.48h-.48a.5.5 0 0 0 0 1h.48a6.002 6.002 0 0 1-5.48 5.48v-.48a.5.5 0 0 0-1 0v.48A6.001 6.001 0 0 1 2.02 8.5h.48a.5.5 0 0 0 0-1h-.48ZM8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}}]})(props);\n};\nexport function BsCrosshair2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .5.5v.518A7.001 7.001 0 0 1 14.982 7.5h.518a.5.5 0 0 1 0 1h-.518A7.001 7.001 0 0 1 8.5 14.982v.518a.5.5 0 0 1-1 0v-.518A7.001 7.001 0 0 1 1.018 8.5H.5a.5.5 0 0 1 0-1h.518A7.001 7.001 0 0 1 7.5 1.018V.5A.5.5 0 0 1 8 0Zm-.5 2.02A6.001 6.001 0 0 0 2.02 7.5h1.005A5.002 5.002 0 0 1 7.5 3.025V2.02Zm1 1.005A5.002 5.002 0 0 1 12.975 7.5h1.005A6.001 6.001 0 0 0 8.5 2.02v1.005ZM12.975 8.5A5.002 5.002 0 0 1 8.5 12.975v1.005a6.002 6.002 0 0 0 5.48-5.48h-1.005ZM7.5 12.975A5.002 5.002 0 0 1 3.025 8.5H2.02a6.001 6.001 0 0 0 5.48 5.48v-1.005ZM10 8a2 2 0 1 0-4 0 2 2 0 0 0 4 0Z\"}}]})(props);\n};\nexport function BsCupFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.11 3.187A.5.5 0 0 1 .5 3h13a.5.5 0 0 1 .488.608l-.22.991a3.001 3.001 0 0 1-1.3 5.854l-.132.59A2.5 2.5 0 0 1 9.896 13H4.104a2.5 2.5 0 0 1-2.44-1.958L.012 3.608a.5.5 0 0 1 .098-.42Zm12.574 6.288a2 2 0 0 0 .866-3.899l-.866 3.9Z\"}}]})(props);\n};\nexport function BsCupHotFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.5 6a.5.5 0 0 0-.488.608l1.652 7.434A2.5 2.5 0 0 0 4.104 16h5.792a2.5 2.5 0 0 0 2.44-1.958l.131-.59a3 3 0 0 0 1.3-5.854l.221-.99A.5.5 0 0 0 13.5 6H.5ZM13 12.5a2.01 2.01 0 0 1-.316-.025l.867-3.898A2.001 2.001 0 0 1 13 12.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.4.8-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 3.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 3.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 3 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 4.4.8Zm3 0-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 6.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 6.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 6 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 7.4.8Zm3 0-.003.004-.014.019a4.077 4.077 0 0 0-.204.31 2.337 2.337 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.198 3.198 0 0 1-.202.388 5.385 5.385 0 0 1-.252.382l-.019.025-.005.008-.002.002A.5.5 0 0 1 9.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 9.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 9 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 10.4.8Z\"}}]})(props);\n};\nexport function BsCupHot (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.5 6a.5.5 0 0 0-.488.608l1.652 7.434A2.5 2.5 0 0 0 4.104 16h5.792a2.5 2.5 0 0 0 2.44-1.958l.131-.59a3 3 0 0 0 1.3-5.854l.221-.99A.5.5 0 0 0 13.5 6H.5ZM13 12.5a2.01 2.01 0 0 1-.316-.025l.867-3.898A2.001 2.001 0 0 1 13 12.5ZM2.64 13.825 1.123 7h11.754l-1.517 6.825A1.5 1.5 0 0 1 9.896 15H4.104a1.5 1.5 0 0 1-1.464-1.175Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m4.4.8-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 3.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 3.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 3 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 4.4.8Zm3 0-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 6.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 6.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 6 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 7.4.8Zm3 0-.003.004-.014.019a4.077 4.077 0 0 0-.204.31 2.337 2.337 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.198 3.198 0 0 1-.202.388 5.385 5.385 0 0 1-.252.382l-.019.025-.005.008-.002.002A.5.5 0 0 1 9.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 9.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 9 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 10.4.8Z\"}}]})(props);\n};\nexport function BsCupStraw (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.902.334a.5.5 0 0 1-.28.65l-2.254.902-.4 1.927c.376.095.715.215.972.367.228.135.56.396.56.82 0 .046-.004.09-.011.132l-.962 9.068a1.28 1.28 0 0 1-.524.93c-.488.34-1.494.87-3.01.87-1.516 0-2.522-.53-3.01-.87a1.28 1.28 0 0 1-.524-.93L3.51 5.132A.78.78 0 0 1 3.5 5c0-.424.332-.685.56-.82.262-.154.607-.276.99-.372C5.824 3.614 6.867 3.5 8 3.5c.712 0 1.389.045 1.985.127l.464-2.215a.5.5 0 0 1 .303-.356l2.5-1a.5.5 0 0 1 .65.278zM9.768 4.607A13.991 13.991 0 0 0 8 4.5c-1.076 0-2.033.11-2.707.278A3.284 3.284 0 0 0 4.645 5c.146.073.362.15.648.222C5.967 5.39 6.924 5.5 8 5.5c.571 0 1.109-.03 1.588-.085l.18-.808zm.292 1.756C9.445 6.45 8.742 6.5 8 6.5c-1.133 0-2.176-.114-2.95-.308a5.514 5.514 0 0 1-.435-.127l.838 8.03c.013.121.06.186.102.215.357.249 1.168.69 2.438.69 1.27 0 2.081-.441 2.438-.69.042-.029.09-.094.102-.215l.852-8.03a5.517 5.517 0 0 1-.435.127 8.88 8.88 0 0 1-.89.17zM4.467 4.884s.003.002.005.006l-.005-.006zm7.066 0-.005.006c.002-.004.005-.006.005-.006zM11.354 5a3.174 3.174 0 0 0-.604-.21l-.099.445.055-.013c.286-.072.502-.149.648-.222z\"}}]})(props);\n};\nexport function BsCup (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.11 3.187A.5.5 0 0 1 .5 3h13a.5.5 0 0 1 .488.608l-.22.991a3.001 3.001 0 0 1-1.3 5.854l-.132.59A2.5 2.5 0 0 1 9.896 13H4.104a2.5 2.5 0 0 1-2.44-1.958L.012 3.608a.5.5 0 0 1 .098-.42Zm12.574 6.288a2 2 0 0 0 .866-3.899l-.866 3.9ZM1.124 4l1.516 6.825A1.5 1.5 0 0 0 4.104 12h5.792a1.5 1.5 0 0 0 1.464-1.175L12.877 4H1.123Z\"}}]})(props);\n};\nexport function BsCurrencyBitcoin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13v1.25c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25V13h.5v1.25c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25V13h.084c1.992 0 3.416-1.033 3.416-2.82 0-1.502-1.007-2.323-2.186-2.44v-.088c.97-.242 1.683-.974 1.683-2.19C11.997 3.93 10.847 3 9.092 3H9V1.75a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25V3h-.573V1.75a.25.25 0 0 0-.25-.25H5.75a.25.25 0 0 0-.25.25V3l-1.998.011a.25.25 0 0 0-.25.25v.989c0 .137.11.25.248.25l.755-.005a.75.75 0 0 1 .745.75v5.505a.75.75 0 0 1-.75.75l-.748.011a.25.25 0 0 0-.25.25v1c0 .138.112.25.25.25L5.5 13zm1.427-8.513h1.719c.906 0 1.438.498 1.438 1.312 0 .871-.575 1.362-1.877 1.362h-1.28V4.487zm0 4.051h1.84c1.137 0 1.756.58 1.756 1.524 0 .953-.626 1.45-2.158 1.45H6.927V8.539z\"}}]})(props);\n};\nexport function BsCurrencyDollar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.781c.148 1.667 1.513 2.85 3.591 3.003V15h1.043v-1.216c2.27-.179 3.678-1.438 3.678-3.3 0-1.59-.947-2.51-2.956-3.028l-.722-.187V3.467c1.122.11 1.879.714 2.07 1.616h1.47c-.166-1.6-1.54-2.748-3.54-2.875V1H7.591v1.233c-1.939.23-3.27 1.472-3.27 3.156 0 1.454.966 2.483 2.661 2.917l.61.162v4.031c-1.149-.17-1.94-.8-2.131-1.718H4zm3.391-3.836c-1.043-.263-1.6-.825-1.6-1.616 0-.944.704-1.641 1.8-1.828v3.495l-.2-.05zm1.591 1.872c1.287.323 1.852.859 1.852 1.769 0 1.097-.826 1.828-2.2 1.939V8.73l.348.086z\"}}]})(props);\n};\nexport function BsCurrencyEuro (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9.42h1.063C5.4 12.323 7.317 14 10.34 14c.622 0 1.167-.068 1.659-.185v-1.3c-.484.119-1.045.17-1.659.17-2.1 0-3.455-1.198-3.775-3.264h4.017v-.928H6.497v-.936c0-.11 0-.219.008-.329h4.078v-.927H6.618c.388-1.898 1.719-2.985 3.723-2.985.614 0 1.175.05 1.659.177V2.194A6.617 6.617 0 0 0 10.341 2c-2.928 0-4.82 1.569-5.244 4.3H4v.928h1.01v1.265H4v.928z\"}}]})(props);\n};\nexport function BsCurrencyExchange (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5a5.002 5.002 0 0 0 4.027 4.905 6.46 6.46 0 0 1 .544-2.073C3.695 7.536 3.132 6.864 3 5.91h-.5v-.426h.466V5.05c0-.046 0-.093.004-.135H2.5v-.427h.511C3.236 3.24 4.213 2.5 5.681 2.5c.316 0 .59.031.819.085v.733a3.46 3.46 0 0 0-.815-.082c-.919 0-1.538.466-1.734 1.252h1.917v.427h-1.98c-.003.046-.003.097-.003.147v.422h1.983v.427H3.93c.118.602.468 1.03 1.005 1.229a6.5 6.5 0 0 1 4.97-3.113A5.002 5.002 0 0 0 0 5zm16 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0zm-7.75 1.322c.069.835.746 1.485 1.964 1.562V14h.54v-.62c1.259-.086 1.996-.74 1.996-1.69 0-.865-.563-1.31-1.57-1.54l-.426-.1V8.374c.54.06.884.347.966.745h.948c-.07-.804-.779-1.433-1.914-1.502V7h-.54v.629c-1.076.103-1.808.732-1.808 1.622 0 .787.544 1.288 1.45 1.493l.358.085v1.78c-.554-.08-.92-.376-1.003-.787H8.25zm1.96-1.895c-.532-.12-.82-.364-.82-.732 0-.41.311-.719.824-.809v1.54h-.005zm.622 1.044c.645.145.943.38.943.796 0 .474-.37.8-1.02.86v-1.674l.077.018z\"}}]})(props);\n};\nexport function BsCurrencyPound (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8.585h1.969c.115.465.186.939.186 1.43 0 1.385-.736 2.496-2.075 2.771V14H12v-1.24H6.492v-.129c.825-.525 1.135-1.446 1.135-2.694 0-.465-.07-.913-.168-1.352h3.29v-.972H7.22c-.186-.723-.372-1.455-.372-2.247 0-1.274 1.047-2.066 2.58-2.066a5.32 5.32 0 0 1 2.103.465V2.456A5.629 5.629 0 0 0 9.348 2C6.865 2 5.322 3.291 5.322 5.366c0 .775.195 1.515.399 2.247H4v.972z\"}}]})(props);\n};\nexport function BsCurrencyRupee (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3.06h2.726c1.22 0 2.12.575 2.325 1.724H4v1.051h5.051C8.855 7.001 8 7.558 6.788 7.558H4v1.317L8.437 14h2.11L6.095 8.884h.855c2.316-.018 3.465-1.476 3.688-3.049H12V4.784h-1.345c-.08-.778-.357-1.335-.793-1.732H12V2H4v1.06Z\"}}]})(props);\n};\nexport function BsCurrencyYen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 14v-2.629h2.446v-.967H8.75v-1.31h2.445v-.967H9.128L12.5 2h-1.699L8.047 7.327h-.086L5.207 2H3.5l3.363 6.127H4.778v.968H7.25v1.31H4.78v.966h2.47V14h1.502z\"}}]})(props);\n};\nexport function BsCursorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z\"}}]})(props);\n};\nexport function BsCursorText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2zm3.352 1.355zm-.704 9.29z\"}}]})(props);\n};\nexport function BsCursor (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103zM2.25 8.184l3.897 1.67a.5.5 0 0 1 .262.263l1.67 3.897L12.743 3.52 2.25 8.184z\"}}]})(props);\n};\nexport function BsDashCircleDotted (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.176 0-.35.006-.523.017l.064.998a7.117 7.117 0 0 1 .918 0l.064-.998A8.113 8.113 0 0 0 8 0zM6.44.152c-.346.069-.684.16-1.012.27l.321.948c.287-.098.582-.177.884-.237L6.44.153zm4.132.271a7.946 7.946 0 0 0-1.011-.27l-.194.98c.302.06.597.14.884.237l.321-.947zm1.873.925a8 8 0 0 0-.906-.524l-.443.896c.275.136.54.29.793.459l.556-.831zM4.46.824c-.314.155-.616.33-.905.524l.556.83a7.07 7.07 0 0 1 .793-.458L4.46.824zM2.725 1.985c-.262.23-.51.478-.74.74l.752.66c.202-.23.418-.446.648-.648l-.66-.752zm11.29.74a8.058 8.058 0 0 0-.74-.74l-.66.752c.23.202.447.418.648.648l.752-.66zm1.161 1.735a7.98 7.98 0 0 0-.524-.905l-.83.556c.169.253.322.518.458.793l.896-.443zM1.348 3.555c-.194.289-.37.591-.524.906l.896.443c.136-.275.29-.54.459-.793l-.831-.556zM.423 5.428a7.945 7.945 0 0 0-.27 1.011l.98.194c.06-.302.14-.597.237-.884l-.947-.321zM15.848 6.44a7.943 7.943 0 0 0-.27-1.012l-.948.321c.098.287.177.582.237.884l.98-.194zM.017 7.477a8.113 8.113 0 0 0 0 1.046l.998-.064a7.117 7.117 0 0 1 0-.918l-.998-.064zM16 8a8.1 8.1 0 0 0-.017-.523l-.998.064a7.11 7.11 0 0 1 0 .918l.998.064A8.1 8.1 0 0 0 16 8zM.152 9.56c.069.346.16.684.27 1.012l.948-.321a6.944 6.944 0 0 1-.237-.884l-.98.194zm15.425 1.012c.112-.328.202-.666.27-1.011l-.98-.194c-.06.302-.14.597-.237.884l.947.321zM.824 11.54a8 8 0 0 0 .524.905l.83-.556a6.999 6.999 0 0 1-.458-.793l-.896.443zm13.828.905c.194-.289.37-.591.524-.906l-.896-.443c-.136.275-.29.54-.459.793l.831.556zm-12.667.83c.23.262.478.51.74.74l.66-.752a7.047 7.047 0 0 1-.648-.648l-.752.66zm11.29.74c.262-.23.51-.478.74-.74l-.752-.66c-.201.23-.418.447-.648.648l.66.752zm-1.735 1.161c.314-.155.616-.33.905-.524l-.556-.83a7.07 7.07 0 0 1-.793.458l.443.896zm-7.985-.524c.289.194.591.37.906.524l.443-.896a6.998 6.998 0 0 1-.793-.459l-.556.831zm1.873.925c.328.112.666.202 1.011.27l.194-.98a6.953 6.953 0 0 1-.884-.237l-.321.947zm4.132.271a7.944 7.944 0 0 0 1.012-.27l-.321-.948a6.954 6.954 0 0 1-.884.237l.194.98zm-2.083.135a8.1 8.1 0 0 0 1.046 0l-.064-.998a7.11 7.11 0 0 1-.918 0l-.064.998zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDashLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8Z\"}}]})(props);\n};\nexport function BsDashSquareDotted (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0c-.166 0-.33.016-.487.048l.194.98A1.51 1.51 0 0 1 2.5 1h.458V0H2.5zm2.292 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zm1.833 0h-.916v1h.916V0zm1.834 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zM13.5 0h-.458v1h.458c.1 0 .199.01.293.029l.194-.981A2.51 2.51 0 0 0 13.5 0zm2.079 1.11a2.511 2.511 0 0 0-.69-.689l-.556.831c.164.11.305.251.415.415l.83-.556zM1.11.421a2.511 2.511 0 0 0-.689.69l.831.556c.11-.164.251-.305.415-.415L1.11.422zM16 2.5c0-.166-.016-.33-.048-.487l-.98.194c.018.094.028.192.028.293v.458h1V2.5zM.048 2.013A2.51 2.51 0 0 0 0 2.5v.458h1V2.5c0-.1.01-.199.029-.293l-.981-.194zM0 3.875v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 5.708v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 7.542v.916h1v-.916H0zm15 .916h1v-.916h-1v.916zM0 9.375v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .916v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .917v.458c0 .166.016.33.048.487l.98-.194A1.51 1.51 0 0 1 1 13.5v-.458H0zm16 .458v-.458h-1v.458c0 .1-.01.199-.029.293l.981.194c.032-.158.048-.32.048-.487zM.421 14.89c.183.272.417.506.69.689l.556-.831a1.51 1.51 0 0 1-.415-.415l-.83.556zm14.469.689c.272-.183.506-.417.689-.69l-.831-.556c-.11.164-.251.305-.415.415l.556.83zm-12.877.373c.158.032.32.048.487.048h.458v-1H2.5c-.1 0-.199-.01-.293-.029l-.194.981zM13.5 16c.166 0 .33-.016.487-.048l-.194-.98A1.51 1.51 0 0 1 13.5 15h-.458v1h.458zm-9.625 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zm1.834 0h.916v-1h-.916v1zm1.833 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm2.5 7.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsDashSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDatabaseAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}}]})(props);\n};\nexport function BsDatabaseCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}}]})(props);\n};\nexport function BsDatabaseDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}}]})(props);\n};\nexport function BsDatabaseDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V10.5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}}]})(props);\n};\nexport function BsDatabaseExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsDatabaseFillAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0ZM8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}}]})(props);\n};\nexport function BsDatabaseFillCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514ZM8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}}]})(props);\n};\nexport function BsDatabaseFillDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1ZM8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}}]})(props);\n};\nexport function BsDatabaseFillDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V10.5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0ZM8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}}]})(props);\n};\nexport function BsDatabaseFillExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsDatabaseFillGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Zm3.631-4.538c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.045c-.613-.18-.613-1.048 0-1.229l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}}]})(props);\n};\nexport function BsDatabaseFillLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.904 9.223C2.875 8.755 2 8.007 2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-1.364-.125 2.988 2.988 0 0 0-2.197.731 4.525 4.525 0 0 0-1.254 1.237A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777ZM8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.09 0 .178 0 .266-.003A1.99 1.99 0 0 1 8 15v-1Zm0-1.5c0 .1.003.201.01.3A1.9 1.9 0 0 0 8 13c-1.573 0-3.022-.289-4.096-.777C2.875 11.755 2 11.007 2 10v-.839c.457.432 1.004.751 1.49.972C4.722 10.693 6.318 11 8 11c.086 0 .172 0 .257-.002A4.5 4.5 0 0 0 8 12.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsDatabaseFillSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.501 2.501 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95ZM8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}}]})(props);\n};\nexport function BsDatabaseFillUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 0 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0ZM8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}}]})(props);\n};\nexport function BsDatabaseFillX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1c-1.573 0-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4s.875 1.755 1.904 2.223C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777C13.125 5.755 14 5.007 14 4s-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7v-.839c.457.432 1.004.751 1.49.972C4.722 7.693 6.318 8 8 8s3.278-.307 4.51-.867c.486-.22 1.033-.54 1.49-.972V7c0 .424-.155.802-.411 1.133a4.51 4.51 0 0 0-4.815 1.843A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777C2.875 8.755 2 8.007 2 7Zm6.257 3.998L8 11c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13h.027a4.552 4.552 0 0 1 .23-2.002Zm-.002 3L8 14c-1.682 0-3.278-.307-4.51-.867-.486-.22-1.033-.54-1.49-.972V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.507 4.507 0 0 1-1.3-1.905Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 .708-.708Z\"}}]})(props);\n};\nexport function BsDatabaseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.904 1.777C4.978 1.289 6.427 1 8 1s3.022.289 4.096.777C13.125 2.245 14 2.993 14 4s-.875 1.755-1.904 2.223C11.022 6.711 9.573 7 8 7s-3.022-.289-4.096-.777C2.875 5.755 2 5.007 2 4s.875-1.755 1.904-2.223Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6.161V7c0 1.007.875 1.755 1.904 2.223C4.978 9.71 6.427 10 8 10s3.022-.289 4.096-.777C13.125 8.755 14 8.007 14 7v-.839c-.457.432-1.004.751-1.49.972C11.278 7.693 9.682 8 8 8s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9.161V10c0 1.007.875 1.755 1.904 2.223C4.978 12.711 6.427 13 8 13s3.022-.289 4.096-.777C13.125 11.755 14 11.007 14 10v-.839c-.457.432-1.004.751-1.49.972-1.232.56-2.828.867-4.51.867s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.161V13c0 1.007.875 1.755 1.904 2.223C4.978 15.711 6.427 16 8 16s3.022-.289 4.096-.777C13.125 14.755 14 14.007 14 13v-.839c-.457.432-1.004.751-1.49.972-1.232.56-2.828.867-4.51.867s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972Z\"}}]})(props);\n};\nexport function BsDatabaseGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.886 9.46c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.045c-.613-.18-.613-1.048 0-1.229l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"}}]})(props);\n};\nexport function BsDatabaseLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.698a4.92 4.92 0 0 1-.904.525C11.022 6.711 9.573 7 8 7s-3.022-.289-4.096-.777A4.92 4.92 0 0 1 3 5.698V7c0 .374.356.875 1.318 1.313C5.234 8.729 6.536 9 8 9c.666 0 1.298-.056 1.876-.156-.43.31-.804.693-1.102 1.132A12.31 12.31 0 0 1 8 10c-1.573 0-3.022-.289-4.096-.777A4.92 4.92 0 0 1 3 8.698V10c0 .374.356.875 1.318 1.313C5.234 11.729 6.536 12 8 12h.027a4.548 4.548 0 0 0-.017.8A1.9 1.9 0 0 0 8 13c-1.573 0-3.022-.289-4.096-.777A4.916 4.916 0 0 1 3 11.698V13c0 .374.356.875 1.318 1.313C5.234 14.729 6.536 15 8 15c0 .363.097.704.266.997C8.178 16 8.089 16 8 16c-1.573 0-3.022-.289-4.096-.777C2.875 14.755 2 14.007 2 13V4c0-1.007.875-1.755 1.904-2.223C4.978 1.289 6.427 1 8 1s3.022.289 4.096.777C13.125 2.245 14 2.993 14 4v4.256a4.493 4.493 0 0 0-1.753-.249C12.787 7.654 13 7.289 13 7V5.698Zm-8.682-3.01C3.356 3.124 3 3.625 3 4c0 .374.356.875 1.318 1.313C5.234 5.729 6.536 6 8 6s2.766-.27 3.682-.687C12.644 4.875 13 4.373 13 4c0-.374-.356-.875-1.318-1.313C10.766 2.271 9.464 2 8 2s-2.766.27-3.682.687Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsDatabaseSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.501 2.501 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}}]})(props);\n};\nexport function BsDatabaseUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 0 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}}]})(props);\n};\nexport function BsDatabaseX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.096 6.223A4.92 4.92 0 0 0 13 5.698V7c0 .289-.213.654-.753 1.007a4.493 4.493 0 0 1 1.753.25V4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16c.536 0 1.058-.034 1.555-.097a4.525 4.525 0 0 1-.813-.927C8.5 14.992 8.252 15 8 15c-1.464 0-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13h.027a4.552 4.552 0 0 1 0-1H8c-1.464 0-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10c.262 0 .52-.008.774-.024a4.525 4.525 0 0 1 1.102-1.132C9.298 8.944 8.666 9 8 9c-1.464 0-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777ZM3 4c0-.374.356-.875 1.318-1.313C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 .708-.708Z\"}}]})(props);\n};\nexport function BsDatabase (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.318 2.687C5.234 2.271 6.536 2 8 2s2.766.27 3.682.687C12.644 3.125 13 3.627 13 4c0 .374-.356.875-1.318 1.313C10.766 5.729 9.464 6 8 6s-2.766-.27-3.682-.687C3.356 4.875 3 4.373 3 4c0-.374.356-.875 1.318-1.313ZM13 5.698V7c0 .374-.356.875-1.318 1.313C10.766 8.729 9.464 9 8 9s-2.766-.27-3.682-.687C3.356 7.875 3 7.373 3 7V5.698c.271.202.58.378.904.525C4.978 6.711 6.427 7 8 7s3.022-.289 4.096-.777A4.92 4.92 0 0 0 13 5.698ZM14 4c0-1.007-.875-1.755-1.904-2.223C11.022 1.289 9.573 1 8 1s-3.022.289-4.096.777C2.875 2.245 2 2.993 2 4v9c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16s3.022-.289 4.096-.777C13.125 14.755 14 14.007 14 13V4Zm-1 4.698V10c0 .374-.356.875-1.318 1.313C10.766 11.729 9.464 12 8 12s-2.766-.27-3.682-.687C3.356 10.875 3 10.373 3 10V8.698c.271.202.58.378.904.525C4.978 9.71 6.427 10 8 10s3.022-.289 4.096-.777A4.92 4.92 0 0 0 13 8.698Zm0 3V13c0 .374-.356.875-1.318 1.313C10.766 14.729 9.464 15 8 15s-2.766-.27-3.682-.687C3.356 13.875 3 13.373 3 13v-1.302c.271.202.58.378.904.525C4.978 12.71 6.427 13 8 13s3.022-.289 4.096-.777c.324-.147.633-.323.904-.525Z\"}}]})(props);\n};\nexport function BsDeviceHddFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.785 9.896A3.001 3.001 0 0 0 8 4a3 3 0 0 0-.891 5.865c.667-.44 1.396-.91 1.955-1.268.224-.144.483.115.34.34l-.62.96ZM9 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4Zm9 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 13a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-9.5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM4 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm2.882 11.177a1.102 1.102 0 0 1-1.56-1.559c.1-.098.396-.314.795-.588a4 4 0 1 1 1.946.47c-.537.813-1.02 1.515-1.181 1.677Z\"}}]})(props);\n};\nexport function BsDeviceHdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-7.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM8 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a4 4 0 0 1-3.937 4c-.537.813-1.02 1.515-1.181 1.677a1.102 1.102 0 0 1-1.56-1.559c.1-.098.396-.314.795-.588A4 4 0 0 1 8 3a4 4 0 0 1 4 4Zm-1 0a3 3 0 1 0-3.891 2.865c.667-.44 1.396-.91 1.955-1.268.224-.144.483.115.34.34l-.62.96A3.001 3.001 0 0 0 11 7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H4Z\"}}]})(props);\n};\nexport function BsDeviceSsdFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8V4h6v4H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4Zm0 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm9 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm9.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM4.75 3h6.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-.75.75h-6.5A.75.75 0 0 1 4 8.25v-4.5A.75.75 0 0 1 4.75 3ZM5 12h6a1 1 0 0 1 1 1v2h-1v-2h-.75v2h-1v-2H8.5v2h-1v-2h-.75v2h-1v-2H5v2H4v-2a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsDeviceSsd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 4a.75.75 0 0 0-.75.75v3.5c0 .414.336.75.75.75h6.5a.75.75 0 0 0 .75-.75v-3.5a.75.75 0 0 0-.75-.75h-6.5ZM5 8V5h6v3H5Zm0-5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm7 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM4.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm7 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2Zm11 12V2a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1v-2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2a1 1 0 0 0 1-1Zm-7.25 1v-2H5v2h.75Zm1.75 0v-2h-.75v2h.75Zm1.75 0v-2H8.5v2h.75ZM11 13h-.75v2H11v-2Z\"}}]})(props);\n};\nexport function BsDiagram2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-3 8A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1z\"}}]})(props);\n};\nexport function BsDiagram2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1zM3 11.5A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsDiagram3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-6 8A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm6 0A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1z\"}}]})(props);\n};\nexport function BsDiagram3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1zM0 11.5A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435z\"}}]})(props);\n};\nexport function BsDiamondHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 .989c.127 0 .253.049.35.145l6.516 6.516a.495.495 0 0 1 0 .7L8.35 14.866a.493.493 0 0 1-.35.145V.989z\"}}]})(props);\n};\nexport function BsDiamond (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}}]})(props);\n};\nexport function BsDice1Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm5 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}}]})(props);\n};\nexport function BsDice2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3zm5.5 1a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm6.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsDice2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice4Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice5Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice5 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice6Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice6 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDiscFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-6 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 8a4 4 0 0 1 4-4 .5.5 0 0 0 0-1 5 5 0 0 0-5 5 .5.5 0 0 0 1 0zm9 0a.5.5 0 1 0-1 0 4 4 0 0 1-4 4 .5.5 0 0 0 0 1 5 5 0 0 0 5-5z\"}}]})(props);\n};\nexport function BsDisc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 4a4 4 0 0 0-4 4 .5.5 0 0 1-1 0 5 5 0 0 1 5-5 .5.5 0 0 1 0 1zm4.5 3.5a.5.5 0 0 1 .5.5 5 5 0 0 1-5 5 .5.5 0 0 1 0-1 4 4 0 0 0 4-4 .5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsDiscord (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z\"}}]})(props);\n};\nexport function BsDisplayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0 .667-.083 1.167-.25 1.5H5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.75c-.167-.333-.25-.833-.25-1.5h4c2 0 2-2 2-2V4c0-2-2-2-2-2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h4z\"}}]})(props);\n};\nexport function BsDisplay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4s0-2 2-2h12s2 0 2 2v6s0 2-2 2h-4c0 .667.083 1.167.25 1.5H11a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1h.75c.167-.333.25-.833.25-1.5H2s-2 0-2-2V4zm1.398-.855a.758.758 0 0 0-.254.302A1.46 1.46 0 0 0 1 4.01V10c0 .325.078.502.145.602.07.105.17.188.302.254a1.464 1.464 0 0 0 .538.143L2.01 11H14c.325 0 .502-.078.602-.145a.758.758 0 0 0 .254-.302 1.464 1.464 0 0 0 .143-.538L15 9.99V4c0-.325-.078-.502-.145-.602a.757.757 0 0 0-.302-.254A1.46 1.46 0 0 0 13.99 3H2c-.325 0-.502.078-.602.145z\"}}]})(props);\n};\nexport function BsDisplayportFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5a1 1 0 0 0-1 1v3.191a1 1 0 0 0 .553.894l1.618.81a1 1 0 0 0 .447.105H15a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H1Zm1.5 2h11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8H3v.5a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsDisplayport (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0V8h10v.5a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5h-11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5a1 1 0 0 0-1 1v3.191a1 1 0 0 0 .553.894l1.618.81a1 1 0 0 0 .447.105H15a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H1Zm0 1h14v4H2.618L1 9.191V6Z\"}}]})(props);\n};\nexport function BsDistributeHorizontal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5zm-13 0a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10z\"}}]})(props);\n};\nexport function BsDistributeVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 1.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0-.5.5zm0 13a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsDoorClosedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2a1 1 0 0 1 1-1h8zm-2 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsDoorClosed (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2zm1 13h8V2H4v13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsDoorOpenFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15H1.5zM11 2h.5a.5.5 0 0 1 .5.5V15h-1V2zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}}]})(props);\n};\nexport function BsDoorOpen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 10c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.828.122A.5.5 0 0 1 11 .5V1h.5A1.5 1.5 0 0 1 13 2.5V15h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V1.5a.5.5 0 0 1 .43-.495l7-1a.5.5 0 0 1 .398.117zM11.5 2H11v13h1V2.5a.5.5 0 0 0-.5-.5zM4 1.934V15h6V1.077l-6 .857z\"}}]})(props);\n};\nexport function BsDot (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsDownload (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsDpadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v3a.5.5 0 0 1-.5.5h-3A1.5 1.5 0 0 0 0 6.5v3A1.5 1.5 0 0 0 1.5 11h3a.5.5 0 0 1 .5.5v3A1.5 1.5 0 0 0 6.5 16h3a1.5 1.5 0 0 0 1.5-1.5v-3a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 0 16 9.5v-3A1.5 1.5 0 0 0 14.5 5h-3a.5.5 0 0 1-.5-.5v-3A1.5 1.5 0 0 0 9.5 0h-3Zm1.288 2.34a.25.25 0 0 1 .424 0l.799 1.278A.25.25 0 0 1 8.799 4H7.201a.25.25 0 0 1-.212-.382l.799-1.279Zm0 11.32-.799-1.277A.25.25 0 0 1 7.201 12H8.8a.25.25 0 0 1 .212.383l-.799 1.278a.25.25 0 0 1-.424 0Zm-4.17-4.65-1.279-.798a.25.25 0 0 1 0-.424l1.279-.799A.25.25 0 0 1 4 7.201V8.8a.25.25 0 0 1-.382.212Zm10.043-.798-1.278.799A.25.25 0 0 1 12 8.799V7.2a.25.25 0 0 1 .383-.212l1.278.799a.25.25 0 0 1 0 .424Z\"}}]})(props);\n};\nexport function BsDpad (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.788 2.34-.799 1.278A.25.25 0 0 0 7.201 4h1.598a.25.25 0 0 0 .212-.382l-.799-1.279a.25.25 0 0 0-.424 0Zm0 11.32-.799-1.277A.25.25 0 0 1 7.201 12h1.598a.25.25 0 0 1 .212.383l-.799 1.278a.25.25 0 0 1-.424 0ZM3.617 9.01 2.34 8.213a.25.25 0 0 1 0-.424l1.278-.799A.25.25 0 0 1 4 7.201V8.8a.25.25 0 0 1-.383.212Zm10.043-.798-1.277.799A.25.25 0 0 1 12 8.799V7.2a.25.25 0 0 1 .383-.212l1.278.799a.25.25 0 0 1 0 .424Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0A1.5 1.5 0 0 0 5 1.5v3a.5.5 0 0 1-.5.5h-3A1.5 1.5 0 0 0 0 6.5v3A1.5 1.5 0 0 0 1.5 11h3a.5.5 0 0 1 .5.5v3A1.5 1.5 0 0 0 6.5 16h3a1.5 1.5 0 0 0 1.5-1.5v-3a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 0 16 9.5v-3A1.5 1.5 0 0 0 14.5 5h-3a.5.5 0 0 1-.5-.5v-3A1.5 1.5 0 0 0 9.5 0h-3ZM6 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3A1.5 1.5 0 0 0 11.5 6h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a1.5 1.5 0 0 0-1.5 1.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3A1.5 1.5 0 0 0 4.5 10h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 0 6 4.5v-3Z\"}}]})(props);\n};\nexport function BsDribbble (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0C3.584 0 0 3.584 0 8s3.584 8 8 8c4.408 0 8-3.584 8-8s-3.592-8-8-8zm5.284 3.688a6.802 6.802 0 0 1 1.545 4.251c-.226-.043-2.482-.503-4.755-.217-.052-.112-.096-.234-.148-.355-.139-.33-.295-.668-.451-.99 2.516-1.023 3.662-2.498 3.81-2.69zM8 1.18c1.735 0 3.323.65 4.53 1.718-.122.174-1.155 1.553-3.584 2.464-1.12-2.056-2.36-3.74-2.551-4A6.95 6.95 0 0 1 8 1.18zm-2.907.642A43.123 43.123 0 0 1 7.627 5.77c-3.193.85-6.013.833-6.317.833a6.865 6.865 0 0 1 3.783-4.78zM1.163 8.01V7.8c.295.01 3.61.053 7.02-.971.199.381.381.772.555 1.162l-.27.078c-3.522 1.137-5.396 4.243-5.553 4.504a6.817 6.817 0 0 1-1.752-4.564zM8 14.837a6.785 6.785 0 0 1-4.19-1.44c.12-.252 1.509-2.924 5.361-4.269.018-.009.026-.009.044-.017a28.246 28.246 0 0 1 1.457 5.18A6.722 6.722 0 0 1 8 14.837zm3.81-1.171c-.07-.417-.435-2.412-1.328-4.868 2.143-.338 4.017.217 4.251.295a6.774 6.774 0 0 1-2.924 4.573z\"}}]})(props);\n};\nexport function BsDropbox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.01 4.555 4.005 7.11 8.01 9.665 4.005 12.22 0 9.651l4.005-2.555L0 4.555 4.005 2 8.01 4.555Zm-4.026 8.487 4.006-2.555 4.005 2.555-4.005 2.555-4.006-2.555Zm4.026-3.39 4.005-2.556L8.01 4.555 11.995 2 16 4.555 11.995 7.11 16 9.665l-4.005 2.555L8.01 9.651Z\"}}]})(props);\n};\nexport function BsDropletFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a6 6 0 0 0 6-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 0 0 6 6ZM6.646 4.646l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448c.82-1.641 1.717-2.753 2.093-3.13Z\"}}]})(props);\n};\nexport function BsDropletHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10c0 0 2.5 1.5 5 .5s5-.5 5-.5c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z\"}}]})(props);\n};\nexport function BsDroplet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10a5 5 0 0 0 10 0c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z\"}}]})(props);\n};\nexport function BsDuffleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.007 4.097c.008-.097.016-.197.027-.298.05-.464.141-.979.313-1.45.169-.465.432-.933.853-1.249 1.115-.836 2.485-.836 3.6 0 .42.316.684.784.853 1.25.171.47.263.985.313 1.449.01.1.02.2.027.298 1.401.194 2.65.531 3.525 1.012 2.126 1.169 1.446 6.095 1.089 8.018a.954.954 0 0 1-.95.772H1.343a.954.954 0 0 1-.95-.772c-.357-1.923-1.037-6.85 1.09-8.018.873-.48 2.123-.818 3.524-1.012ZM4.05 5.633a21.876 21.876 0 0 0-1.565.352l-.091.026-.034.01a.5.5 0 0 0 .282.959l.005-.002.02-.005.08-.023a20.874 20.874 0 0 1 1.486-.334A20.942 20.942 0 0 1 8 6.25c1.439 0 2.781.183 3.767.367a20.854 20.854 0 0 1 1.567.356l.02.005.004.001a.5.5 0 0 0 .283-.959h-.003l-.006-.002-.025-.007a14.787 14.787 0 0 0-.43-.113 21.87 21.87 0 0 0-1.226-.265A21.939 21.939 0 0 0 8 5.25c-1.518 0-2.926.192-3.95.383ZM6.8 1.9c-.203.153-.377.42-.513.791a5.258 5.258 0 0 0-.265 1.292 34.54 34.54 0 0 1 1.374-.076c.866-.022 1.742.003 2.584.076a5.258 5.258 0 0 0-.266-1.292c-.135-.372-.309-.638-.513-.791-.76-.57-1.64-.57-2.4 0Z\"}}]})(props);\n};\nexport function BsDuffle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.75c1.388 0 2.673.193 3.609.385a18.404 18.404 0 0 1 1.43.354l.112.034.002.001h.001a.5.5 0 0 1-.308.952l-.004-.002-.018-.005a17.416 17.416 0 0 0-1.417-.354A17.282 17.282 0 0 0 8 6.75a17.3 17.3 0 0 0-3.408.365 17.42 17.42 0 0 0-1.416.354l-.018.005-.003.001a.5.5 0 1 1-.308-.95A17.26 17.26 0 0 1 8 5.75Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.229 2.722c-.126.461-.19.945-.222 1.375-1.401.194-2.65.531-3.525 1.012C-.644 6.278.036 11.204.393 13.127a.954.954 0 0 0 .95.772h13.314a.954.954 0 0 0 .95-.772c.357-1.923 1.037-6.85-1.09-8.018-.873-.48-2.123-.818-3.524-1.012a7.361 7.361 0 0 0-.222-1.375c-.162-.593-.445-1.228-.971-1.622-1.115-.836-2.485-.836-3.6 0-.526.394-.81 1.03-.971 1.622ZM9.2 1.9c.26.195.466.57.606 1.085.088.322.142.667.173.998a23.307 23.307 0 0 0-3.958 0 6.06 6.06 0 0 1 .173-.998c.14-.515.346-.89.606-1.085.76-.57 1.64-.57 2.4 0ZM8 4.9c2.475 0 4.793.402 6.036 1.085.238.13.472.406.655.93.183.522.28 1.195.303 1.952.047 1.486-.189 3.088-.362 4.032H1.368c-.173-.944-.409-2.545-.362-4.032.024-.757.12-1.43.303-1.952.183-.524.417-.8.655-.93C3.207 5.302 5.525 4.9 8 4.9Z\"}}]})(props);\n};\nexport function BsEarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 0A5.5 5.5 0 0 0 3 5.5v7.047a3.453 3.453 0 0 0 6.687 1.212l.51-1.363a4.59 4.59 0 0 1 .67-1.197l2.008-2.581A5.34 5.34 0 0 0 8.66 0H8.5ZM7 5.5v2.695c.112-.06.223-.123.332-.192.327-.208.577-.44.72-.727a.5.5 0 1 1 .895.448c-.256.513-.673.865-1.079 1.123A8.538 8.538 0 0 1 7 9.313V11.5a.5.5 0 0 1-1 0v-6a2.5 2.5 0 0 1 5 0V6a.5.5 0 0 1-1 0v-.5a1.5 1.5 0 1 0-3 0Z\"}}]})(props);\n};\nexport function BsEar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1A4.5 4.5 0 0 0 4 5.5v7.047a2.453 2.453 0 0 0 4.75.861l.512-1.363a5.553 5.553 0 0 1 .816-1.46l2.008-2.581A4.34 4.34 0 0 0 8.66 1H8.5ZM3 5.5A5.5 5.5 0 0 1 8.5 0h.16a5.34 5.34 0 0 1 4.215 8.618l-2.008 2.581a4.555 4.555 0 0 0-.67 1.197l-.51 1.363A3.453 3.453 0 0 1 3 12.547V5.5ZM8.5 4A1.5 1.5 0 0 0 7 5.5v2.695c.112-.06.223-.123.332-.192.327-.208.577-.44.72-.727a.5.5 0 1 1 .895.448c-.256.513-.673.865-1.079 1.123A8.538 8.538 0 0 1 7 9.313V11.5a.5.5 0 0 1-1 0v-6a2.5 2.5 0 0 1 5 0V6a.5.5 0 0 1-1 0v-.5A1.5 1.5 0 0 0 8.5 4Z\"}}]})(props);\n};\nexport function BsEarbuds (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.825 4.138c.596 2.141-.36 3.593-2.389 4.117a4.432 4.432 0 0 1-2.018.054c-.048-.01.9 2.778 1.522 4.61l.41 1.205a.52.52 0 0 1-.346.659l-.593.19a.548.548 0 0 1-.69-.34L.184 6.99c-.696-2.137.662-4.309 2.564-4.8 2.029-.523 3.402 0 4.076 1.948zm-.868 2.221c.43-.112.561-.993.292-1.969-.269-.975-.836-1.675-1.266-1.563-.43.112-.561.994-.292 1.969.269.975.836 1.675 1.266 1.563zm3.218-2.221c-.596 2.141.36 3.593 2.389 4.117a4.434 4.434 0 0 0 2.018.054c.048-.01-.9 2.778-1.522 4.61l-.41 1.205a.52.52 0 0 0 .346.659l.593.19c.289.092.6-.06.69-.34l2.536-7.643c.696-2.137-.662-4.309-2.564-4.8-2.029-.523-3.402 0-4.076 1.948zm.868 2.221c-.43-.112-.561-.993-.292-1.969.269-.975.836-1.675 1.266-1.563.43.112.561.994.292 1.969-.269.975-.836 1.675-1.266 1.563z\"}}]})(props);\n};\nexport function BsEaselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.473.337a.5.5 0 0 0-.946 0L6.954 2H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1.85l-1.323 3.837a.5.5 0 1 0 .946.326L4.908 11H7.5v2.5a.5.5 0 0 0 1 0V11h2.592l1.435 4.163a.5.5 0 0 0 .946-.326L12.15 11H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9.046L8.473.337z\"}}]})(props);\n};\nexport function BsEasel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .473.337L9.046 2H14a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1.85l1.323 3.837a.5.5 0 1 1-.946.326L11.092 11H8.5v3a.5.5 0 0 1-1 0v-3H4.908l-1.435 4.163a.5.5 0 1 1-.946-.326L3.85 11H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h4.954L7.527.337A.5.5 0 0 1 8 0zM2 3v7h12V3H2z\"}}]})(props);\n};\nexport function BsEasel2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.447.276a.5.5 0 0 0-.894 0L7.19 1H2.5A1.5 1.5 0 0 0 1 2.5V10h14V2.5A1.5 1.5 0 0 0 13.5 1H8.809L8.447.276Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.5 11a.5.5 0 0 0 0 1h2.86l-.845 3.379a.5.5 0 0 0 .97.242L3.89 14h8.22l.405 1.621a.5.5 0 0 0 .97-.242L12.64 12h2.86a.5.5 0 0 0 0-1H.5Zm3.64 2 .25-1h7.22l.25 1H4.14Z\"}}]})(props);\n};\nexport function BsEasel2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .447.276L8.81 1h4.69A1.5 1.5 0 0 1 15 2.5V11h.5a.5.5 0 0 1 0 1h-2.86l.845 3.379a.5.5 0 0 1-.97.242L12.11 14H3.89l-.405 1.621a.5.5 0 0 1-.97-.242L3.36 12H.5a.5.5 0 0 1 0-1H1V2.5A1.5 1.5 0 0 1 2.5 1h4.691l.362-.724A.5.5 0 0 1 8 0ZM2 11h12V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V11Zm9.61 1H4.39l-.25 1h7.72l-.25-1Z\"}}]})(props);\n};\nexport function BsEasel3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 12v1.134a1 1 0 1 1-1 0V12h-5A1.5 1.5 0 0 1 1 10.5V3h14v7.5a1.5 1.5 0 0 1-1.5 1.5h-5Zm7-10a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1h15Z\"}}]})(props);\n};\nexport function BsEasel3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5 13.134V12h5a1.5 1.5 0 0 0 1.5-1.5V2h.5a.5.5 0 0 0 0-1H.5a.5.5 0 0 0 0 1H1v8.5A1.5 1.5 0 0 0 2.5 12h5v1.134a1 1 0 1 0 1 0ZM2 2v8.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V2H2Z\"}}]})(props);\n};\nexport function BsEggFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a6 6 0 0 1-12 0C2 5.686 5 0 8 0s6 5.686 6 10z\"}}]})(props);\n};\nexport function BsEggFried (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z\"}}]})(props);\n};\nexport function BsEgg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15a5 5 0 0 1-5-5c0-1.956.69-4.286 1.742-6.12.524-.913 1.112-1.658 1.704-2.164C7.044 1.206 7.572 1 8 1c.428 0 .956.206 1.554.716.592.506 1.18 1.251 1.704 2.164C12.31 5.714 13 8.044 13 10a5 5 0 0 1-5 5zm0 1a6 6 0 0 0 6-6c0-4.314-3-10-6-10S2 5.686 2 10a6 6 0 0 0 6 6z\"}}]})(props);\n};\nexport function BsEjectFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsEject (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM14.346 8.5 8 1.731 1.654 8.5h12.692zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1zm14 0h-13v1h13v-1z\"}}]})(props);\n};\nexport function BsEmojiAngryFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.053 4.276a.5.5 0 0 1 .67-.223l2 1a.5.5 0 0 1 .166.76c.071.206.111.44.111.687C7 7.328 6.552 8 6 8s-1-.672-1-1.5c0-.408.109-.778.285-1.049l-1.009-.504a.5.5 0 0 1-.223-.67zm.232 8.157a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 1 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5 0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5z\"}}]})(props);\n};\nexport function BsEmojiAngry (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zm6.991-8.38a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5s-1-.672-1-1.5c0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1zm-6.552 0a.5.5 0 0 0-.448.894l1.009.504A1.94 1.94 0 0 0 5 6.5C5 7.328 5.448 8 6 8s1-.672 1-1.5c0-.247-.04-.48-.11-.686a.502.502 0 0 0-.166-.761l-2-1z\"}}]})(props);\n};\nexport function BsEmojiAstonishedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-4.884-3.978a2.092 2.092 0 0 1 .53.332.5.5 0 0 0 .708-.708h-.001v-.001a1.885 1.885 0 0 0-.237-.197 3.087 3.087 0 0 0-.606-.345 2.996 2.996 0 0 0-2.168-.077.5.5 0 1 0 .316.948 1.997 1.997 0 0 1 1.458.048Zm-4.774-.048a.5.5 0 0 0 .316-.948 2.996 2.996 0 0 0-2.167.077 3.091 3.091 0 0 0-.773.478c-.024.02-.047.042-.07.064l-.002.001a.5.5 0 1 0 .728.689 2.09 2.09 0 0 1 .51-.313 2 2 0 0 1 1.458-.048ZM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5Zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 8 10 8s1-.672 1-1.5Zm-5.247 4.746c-.383.478.08 1.06.687.98 1.04-.135 2.08-.135 3.12 0 .606.08 1.07-.502.687-.98C9.747 10.623 8.998 10 8 10c-.998 0-1.747.623-2.247 1.246Z\"}}]})(props);\n};\nexport function BsEmojiAstonished (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5Zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5ZM4.884 4.022a2 2 0 0 1 1.458-.048.5.5 0 0 0 .316-.948 2.996 2.996 0 0 0-2.167.077 3.091 3.091 0 0 0-.773.478c-.024.02-.047.042-.07.064l-.002.001a.5.5 0 0 0 .707.708l-.001.002.001-.002a1.558 1.558 0 0 1 .122-.1 2.09 2.09 0 0 1 .41-.232Zm6.232 0a1.997 1.997 0 0 0-1.458-.048.5.5 0 1 1-.316-.948 2.996 2.996 0 0 1 2.168.077 3.087 3.087 0 0 1 .773.478l.07.064v.001a.5.5 0 0 1-.706.708l.002.002-.002-.002a1.556 1.556 0 0 0-.122-.1 2.092 2.092 0 0 0-.41-.232ZM8 10c-.998 0-1.747.623-2.247 1.246-.383.478.08 1.06.687.98 1.04-.135 2.08-.135 3.12 0 .606.08 1.07-.502.687-.98C9.747 10.623 8.998 10 8 10Z\"}}]})(props);\n};\nexport function BsEmojiDizzyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM8 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BsEmojiDizzy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm-5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM10 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsEmojiExpressionlessFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm5 0h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm-5 4h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsEmojiExpressionless (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm5 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsEmojiFrownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-2.715 5.933a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 0 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiFrown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiGrimaceFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7 6.25C7 5.56 6.552 5 6 5s-1 .56-1 1.25.448 1.25 1 1.25 1-.56 1-1.25Zm3 1.25c.552 0 1-.56 1-1.25S10.552 5 10 5s-1 .56-1 1.25.448 1.25 1 1.25Zm1.5 4.5a1.5 1.5 0 0 0 1.48-1.25v-.003a1.512 1.512 0 0 0 0-.497A1.5 1.5 0 0 0 11.5 9h-7a1.5 1.5 0 0 0-1.48 1.25v.003a1.51 1.51 0 0 0 0 .497A1.5 1.5 0 0 0 4.5 12h7Zm-7.969-1.25a1 1 0 0 0 .969.75h.25v-.75H3.531Zm8.938 0a1 1 0 0 1-.969.75h-.25v-.75h1.219ZM11.5 9.5a1 1 0 0 1 .969.75H11.25V9.5h.25Zm-7.969.75A1 1 0 0 1 4.5 9.5h.25v.75H3.531ZM5.25 11.5h1v-.75h-1v.75Zm2.5 0h-1v-.75h1v.75Zm1.5 0h-1v-.75h1v.75Zm1.5 0h-1v-.75h1v.75Zm-1-2h1v.75h-1V9.5Zm-1.5 0h1v.75h-1V9.5Zm-1.5 0h1v.75h-1V9.5Zm-1.5 0h1v.75h-1V9.5Z\"}}]})(props);\n};\nexport function BsEmojiGrimace (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6.25c0 .69-.448 1.25-1 1.25s-1-.56-1-1.25S5.448 5 6 5s1 .56 1 1.25Zm3 1.25c.552 0 1-.56 1-1.25S10.552 5 10 5s-1 .56-1 1.25.448 1.25 1 1.25Zm2.98 3.25A1.5 1.5 0 0 1 11.5 12h-7a1.5 1.5 0 0 1-1.48-1.747v-.003A1.5 1.5 0 0 1 4.5 9h7a1.5 1.5 0 0 1 1.48 1.747v.003Zm-8.48.75h.25v-.75H3.531a1 1 0 0 0 .969.75Zm7 0a1 1 0 0 0 .969-.75H11.25v.75h.25Zm.969-1.25a1 1 0 0 0-.969-.75h-.25v.75h1.219ZM4.5 9.5a1 1 0 0 0-.969.75H4.75V9.5H4.5Zm1.75 2v-.75h-1v.75h1Zm.5 0h1v-.75h-1v.75Zm1.5 0h1v-.75h-1v.75Zm1.5 0h1v-.75h-1v.75Zm1-2h-1v.75h1V9.5Zm-1.5 0h-1v.75h1V9.5Zm-1.5 0h-1v.75h1V9.5Zm-1.5 0h-1v.75h1V9.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm0-1A7 7 0 1 1 8 1a7 7 0 0 1 0 14Z\"}}]})(props);\n};\nexport function BsEmojiGrinFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM6.488 7c-.23-.598-.661-1-1.155-1-.493 0-.924.402-1.155 1A2.794 2.794 0 0 1 4 6c0-1.105.597-2 1.333-2 .737 0 1.334.895 1.334 2 0 .364-.065.706-.179 1Zm5.334 0c-.23-.598-.662-1-1.155-1-.494 0-.925.402-1.155 1a2.793 2.793 0 0 1-.179-1c0-1.105.597-2 1.334-2C11.403 4 12 4.895 12 6c0 .364-.065.706-.178 1ZM2.696 8.756a.48.48 0 0 1 .382-.118C4.348 8.786 6.448 9 8 9c1.553 0 3.653-.214 4.922-.362a.48.48 0 0 1 .383.118.3.3 0 0 1 .096.29c-.09.47-.242.921-.445 1.342-.263.035-.576.075-.929.115A36.798 36.798 0 0 1 8 10.75c-1.475 0-2.934-.123-4.027-.247-.353-.04-.666-.08-.93-.115A5.457 5.457 0 0 1 2.6 9.045a.3.3 0 0 1 .097-.29ZM8 13.5a5.49 5.49 0 0 1-4.256-2.017l.116.014c1.115.126 2.615.253 4.14.253 1.525 0 3.025-.127 4.14-.253l.117-.014A5.49 5.49 0 0 1 8 13.5Z\"}}]})(props);\n};\nexport function BsEmojiGrin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.946 11.398A6.002 6.002 0 0 1 2.108 9.14c-.114-.595.426-1.068 1.028-.997C4.405 8.289 6.48 8.5 8 8.5s3.595-.21 4.864-.358c.602-.07 1.142.402 1.028.998a5.953 5.953 0 0 1-.946 2.258Zm-.078-2.25C11.588 9.295 9.539 9.5 8 9.5c-1.54 0-3.589-.205-4.868-.352.11.468.286.91.517 1.317A36.797 36.797 0 0 0 8 10.75a36.796 36.796 0 0 0 4.351-.285c.231-.407.407-.85.517-1.317Zm-1.36 2.416c-1.02.1-2.255.186-3.508.186-1.253 0-2.488-.086-3.507-.186A4.985 4.985 0 0 0 8 13a4.986 4.986 0 0 0 3.507-1.436ZM6.488 7c.114-.294.179-.636.179-1 0-1.105-.597-2-1.334-2C4.597 4 4 4.895 4 6c0 .364.065.706.178 1 .23-.598.662-1 1.155-1 .494 0 .925.402 1.155 1ZM12 6c0 .364-.065.706-.178 1-.23-.598-.662-1-1.155-1-.494 0-.925.402-1.155 1a2.793 2.793 0 0 1-.179-1c0-1.105.597-2 1.334-2C11.403 4 12 4.895 12 6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm0-1A7 7 0 1 1 8 1a7 7 0 0 1 0 14Z\"}}]})(props);\n};\nexport function BsEmojiHeartEyesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.559 5.448a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zm-.07-5.448c1.397-.864 3.543 1.838-.953 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsEmojiHeartEyes (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.315 10.014a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.488 0c1.398-.864 3.544 1.838-.952 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsEmojiKissFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a8 8 0 1 0-2.697 5.99c-.972-.665-1.632-1.356-1.99-2.062-.388-.766-.419-1.561-.075-2.23.496-.97 1.73-1.466 2.762-1.05.65-.262 1.38-.162 1.957.19.028-.275.043-.555.043-.838ZM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5Zm1.512 3.647c-.347.08-.737.198-1.107.319a.5.5 0 1 1-.31-.95c.38-.125.802-.254 1.192-.343.37-.086.78-.153 1.103-.108.16.022.394.085.561.286.188.226.187.497.131.705a1.894 1.894 0 0 1-.31.593c-.077.107-.168.22-.275.343.107.124.199.24.276.347.142.197.256.397.31.595.055.208.056.479-.132.706-.168.2-.404.262-.563.284-.323.043-.733-.027-1.102-.113a14.87 14.87 0 0 1-1.191-.345.5.5 0 1 1 .31-.95c.371.12.761.24 1.109.321.176.041.325.069.446.084a5.609 5.609 0 0 0-.502-.584.5.5 0 0 1 .002-.695 5.52 5.52 0 0 0 .5-.577 4.465 4.465 0 0 0-.448.082Zm.766-.086-.006-.002c.004 0 .006.002.006.002Zm.002 1.867h-.001l-.005.001a.038.038 0 0 1 .006-.002Zm.157-4.685a.5.5 0 0 1-.874-.486A1.934 1.934 0 0 1 10.25 5.75c.73 0 1.356.412 1.687 1.007a.5.5 0 1 1-.874.486.934.934 0 0 0-.813-.493.934.934 0 0 0-.813.493ZM14 9.828c1.11-1.14 3.884.856 0 3.422-3.884-2.566-1.11-4.562 0-3.421Z\"}}]})(props);\n};\nexport function BsEmojiKiss (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.493 13.368a7 7 0 1 1 2.489-4.858c.344.033.68.147.975.328a8 8 0 1 0-2.654 5.152 8.58 8.58 0 0 1-.81-.622Zm-3.731-3.22a13 13 0 0 0-1.107.318.5.5 0 1 1-.31-.95c.38-.125.802-.254 1.192-.343.37-.086.78-.153 1.103-.108.16.022.394.085.561.286.188.226.187.497.131.705a1.892 1.892 0 0 1-.31.593c-.077.107-.168.22-.275.343.107.124.199.24.276.347.142.197.256.397.31.595.055.208.056.479-.132.706-.168.2-.404.262-.563.284-.323.043-.733-.027-1.102-.113a14.87 14.87 0 0 1-1.191-.345.5.5 0 1 1 .31-.95c.371.12.761.24 1.109.321.176.041.325.069.446.084a5.609 5.609 0 0 0-.502-.584.5.5 0 0 1 .002-.695 5.52 5.52 0 0 0 .5-.577 4.465 4.465 0 0 0-.448.082Zm.766-.087-.003-.001-.003-.001c.004 0 .006.002.006.002Zm.002 1.867-.006.001a.038.038 0 0 1 .006-.002ZM6 8c.552 0 1-.672 1-1.5S6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8Zm2.757-.563a.5.5 0 0 0 .68-.194.934.934 0 0 1 .813-.493c.339 0 .645.19.813.493a.5.5 0 0 0 .874-.486A1.934 1.934 0 0 0 10.25 5.75c-.73 0-1.356.412-1.687 1.007a.5.5 0 0 0 .194.68ZM14 9.828c1.11-1.14 3.884.856 0 3.422-3.884-2.566-1.11-4.562 0-3.421Z\"}}]})(props);\n};\nexport function BsEmojiLaughingFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5c0 .501-.164.396-.415.235C6.42 6.629 6.218 6.5 6 6.5c-.218 0-.42.13-.585.235C5.164 6.896 5 7 5 6.5 5 5.672 5.448 5 6 5s1 .672 1 1.5zm5.331 3a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zm-1.746-2.765C10.42 6.629 10.218 6.5 10 6.5c-.218 0-.42.13-.585.235C9.164 6.896 9 7 9 6.5c0-.828.448-1.5 1-1.5s1 .672 1 1.5c0 .501-.164.396-.415.235z\"}}]})(props);\n};\nexport function BsEmojiLaughing (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.331 9.5a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zM7 6.5c0 .828-.448 0-1 0s-1 .828-1 0S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 0-1 0s-1 .828-1 0S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiNeutralFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-3 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiNeutral (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5zm3-4C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 8 10 8s1-.672 1-1.5z\"}}]})(props);\n};\nexport function BsEmojiSmileFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zM4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiSmileUpsideDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zM4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM10 8c-.552 0-1 .672-1 1.5s.448 1.5 1 1.5 1-.672 1-1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiSmileUpsideDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zm0-1a8 8 0 1 1 0 16A8 8 0 0 1 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5z\"}}]})(props);\n};\nexport function BsEmojiSmile (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiSunglassesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM2.31 5.243A1 1 0 0 1 3.28 4H6a1 1 0 0 1 1 1v.116A4.22 4.22 0 0 1 8 5c.35 0 .69.04 1 .116V5a1 1 0 0 1 1-1h2.72a1 1 0 0 1 .97 1.243l-.311 1.242A2 2 0 0 1 11.439 8H11a2 2 0 0 1-1.994-1.839A2.99 2.99 0 0 0 8 6c-.393 0-.74.064-1.006.161A2 2 0 0 1 5 8h-.438a2 2 0 0 1-1.94-1.515L2.31 5.243zM4.969 9.75A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .866-.5z\"}}]})(props);\n};\nexport function BsEmojiSunglasses (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.968 9.75a.5.5 0 1 0-.866.5A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75zM7 5.116V5a1 1 0 0 0-1-1H3.28a1 1 0 0 0-.97 1.243l.311 1.242A2 2 0 0 0 4.561 8H5a2 2 0 0 0 1.994-1.839A2.99 2.99 0 0 1 8 6c.393 0 .74.064 1.006.161A2 2 0 0 0 11 8h.438a2 2 0 0 0 1.94-1.515l.311-1.242A1 1 0 0 0 12.72 4H10a1 1 0 0 0-1 1v.116A4.22 4.22 0 0 0 8 5c-.35 0-.69.04-1 .116z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-1 0A7 7 0 1 0 1 8a7 7 0 0 0 14 0z\"}}]})(props);\n};\nexport function BsEmojiSurpriseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7 5.5C7 4.672 6.552 4 6 4s-1 .672-1 1.5S5.448 7 6 7s1-.672 1-1.5Zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 7 10 7s1-.672 1-1.5ZM8 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}}]})(props);\n};\nexport function BsEmojiSurprise (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5C7 6.328 6.552 7 6 7s-1-.672-1-1.5S5.448 4 6 4s1 .672 1 1.5Zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 4 10 4s1 .672 1 1.5ZM10 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"}}]})(props);\n};\nexport function BsEmojiTearFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.5 3.5a.5.5 0 0 0 .5.5c.838 0 1.65.416 2.053 1.224a.5.5 0 1 0 .894-.448C12.351 3.584 11.162 3 10 3a.5.5 0 0 0-.5.5ZM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5ZM4.5 13c.828 0 1.5-.746 1.5-1.667 0-.706-.882-2.29-1.294-2.99a.238.238 0 0 0-.412 0C3.882 9.044 3 10.628 3 11.334 3 12.253 3.672 13 4.5 13ZM8 11.197c.916 0 1.607.408 2.25.826.212.138.424-.069.282-.277-.564-.83-1.558-2.049-2.532-2.049-.53 0-1.066.361-1.536.824.083.179.162.36.232.535.045.115.092.241.135.373A3.1 3.1 0 0 1 8 11.197ZM10 8c.552 0 1-.672 1-1.5S10.552 5 10 5s-1 .672-1 1.5S9.448 8 10 8ZM6.5 3c-1.162 0-2.35.584-2.947 1.776a.5.5 0 1 0 .894.448C4.851 4.416 5.662 4 6.5 4a.5.5 0 0 0 0-1Z\"}}]})(props);\n};\nexport function BsEmojiTear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.831 11.43A3.1 3.1 0 0 1 8 11.196c.916 0 1.607.408 2.25.826.212.138.424-.069.282-.277-.564-.83-1.558-2.049-2.532-2.049-.53 0-1.066.361-1.536.824.083.179.162.36.232.535.045.115.092.241.135.373ZM6 11.333C6 12.253 5.328 13 4.5 13S3 12.254 3 11.333c0-.706.882-2.29 1.294-2.99a.238.238 0 0 1 .412 0c.412.7 1.294 2.284 1.294 2.99ZM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5Zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5Zm-1.5-3A.5.5 0 0 1 10 3c1.162 0 2.35.584 2.947 1.776a.5.5 0 1 1-.894.448C11.649 4.416 10.838 4 10 4a.5.5 0 0 1-.5-.5ZM7 3.5a.5.5 0 0 0-.5-.5c-1.162 0-2.35.584-2.947 1.776a.5.5 0 1 0 .894.448C4.851 4.416 5.662 4 6.5 4a.5.5 0 0 0 .5-.5Z\"}}]})(props);\n};\nexport function BsEmojiWinkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zM4.285 9.567a.5.5 0 0 0-.183.683A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75.5.5 0 0 0-.683-.183zm5.152-3.31a.5.5 0 0 0-.874.486c.33.595.958 1.007 1.687 1.007.73 0 1.356-.412 1.687-1.007a.5.5 0 0 0-.874-.486.934.934 0 0 1-.813.493.934.934 0 0 1-.813-.493z\"}}]})(props);\n};\nexport function BsEmojiWink (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm1.757-.437a.5.5 0 0 1 .68.194.934.934 0 0 0 .813.493c.339 0 .645-.19.813-.493a.5.5 0 1 1 .874.486A1.934 1.934 0 0 1 10.25 7.75c-.73 0-1.356-.412-1.687-1.007a.5.5 0 0 1 .194-.68z\"}}]})(props);\n};\nexport function BsEnvelopeArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697Zm.192 8.159 6.57-4.027L8 9.586l1.239-.757.367.225A4.49 4.49 0 0 0 8 12.5c0 .526.09 1.03.256 1.5H2a2 2 0 0 1-1.808-1.144ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-1.646a.5.5 0 0 1-.722-.016l-1.149-1.25a.5.5 0 1 1 .737-.676l.28.305V11a.5.5 0 0 1 1 0v1.793l.396-.397a.5.5 0 0 1 .708.708l-1.25 1.25Z\"}}]})(props);\n};\nexport function BsEnvelopeArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4.5a.5.5 0 0 1-1 0V5.383l-7 4.2-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-1.99V4Zm1 7.105 4.708-2.897L1 5.383v5.722ZM1 4v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-1.646a.5.5 0 0 1-.722-.016l-1.149-1.25a.5.5 0 1 1 .737-.676l.28.305V11a.5.5 0 0 1 1 0v1.793l.396-.397a.5.5 0 0 1 .708.708l-1.25 1.25Z\"}}]})(props);\n};\nexport function BsEnvelopeArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697Zm.192 8.159 6.57-4.027L8 9.586l1.239-.757.367.225A4.49 4.49 0 0 0 8 12.5c0 .526.09 1.03.256 1.5H2a2 2 0 0 1-1.808-1.144ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.354 1.25 1.25a.5.5 0 0 1-.708.708L13 12.207V14a.5.5 0 0 1-1 0v-1.717l-.28.305a.5.5 0 0 1-.737-.676l1.149-1.25a.5.5 0 0 1 .722-.016Z\"}}]})(props);\n};\nexport function BsEnvelopeArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4.5a.5.5 0 0 1-1 0V5.383l-7 4.2-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-1.99V4Zm1 7.105 4.708-2.897L1 5.383v5.722ZM1 4v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.354 1.25 1.25a.5.5 0 0 1-.708.708L13 12.207V14a.5.5 0 0 1-1 0v-1.717l-.28.305a.5.5 0 0 1-.737-.676l1.149-1.25a.5.5 0 0 1 .722-.016Z\"}}]})(props);\n};\nexport function BsEnvelopeAtFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2A2 2 0 0 0 .05 3.555L8 8.414l7.95-4.859A2 2 0 0 0 14 2H2Zm-2 9.8V4.698l5.803 3.546L0 11.801Zm6.761-2.97-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 9.671V4.697l-5.803 3.546.338.208A4.482 4.482 0 0 1 12.5 8c1.414 0 2.675.652 3.5 1.671Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.834 12.244c0 1.168-.577 2.025-1.587 2.025-.503 0-1.002-.228-1.12-.648h-.043c-.118.416-.543.643-1.015.643-.77 0-1.259-.542-1.259-1.434v-.529c0-.844.481-1.4 1.26-1.4.585 0 .87.333.953.63h.03v-.568h.905v2.19c0 .272.18.42.411.42.315 0 .639-.415.639-1.39v-.118c0-1.277-.95-2.326-2.484-2.326h-.04c-1.582 0-2.64 1.067-2.64 2.724v.157c0 1.867 1.237 2.654 2.57 2.654h.045c.507 0 .935-.07 1.18-.18v.731c-.219.1-.643.175-1.237.175h-.044C10.438 16 9 14.82 9 12.646v-.214C9 10.36 10.421 9 12.485 9h.035c2.12 0 3.314 1.43 3.314 3.034v.21Zm-4.04.21v.227c0 .586.227.8.581.8.31 0 .564-.17.564-.743v-.367c0-.516-.275-.708-.572-.708-.346 0-.573.245-.573.791Z\"}}]})(props);\n};\nexport function BsEnvelopeAt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.247 14.269c1.01 0 1.587-.857 1.587-2.025v-.21C15.834 10.43 14.64 9 12.52 9h-.035C10.42 9 9 10.36 9 12.432v.214C9 14.82 10.438 16 12.358 16h.044c.594 0 1.018-.074 1.237-.175v-.73c-.245.11-.673.18-1.18.18h-.044c-1.334 0-2.571-.788-2.571-2.655v-.157c0-1.657 1.058-2.724 2.64-2.724h.04c1.535 0 2.484 1.05 2.484 2.326v.118c0 .975-.324 1.39-.639 1.39-.232 0-.41-.148-.41-.42v-2.19h-.906v.569h-.03c-.084-.298-.368-.63-.954-.63-.778 0-1.259.555-1.259 1.4v.528c0 .892.49 1.434 1.26 1.434.471 0 .896-.227 1.014-.643h.043c.118.42.617.648 1.12.648Zm-2.453-1.588v-.227c0-.546.227-.791.573-.791.297 0 .572.192.572.708v.367c0 .573-.253.744-.564.744-.354 0-.581-.215-.581-.8Z\"}}]})(props);\n};\nexport function BsEnvelopeCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1.993-1.679a.5.5 0 0 0-.686.172l-1.17 1.95-.547-.547a.5.5 0 0 0-.708.708l.774.773a.75.75 0 0 0 1.174-.144l1.335-2.226a.5.5 0 0 0-.172-.686Z\"}}]})(props);\n};\nexport function BsEnvelopeCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1.993-1.679a.5.5 0 0 0-.686.172l-1.17 1.95-.547-.547a.5.5 0 0 0-.708.708l.774.773a.75.75 0 0 0 1.174-.144l1.335-2.226a.5.5 0 0 0-.172-.686Z\"}}]})(props);\n};\nexport function BsEnvelopeDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsEnvelopeDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsEnvelopeExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1.5a.5.5 0 0 1-1 0V11a.5.5 0 0 1 1 0Zm0 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsEnvelopeExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1.5a.5.5 0 0 1-1 0V11a.5.5 0 0 1 1 0Zm0 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsEnvelopeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z\"}}]})(props);\n};\nexport function BsEnvelopeHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555l-4.2 2.568a2.785 2.785 0 0 0-.051-.105c-.666-1.3-2.363-1.917-3.699-1.25-1.336-.667-3.033-.05-3.699 1.25l-.05.105L.05 3.555ZM11.584 8.91a4.694 4.694 0 0 1-.073.139L16 11.8V4.697l-4.003 2.447c.027.562-.107 1.163-.413 1.767Zm-4.135 3.05c-1.048-.693-1.84-1.39-2.398-2.082L.19 12.856A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144L10.95 9.878c-.559.692-1.35 1.389-2.398 2.081L8 12.324l-.551-.365ZM4.416 8.91c-.306-.603-.44-1.204-.413-1.766L0 4.697v7.104l4.49-2.752a4.742 4.742 0 0 1-.074-.138Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsEnvelopeHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l3.235 1.94a2.76 2.76 0 0 0-.233 1.027L1 5.384v5.721l3.453-2.124c.146.277.329.556.55.835l-3.97 2.443A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741l-3.968-2.442c.22-.28.403-.56.55-.836L15 11.105V5.383l-3.002 1.801a2.76 2.76 0 0 0-.233-1.026L15 4.217V4a1 1 0 0 0-1-1H2Zm6 2.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsEnvelopeOpenFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.314l6.709 3.932L8 8.928l1.291.718L16 5.714V5.4a2 2 0 0 0-1.059-1.765l-6-3.2ZM16 6.873l-5.693 3.337L16 13.372v-6.5Zm-.059 7.611L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516ZM0 13.373l5.693-3.163L0 6.873v6.5Z\"}}]})(props);\n};\nexport function BsEnvelopeOpenHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.313l4.222 2.475c.024-.058.05-.114.08-.17.665-1.3 2.362-1.917 3.698-1.25 1.336-.667 3.033-.05 3.699 1.25a3.3 3.3 0 0 1 .08.17L16 5.713V5.4a2 2 0 0 0-1.059-1.765l-6-3.2ZM0 6.873l4 2.344c-.012.542.124 1.117.416 1.694l.004.006L0 13.372v-6.5Zm.059 7.611 4.9-2.723c.563.73 1.383 1.467 2.49 2.198l.551.365.551-.365c1.107-.73 1.927-1.467 2.49-2.198l4.9 2.723A2 2 0 0 1 14 16H2a2 2 0 0 1-1.941-1.516ZM16 13.372l-4.42-2.455.004-.006c.292-.577.428-1.152.415-1.694L16 6.873v6.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsEnvelopeOpenHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.47 1.318a1 1 0 0 0-.94 0l-6 3.2A1 1 0 0 0 1 5.4v.817l3.235 1.94a2.76 2.76 0 0 0-.233 1.027L1 7.384v5.733l3.479-2.087c.15.275.335.553.558.83l-4.002 2.402A1 1 0 0 0 2 15h12a1 1 0 0 0 .965-.738l-4.002-2.401c.223-.278.408-.556.558-.831L15 13.117V7.383l-3.002 1.801a2.76 2.76 0 0 0-.233-1.026L15 6.217V5.4a1 1 0 0 0-.53-.882l-6-3.2ZM7.06.435a2 2 0 0 1 1.882 0l6 3.2A2 2 0 0 1 16 5.4V14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5.4a2 2 0 0 1 1.059-1.765l6-3.2ZM8 7.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132Z\"}}]})(props);\n};\nexport function BsEnvelopeOpen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.47 1.318a1 1 0 0 0-.94 0l-6 3.2A1 1 0 0 0 1 5.4v.817l5.75 3.45L8 8.917l1.25.75L15 6.217V5.4a1 1 0 0 0-.53-.882l-6-3.2ZM15 7.383l-4.778 2.867L15 13.117V7.383Zm-.035 6.88L8 10.082l-6.965 4.18A1 1 0 0 0 2 15h12a1 1 0 0 0 .965-.738ZM1 13.116l4.778-2.867L1 7.383v5.734ZM7.059.435a2 2 0 0 1 1.882 0l6 3.2A2 2 0 0 1 16 5.4V14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5.4a2 2 0 0 1 1.059-1.765l6-3.2Z\"}}]})(props);\n};\nexport function BsEnvelopePaperFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 9.5 3 7.5v-6A1.5 1.5 0 0 1 4.5 0h7A1.5 1.5 0 0 1 13 1.5v6l-3.5 2L8 8.75l-1.5.75ZM1.059 3.635 2 3.133v3.753L0 5.713V5.4a2 2 0 0 1 1.059-1.765ZM16 5.713l-2 1.173V3.133l.941.502A2 2 0 0 1 16 5.4v.313Zm0 1.16-5.693 3.337L16 13.372v-6.5Zm-8 3.199 7.941 4.412A2 2 0 0 1 14 16H2a2 2 0 0 1-1.941-1.516L8 10.072Zm-8 3.3 5.693-3.162L0 6.873v6.5Z\"}}]})(props);\n};\nexport function BsEnvelopePaperHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m3 7.5 3.5 2L8 8.75l1.5.75 3.5-2v-6A1.5 1.5 0 0 0 11.5 0h-7A1.5 1.5 0 0 0 3 1.5v6ZM2 3.133l-.941.502A2 2 0 0 0 0 5.4v.313l2 1.173V3.133Zm12 3.753 2-1.173V5.4a2 2 0 0 0-1.059-1.765L14 3.133v3.753Zm-3.693 3.324L16 6.873v6.5l-5.693-3.163Zm5.634 4.274L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516ZM5.693 10.21 0 13.372v-6.5l5.693 3.338ZM8 1.982C9.664.309 13.825 3.236 8 7 2.175 3.236 6.336.31 8 1.982Z\"}}]})(props);\n};\nexport function BsEnvelopePaperHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1.133l.941.502A2 2 0 0 1 16 5.4V14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5.4a2 2 0 0 1 1.059-1.765L2 3.133V2Zm0 2.267-.47.25A1 1 0 0 0 1 5.4v.817l1 .6v-2.55Zm1 3.15 3.75 2.25L8 8.917l1.25.75L13 7.417V2a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v5.417Zm11-.6 1-.6V5.4a1 1 0 0 0-.53-.882L14 4.267v2.55ZM8 2.982C9.664 1.309 13.825 4.236 8 8 2.175 4.236 6.336 1.31 8 2.982Zm7 4.401-4.778 2.867L15 13.117V7.383Zm-.035 6.88L8 10.082l-6.965 4.18A1 1 0 0 0 2 15h12a1 1 0 0 0 .965-.738ZM1 13.116l4.778-2.867L1 7.383v5.734Z\"}}]})(props);\n};\nexport function BsEnvelopePaper (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v1.133l-.941.502A2 2 0 0 0 0 5.4V14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5.4a2 2 0 0 0-1.059-1.765L14 3.133V2a2 2 0 0 0-2-2H4Zm10 4.267.47.25A1 1 0 0 1 15 5.4v.817l-1 .6v-2.55Zm-1 3.15-3.75 2.25L8 8.917l-1.25.75L3 7.417V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v5.417Zm-11-.6-1-.6V5.4a1 1 0 0 1 .53-.882L2 4.267v2.55Zm13 .566v5.734l-4.778-2.867L15 7.383Zm-.035 6.88A1 1 0 0 1 14 15H2a1 1 0 0 1-.965-.738L8 10.083l6.965 4.18ZM1 13.116V7.383l4.778 2.867L1 13.117Z\"}}]})(props);\n};\nexport function BsEnvelopePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsEnvelopePlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsEnvelopeSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.975 10.025a3.5 3.5 0 1 0-4.95 4.95 3.5 3.5 0 0 0 4.95-4.95Zm-4.243.707a2.501 2.501 0 0 1 3.147-.318l-3.465 3.465a2.501 2.501 0 0 1 .318-3.147Zm.39 3.854 3.464-3.465a2.501 2.501 0 0 1-3.465 3.465Z\"}}]})(props);\n};\nexport function BsEnvelopeSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.975 10.025a3.5 3.5 0 1 0-4.95 4.95 3.5 3.5 0 0 0 4.95-4.95Zm-4.243.707a2.501 2.501 0 0 1 3.147-.318l-3.465 3.465a2.501 2.501 0 0 1 .318-3.147Zm.39 3.854 3.464-3.465a2.501 2.501 0 0 1-3.465 3.465Z\"}}]})(props);\n};\nexport function BsEnvelopeXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.026A2 2 0 0 0 2 14h6.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586l-1.239-.757ZM16 4.697v4.974A4.491 4.491 0 0 0 12.5 8a4.49 4.49 0 0 0-1.965.45l-.338-.207L16 4.697Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsEnvelopeX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2H2Zm3.708 6.208L1 11.105V5.383l4.708 2.825ZM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2-7-4.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsEnvelope (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z\"}}]})(props);\n};\nexport function BsEraserFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsEraser (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm2.121.707a1 1 0 0 0-1.414 0L4.16 7.547l5.293 5.293 4.633-4.633a1 1 0 0 0 0-1.414l-3.879-3.879zM8.746 13.547 3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsEscape (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.538 1.02a.5.5 0 1 0-.076.998 6 6 0 1 1-6.445 6.444.5.5 0 0 0-.997.076A7 7 0 1 0 8.538 1.02Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.096 7.828a.5.5 0 0 0 .707-.707L2.707 2.025h2.768a.5.5 0 1 0 0-1H1.5a.5.5 0 0 0-.5.5V5.5a.5.5 0 0 0 1 0V2.732l5.096 5.096Z\"}}]})(props);\n};\nexport function BsEthernet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.5v-7a.5.5 0 0 0-.5-.5H12V4.5a.5.5 0 0 0-.5-.5h-1v-.5A.5.5 0 0 0 10 3H6a.5.5 0 0 0-.5.5V4h-1a.5.5 0 0 0-.5.5V6H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5ZM3.75 11h.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25Zm2 0h.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-1.5ZM9.75 11h.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2ZM1 2a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Z\"}}]})(props);\n};\nexport function BsEvFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679c.033.161.049.325.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.338c-1.292.048-2.745.088-4 .088s-2.708-.04-4-.088V13.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.892c-.61-.454-1-1.183-1-1.997v-.413a2.5 2.5 0 0 1 .049-.49l.335-1.68c.11-.546.465-1.012.964-1.261a.807.807 0 0 0 .381-.404l.792-1.848Zm6.75.51a.186.186 0 0 0-.23.034L6.05 7.246a.188.188 0 0 0 .137.316h1.241l-.673 2.195a.188.188 0 0 0 .085.218c.075.043.17.03.23-.034l2.88-3.187a.188.188 0 0 0-.137-.316H8.572l.782-2.195a.188.188 0 0 0-.085-.218Z\"}}]})(props);\n};\nexport function BsEvFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.354 4.243a.188.188 0 0 0-.085-.218.186.186 0 0 0-.23.034L6.051 7.246a.188.188 0 0 0 .136.316h1.241l-.673 2.195a.188.188 0 0 0 .085.218c.075.043.17.03.23-.034l2.88-3.187a.188.188 0 0 0-.137-.316H8.572l.782-2.195Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.819 2A2.5 2.5 0 0 0 2.52 3.515l-.792 1.848a.807.807 0 0 1-.38.404c-.5.25-.855.715-.965 1.262L.05 8.708a2.5 2.5 0 0 0-.049.49v.413c0 .814.39 1.543 1 1.997V13.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.338c1.292.048 2.745.088 4 .088s2.708-.04 4-.088V13.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.892c.61-.454 1-1.183 1-1.997v-.413c0-.165-.016-.329-.049-.49l-.335-1.68a1.807 1.807 0 0 0-.964-1.261.807.807 0 0 1-.381-.404l-.792-1.848A2.5 2.5 0 0 0 11.181 2H4.82ZM3.44 3.91A1.5 1.5 0 0 1 4.82 3h6.362a1.5 1.5 0 0 1 1.379.91l.792 1.847a1.8 1.8 0 0 0 .853.904c.222.112.381.32.43.564l.336 1.679c.02.097.029.195.029.294v.413a1.48 1.48 0 0 1-1.408 1.484c-1.555.07-3.786.155-5.592.155-1.806 0-4.037-.084-5.592-.155A1.479 1.479 0 0 1 1 9.611v-.413c0-.099.01-.197.03-.294l.335-1.68a.807.807 0 0 1 .43-.563c.383-.19.685-.511.853-.904l.792-1.848Z\"}}]})(props);\n};\nexport function BsEvStationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V9c0-.258-.104-.377-.357-.635l-.007-.008C13.379 8.096 13 7.71 13 7V4a.5.5 0 0 1 .146-.354l.5-.5a.5.5 0 0 1 .708 0l.5.5A.5.5 0 0 1 15 4v8.5a1.5 1.5 0 1 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm2 .5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5Zm2.631 9.96H4.14v-.893h1.403v-.505H4.14v-.855h1.49v-.54H3.485V13h2.146v-.54Zm1.316.54h.794l1.106-3.333h-.733l-.74 2.615h-.031l-.747-2.615h-.764L6.947 13Z\"}}]})(props);\n};\nexport function BsEvStation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm2.131 10.46H4.14v-.893h1.403v-.505H4.14v-.855h1.49v-.54H3.485V13h2.146v-.54Zm1.316.54h.794l1.106-3.333h-.733l-.74 2.615h-.031l-.747-2.615h-.764L6.947 13Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a2 2 0 0 0-2 2v13H.5a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1H11v-4a1 1 0 0 1 1 1v.5a1.5 1.5 0 0 0 3 0V4a.5.5 0 0 0-.146-.354l-.5-.5a.5.5 0 0 0-.707 0l-.5.5A.5.5 0 0 0 13 4v3c0 .71.38 1.096.636 1.357l.007.008c.253.258.357.377.357.635v3.5a.5.5 0 1 1-1 0V12a2 2 0 0 0-2-2V2a2 2 0 0 0-2-2H3Zm7 2v13H2V2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1Z\"}}]})(props);\n};\nexport function BsExclamationCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsExclamationCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationDiamond (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.005 3.1a1 1 0 1 1 1.99 0l-.388 6.35a.61.61 0 0 1-1.214 0L7.005 3.1ZM7 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"}}]})(props);\n};\nexport function BsExclamationOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationTriangleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationTriangle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z\"}}]})(props);\n};\nexport function BsExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclude (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm12 2H5a1 1 0 0 0-1 1v7h7a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsExplicitFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A2.5 2.5 0 0 0 0 2.5v11A2.5 2.5 0 0 0 2.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-11A2.5 2.5 0 0 0 13.5 0h-11Zm4.326 10.88H10.5V12h-5V4.002h5v1.12H6.826V7.4h3.457v1.073H6.826v2.408Z\"}}]})(props);\n};\nexport function BsExplicit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.826 10.88H10.5V12h-5V4.002h5v1.12H6.826V7.4h3.457v1.073H6.826v2.408Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A2.5 2.5 0 0 0 0 2.5v11A2.5 2.5 0 0 0 2.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-11A2.5 2.5 0 0 0 13.5 0h-11ZM1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v11a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5v-11Z\"}}]})(props);\n};\nexport function BsExposure (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4a.5.5 0 0 0-1 0v2h-2a.5.5 0 0 0 0 1h2v2a.5.5 0 0 0 1 0V7h2a.5.5 0 0 0 0-1h-2V4Zm-3 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Z\"}}]})(props);\n};\nexport function BsEyeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsEyeSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsEyeSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsEye (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"}}]})(props);\n};\nexport function BsEyedropper (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z\"}}]})(props);\n};\nexport function BsEyeglasses (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm2.625.547a3 3 0 0 0-5.584.953H.5a.5.5 0 0 0 0 1h.541A3 3 0 0 0 7 8a1 1 0 0 1 2 0 3 3 0 0 0 5.959.5h.541a.5.5 0 0 0 0-1h-.541a3 3 0 0 0-5.584-.953A1.993 1.993 0 0 0 8 6c-.532 0-1.016.208-1.375.547zM14 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsFacebook (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z\"}}]})(props);\n};\nexport function BsFan (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3c0 1.313-.304 2.508-.8 3.4a1.991 1.991 0 0 0-1.484-.38c-.28-.982-.91-2.04-1.838-2.969a8.368 8.368 0 0 0-.491-.454A5.976 5.976 0 0 1 8 2c.691 0 1.355.117 1.973.332.018.219.027.442.027.668Zm0 5c0 .073-.004.146-.012.217 1.018-.019 2.2-.353 3.331-1.006a8.39 8.39 0 0 0 .57-.361 6.004 6.004 0 0 0-2.53-3.823 9.02 9.02 0 0 1-.145.64c-.34 1.269-.944 2.346-1.656 3.079.277.343.442.78.442 1.254Zm-.137.728a2.007 2.007 0 0 1-1.07 1.109c.525.87 1.405 1.725 2.535 2.377.2.116.402.222.605.317a5.986 5.986 0 0 0 2.053-4.111c-.208.073-.421.14-.641.199-1.264.339-2.493.356-3.482.11ZM8 10c-.45 0-.866-.149-1.2-.4-.494.89-.796 2.082-.796 3.391 0 .23.01.457.027.678A5.99 5.99 0 0 0 8 14c.94 0 1.83-.216 2.623-.602a8.359 8.359 0 0 1-.497-.458c-.925-.926-1.555-1.981-1.836-2.96-.094.013-.191.02-.29.02ZM6 8c0-.08.005-.16.014-.239-1.02.017-2.205.351-3.34 1.007a8.366 8.366 0 0 0-.568.359 6.003 6.003 0 0 0 2.525 3.839 8.37 8.37 0 0 1 .148-.653c.34-1.267.94-2.342 1.65-3.075A1.988 1.988 0 0 1 6 8Zm-3.347-.632c1.267-.34 2.498-.355 3.488-.107.196-.494.583-.89 1.07-1.1-.524-.874-1.406-1.733-2.541-2.388a8.363 8.363 0 0 0-.594-.312 5.987 5.987 0 0 0-2.06 4.106c.206-.074.418-.14.637-.199ZM8 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16Z\"}}]})(props);\n};\nexport function BsFastForwardBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2Zm4.271 1.055a.5.5 0 0 1 .52.038L8 7.386V5.5a.5.5 0 0 1 .79-.407l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 8 10.5V8.614l-3.21 2.293A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .271-.445Z\"}}]})(props);\n};\nexport function BsFastForwardBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.79 5.093A.5.5 0 0 0 8 5.5v1.886L4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L8 8.614V10.5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4Z\"}}]})(props);\n};\nexport function BsFastForwardCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM4.79 5.093 8 7.386V5.5a.5.5 0 0 1 .79-.407l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 8 10.5V8.614l-3.21 2.293A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .79-.407Z\"}}]})(props);\n};\nexport function BsFastForwardCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.271 5.055a.5.5 0 0 1 .52.038L8 7.386V5.5a.5.5 0 0 1 .79-.407l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 8 10.5V8.614l-3.21 2.293A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .271-.445Z\"}}]})(props);\n};\nexport function BsFastForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.596 7.304a.802.802 0 0 1 0 1.392l-6.363 3.692C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.596 7.304a.802.802 0 0 1 0 1.392l-6.363 3.692C8.713 12.69 8 12.345 8 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692Z\"}}]})(props);\n};\nexport function BsFastForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.804 8 1 4.633v6.734L6.804 8Zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.804 8 9 4.633v6.734L14.804 8Zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C8.713 12.69 8 12.345 8 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692Z\"}}]})(props);\n};\nexport function BsFeather (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.807.531c-.174-.177-.41-.289-.64-.363a3.765 3.765 0 0 0-.833-.15c-.62-.049-1.394 0-2.252.175C10.365.545 8.264 1.415 6.315 3.1c-1.95 1.686-3.168 3.724-3.758 5.423-.294.847-.44 1.634-.429 2.268.005.316.05.62.154.88.017.04.035.082.056.122A68.362 68.362 0 0 0 .08 15.198a.528.528 0 0 0 .157.72.504.504 0 0 0 .705-.16 67.606 67.606 0 0 1 2.158-3.26c.285.141.616.195.958.182.513-.02 1.098-.188 1.723-.49 1.25-.605 2.744-1.787 4.303-3.642l1.518-1.55a.528.528 0 0 0 0-.739l-.729-.744 1.311.209a.504.504 0 0 0 .443-.15c.222-.23.444-.46.663-.684.663-.68 1.292-1.325 1.763-1.892.314-.378.585-.752.754-1.107.163-.345.278-.773.112-1.188a.524.524 0 0 0-.112-.172ZM3.733 11.62C5.385 9.374 7.24 7.215 9.309 5.394l1.21 1.234-1.171 1.196a.526.526 0 0 0-.027.03c-1.5 1.789-2.891 2.867-3.977 3.393-.544.263-.99.378-1.324.39a1.282 1.282 0 0 1-.287-.018Zm6.769-7.22c1.31-1.028 2.7-1.914 4.172-2.6a6.85 6.85 0 0 1-.4.523c-.442.533-1.028 1.134-1.681 1.804l-.51.524-1.581-.25Zm3.346-3.357C9.594 3.147 6.045 6.8 3.149 10.678c.007-.464.121-1.086.37-1.806.533-1.535 1.65-3.415 3.455-4.976 1.807-1.561 3.746-2.36 5.31-2.68a7.97 7.97 0 0 1 1.564-.173Z\"}}]})(props);\n};\nexport function BsFeather2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.063v9.556L6 8.819V3a2 2 0 0 1 1.5-1.937ZM8 0a3 3 0 0 0-3 3v6a.5.5 0 0 0 .116.32L7.5 12.181V15.5a.5.5 0 0 0 1 0v-3.319l2.384-2.86A.5.5 0 0 0 11 9V3a3 3 0 0 0-3-3Zm.5 1.063A2 2 0 0 1 10 3v.293l-1.5 1.5v-3.73ZM10 4.707V8.82l-1.5 1.8V6.207l1.5-1.5Z\"}}]})(props);\n};\nexport function BsFileArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFileArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.5 6.707 6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707z\"}}]})(props);\n};\nexport function BsFileArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a.5.5 0 0 0 .5-.5V6.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7.5 6.707V10.5a.5.5 0 0 0 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBarGraphFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 11.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFileBarGraph (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1zm3 0a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm3 0a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBinaryFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 9.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.56-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.05 10.885c0 1.415-.548 2.206-1.524 2.206C4.548 13.09 4 12.3 4 10.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V13h-3v-.595h1.181V9.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFileBinary (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 13.09c.976 0 1.524-.79 1.524-2.205 0-1.412-.548-2.203-1.524-2.203-.978 0-1.526.79-1.526 2.203 0 1.415.548 2.206 1.526 2.206zm-.832-2.205c0-1.05.29-1.612.832-1.612.358 0 .607.247.733.721L4.7 11.137a6.749 6.749 0 0 1-.006-.252zm.832 1.614c-.36 0-.606-.246-.732-.718l1.556-1.145c.003.079.005.164.005.249 0 1.052-.29 1.614-.829 1.614zm5.329.501v-.595H9.73V8.772h-.69l-1.19.786v.688L8.986 9.5h.05v2.906h-1.18V13h3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBreakFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v7H2V2a2 2 0 0 1 2-2zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileBreak (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10.5a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zM12 0H4a2 2 0 0 0-2 2v7h1V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v7h1V2a2 2 0 0 0-2-2zm2 12h-1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-2H2v2a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2z\"}}]})(props);\n};\nexport function BsFileCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1.146 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFileCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileCodeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileCode (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0a.5.5 0 1 0-.708.708L10.293 8 8.646 9.646a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileDiffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5a.5.5 0 0 1 1 0zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileDiff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5A.5.5 0 0 1 8 4zm-2.5 6.5A.5.5 0 0 1 6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-1 4v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 11.293V7.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6.5a.5.5 0 0 0-1 0v3.793L6.354 9.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 10.293V6.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.354 9.854a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 8.707V12.5a.5.5 0 0 1-1 0V8.707L6.354 9.854z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 11.5a.5.5 0 0 1-1 0V7.707L6.354 8.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 7.707V11.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBarGraphFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm.5 10v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFileEarmarkBarGraph (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v6zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBinaryFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 10.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-2.45 8.385c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFileEarmarkBinary (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05 11.885c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm-1.524-1.612c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146zm6.061.624V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBreakFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V9H2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileEarmarkBreak (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V9h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v7H2V2a2 2 0 0 1 2-2h5.5L14 4.5zM13 12h1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2h1v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileEarmarkCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm1.354 4.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFileEarmarkCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.854a.5.5 0 0 0-.708-.708L7.5 9.793 6.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkCodeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.646 7.646a.5.5 0 1 1 .708.708L5.707 10l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 10 8.646 8.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkCode (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.646 6.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 9 8.646 7.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 9l1.647-1.646a.5.5 0 0 0 0-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkDiffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8 6a.5.5 0 0 1 .5.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5A.5.5 0 0 1 8 6zm-2.5 6.5A.5.5 0 0 1 6 12h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkDiff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a.5.5 0 0 1 .5.5V7H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V8H6a.5.5 0 0 1 0-1h1.5V5.5A.5.5 0 0 1 8 5zm-2.5 6.5A.5.5 0 0 1 6 11h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkEaselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 6h2A1.5 1.5 0 0 1 12 7.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 11H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 11H5.5A1.5 1.5 0 0 1 4 9.5v-2A1.5 1.5 0 0 1 5.5 6h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkEasel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6a.5.5 0 1 0-1 0h-2A1.5 1.5 0 0 0 4 7.5v2A1.5 1.5 0 0 0 5.5 11h.473l-.447 1.342a.5.5 0 1 0 .948.316L7.027 11H7.5v1a.5.5 0 0 0 1 0v-1h.473l.553 1.658a.5.5 0 1 0 .948-.316L10.027 11h.473A1.5 1.5 0 0 0 12 9.5v-2A1.5 1.5 0 0 0 10.5 6h-2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkExcelFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.884 6.68 8 9.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 10l2.233 2.68a.5.5 0 0 1-.768.64L8 10.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 10 5.116 7.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFileEarmarkExcel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.884 6.68a.5.5 0 1 0-.768.64L7.349 10l-2.233 2.68a.5.5 0 0 0 .768.64L8 10.781l2.116 2.54a.5.5 0 0 0 .768-.641L8.651 10l2.233-2.68a.5.5 0 0 0-.768-.64L8 9.219l-2.116-2.54z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3z\"}}]})(props);\n};\nexport function BsFileEarmarkFontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.057 6h5.886L11 8h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v5.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V6.755l-.293.01C5.856 6.808 5.68 6.905 5.5 8H5l.057-2z\"}}]})(props);\n};\nexport function BsFileEarmarkFont (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.943 6H5.057L5 8h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v5.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V6.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkImageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707v5.586l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zm-1.498 4a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFileEarmarkImage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.502 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5V14zM4 1a1 1 0 0 0-1 1v10l2.224-2.224a.5.5 0 0 1 .61-.075L8 11l2.157-3.02a.5.5 0 0 1 .76-.063L13 10V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4z\"}}]})(props);\n};\nexport function BsFileEarmarkLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7zM6 9.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 9h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 12h-3a.637.637 0 0 1-.395-.125C6.02 11.807 6 11.742 6 11.7V9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileEarmarkLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0zM6 9.3v2.4c0 .042.02.107.105.175A.637.637 0 0 0 6.5 12h3a.64.64 0 0 0 .395-.125c.085-.068.105-.133.105-.175V9.3c0-.042-.02-.107-.105-.175A.637.637 0 0 0 9.5 9h-3a.637.637 0 0 0-.395.125C6.02 9.193 6 9.258 6 9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkLock2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileEarmarkLock2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkMedicalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-3 2v.634l.549-.317a.5.5 0 1 1 .5.866L7 7l.549.317a.5.5 0 1 1-.5.866L6.5 7.866V8.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L5 7l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V5.5a.5.5 0 1 1 1 0zm-2 4.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkMedical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 5.5a.5.5 0 0 0-1 0v.634l-.549-.317a.5.5 0 1 0-.5.866L6 7l-.549.317a.5.5 0 1 0 .5.866l.549-.317V8.5a.5.5 0 1 0 1 0v-.634l.549.317a.5.5 0 1 0 .5-.866L8 7l.549-.317a.5.5 0 1 0-.5-.866l-.549.317V5.5zm-2 4.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 8.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkMusicFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 6.64v1.75l-2 .5v3.61c0 .495-.301.883-.662 1.123C7.974 13.866 7.499 14 7 14c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 11.134 6.501 11 7 11c.356 0 .7.068 1 .196V6.89a1 1 0 0 1 .757-.97l1-.25A1 1 0 0 1 11 6.64z\"}}]})(props);\n};\nexport function BsFileEarmarkMusic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.64a1 1 0 0 0-1.243-.97l-1 .25A1 1 0 0 0 8 6.89v4.306A2.572 2.572 0 0 0 7 11c-.5 0-.974.134-1.338.377-.36.24-.662.628-.662 1.123s.301.883.662 1.123c.364.243.839.377 1.338.377.5 0 .974-.134 1.338-.377.36-.24.662-.628.662-1.123V8.89l2-.5V6.64z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPdfFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 12.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.148 21.148 0 0 0 .5-1.05 12.045 12.045 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.881 3.881 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 6.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM4.165 13.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.651 11.651 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.697 19.697 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFileEarmarkPdf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.603 14.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.697 19.697 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.712 5.712 0 0 1-.911-.95 11.651 11.651 0 0 0-1.997.406 11.307 11.307 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.266.266 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.71 12.71 0 0 1 1.01-.193 11.744 11.744 0 0 1-.51-.858 20.801 20.801 0 0 1-.5 1.05zm2.446.45c.15.163.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.876 3.876 0 0 0-.612-.053zM8.078 7.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z\"}}]})(props);\n};\nexport function BsFileEarmarkPersonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm2 5.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.245S4 12 8 12s5 1.755 5 1.755z\"}}]})(props);\n};\nexport function BsFileEarmarkPerson (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2v9.255S12 12 8 12s-5 1.755-5 1.755V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 6.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V6.884z\"}}]})(props);\n};\nexport function BsFileEarmarkPlay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6.883v4.234a.5.5 0 0 0 .757.429l3.528-2.117a.5.5 0 0 0 0-.858L6.757 6.454a.5.5 0 0 0-.757.43z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 7v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkPostFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1 0-1zm0 3h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkPost (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7zm0-3a.5.5 0 0 1 .5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkPptFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFileEarmarkPpt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7zM8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkRichtextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM7 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V9.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V9s1.54-1.274 1.639-1.208zM5 11h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkRichtext (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z\"}}]})(props);\n};\nexport function BsFileEarmarkRuledFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1H6v2h7v1H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFileEarmarkRuled (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V9H3V2a1 1 0 0 1 1-1h5.5v2zM3 12v-2h2v2H3zm0 1h2v2H4a1 1 0 0 1-1-1v-1zm3 2v-2h7v1a1 1 0 0 1-1 1H6zm7-3H6v-2h7v2z\"}}]})(props);\n};\nexport function BsFileEarmarkSlidesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5 6h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 11h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V11h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 6z\"}}]})(props);\n};\nexport function BsFileEarmarkSlides (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a.5.5 0 0 0-.496.438l-.5 4A.5.5 0 0 0 4.5 11h3v2.016c-.863.055-1.5.251-1.5.484 0 .276.895.5 2 .5s2-.224 2-.5c0-.233-.637-.429-1.5-.484V11h3a.5.5 0 0 0 .496-.562l-.5-4A.5.5 0 0 0 11 6H5zm2 3.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkSpreadsheetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v-2h3v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1h-3v2h3v1h-3v2H9v-2H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFileEarmarkSpreadsheet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V9H3V2a1 1 0 0 1 1-1h5.5v2zM3 12v-2h2v2H3zm0 1h2v2H4a1 1 0 0 1-1-1v-1zm3 2v-2h3v2H6zm4 0v-2h3v1a1 1 0 0 1-1 1h-2zm3-3h-3v-2h3v2zm-7 0v-2h3v2H6z\"}}]})(props);\n};\nexport function BsFileEarmarkTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM4.5 9a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4z\"}}]})(props);\n};\nexport function BsFileEarmarkText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5L9.5 0zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z\"}}]})(props);\n};\nexport function BsFileEarmarkWordFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFileEarmarkWord (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.485 6.879a.5.5 0 1 0-.97.242l1.5 6a.5.5 0 0 0 .967.01L8 9.402l1.018 3.73a.5.5 0 0 0 .967-.01l1.5-6a.5.5 0 0 0-.97-.242l-1.036 4.144-.997-3.655a.5.5 0 0 0-.964 0l-.997 3.655L5.485 6.88z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.854 7.146 8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.854 7.146a.5.5 0 1 0-.708.708L7.293 9l-1.147 1.146a.5.5 0 0 0 .708.708L8 9.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 9l1.147-1.146a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkZipFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.438V8.5h1v.938a1 1 0 0 0 .03.243l.4 1.598-.93.62-.93-.62.4-1.598a1 1 0 0 0 .03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-4-.5V2h-1V1H6v1h1v1H6v1h1v1H6v1h1v1H5.5V6h-1V5h1V4h-1V3h1zm0 4.5h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V8.5a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileEarmarkZip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.11 0l-.929-.62a1 1 0 0 1-.415-1.074L5 8.438V7.5zm2 0H6v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.929-.62-.4-1.598A1 1 0 0 1 7 8.438V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1h-2v1h-1v1h1v1h-1v1h1v1H6V5H5V4h1V3H5V2h1V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmark (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEaselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 5h2A1.5 1.5 0 0 1 12 6.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 10H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 10H5.5A1.5 1.5 0 0 1 4 8.5v-2A1.5 1.5 0 0 1 5.5 5h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEasel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5a.5.5 0 1 0-1 0h-2A1.5 1.5 0 0 0 4 6.5v2A1.5 1.5 0 0 0 5.5 10h.473l-.447 1.342a.5.5 0 1 0 .948.316L7.027 10H7.5v1a.5.5 0 0 0 1 0v-1h.473l.553 1.658a.5.5 0 1 0 .948-.316L10.027 10h.473A1.5 1.5 0 0 0 12 8.5v-2A1.5 1.5 0 0 0 10.5 5h-2zM5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileExcelFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.884 4.68 8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFileExcel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.18 4.616a.5.5 0 0 1 .704.064L8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 0 1 .064-.704z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z\"}}]})(props);\n};\nexport function BsFileFontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.057 4h5.886L11 6h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v6.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V4.755l-.293.01C5.856 4.808 5.68 4.905 5.5 6H5l.057-2z\"}}]})(props);\n};\nexport function BsFileFont (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.943 4H5.057L5 6h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v6.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V4.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileImageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v8.293l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm4.002 5.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFileImage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12V2z\"}}]})(props);\n};\nexport function BsFileLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6zM6 8.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 0 1 1 1v1H7V6a1 1 0 0 1 1-1zm2 2.076V6a2 2 0 1 0-4 0v1.076c-.54.166-1 .597-1 1.224v2.4c0 .816.781 1.3 1.5 1.3h3c.719 0 1.5-.484 1.5-1.3V8.3c0-.627-.46-1.058-1-1.224zM6.105 8.125A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3c0-.042.02-.107.105-.175z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileLock2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileLock2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 0 1 1 1v1H7V6a1 1 0 0 1 1-1zm2 2.076V6a2 2 0 1 0-4 0v1.076c-.54.166-1 .597-1 1.224v2.4c0 .816.781 1.3 1.5 1.3h3c.719 0 1.5-.484 1.5-1.3V8.3c0-.627-.46-1.058-1-1.224z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileMedicalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5a.5.5 0 1 1 1 0zM5.5 9h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileMedical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.5a.5.5 0 0 0-1 0v.634l-.549-.317a.5.5 0 1 0-.5.866L7 6l-.549.317a.5.5 0 1 0 .5.866l.549-.317V7.5a.5.5 0 1 0 1 0v-.634l.549.317a.5.5 0 1 0 .5-.866L9 6l.549-.317a.5.5 0 1 0-.5-.866l-.549.317V4.5zM5.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileMusicFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-.5 4.11v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3a1 1 0 0 1 1.196.98z\"}}]})(props);\n};\nexport function BsFileMusic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.304 3.13a1 1 0 0 1 1.196.98v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilePdfFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 10.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.035 21.035 0 0 0 .5-1.05 11.96 11.96 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.888 3.888 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 4.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.64 11.64 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.707 19.707 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFilePdf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.603 12.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.701 19.701 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.187-.012.395-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.065.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.716 5.716 0 0 1-.911-.95 11.642 11.642 0 0 0-1.997.406 11.311 11.311 0 0 1-1.021 1.51c-.29.35-.608.655-.926.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.27.27 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.647 12.647 0 0 1 1.01-.193 11.666 11.666 0 0 1-.51-.858 20.741 20.741 0 0 1-.5 1.05zm2.446.45c.15.162.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.881 3.881 0 0 0-.612-.053zM8.078 5.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z\"}}]})(props);\n};\nexport function BsFilePersonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z\"}}]})(props);\n};\nexport function BsFilePerson (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v10.755S12 11 8 11s-5 1.755-5 1.755V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFilePlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V5.884z\"}}]})(props);\n};\nexport function BsFilePlay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10.117V5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFilePlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V10a.5.5 0 0 0 1 0V8.5H10a.5.5 0 0 0 0-1H8.5V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFilePostFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM4.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFilePost (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFilePptFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 8.5H7V5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm3 4a1 1 0 0 0-1 1v6.5a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFilePpt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5a1 1 0 0 1 1-1h1.188a2.75 2.75 0 0 1 0 5.5H7v2a.5.5 0 0 1-1 0V5zm1 3.5h1.188a1.75 1.75 0 1 0 0-3.5H7v3.5z\"}}]})(props);\n};\nexport function BsFileRichtextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileRichtext (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileRuledFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7H6v2h8V7zm0 3H6v2h8v-2zm0 3H6v3h6a2 2 0 0 0 2-2v-1zm-9 3v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2z\"}}]})(props);\n};\nexport function BsFileRuled (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v4h10V2a1 1 0 0 0-1-1H4zm9 6H6v2h7V7zm0 3H6v2h7v-2zm0 3H6v2h6a1 1 0 0 0 1-1v-1zm-8 2v-2H3v1a1 1 0 0 0 1 1h1zm-2-3h2v-2H3v2zm0-3h2V7H3v2z\"}}]})(props);\n};\nexport function BsFileSlidesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 9h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V9h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 4z\"}}]})(props);\n};\nexport function BsFileSlides (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a.5.5 0 0 0-.496.438l-.5 4A.5.5 0 0 0 4.5 9h3v2.016c-.863.055-1.5.251-1.5.484 0 .276.895.5 2 .5s2-.224 2-.5c0-.233-.637-.429-1.5-.484V9h3a.5.5 0 0 0 .496-.562l-.5-4A.5.5 0 0 0 11 4H5zm2 3.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileSpreadsheetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7h-4v2h4V7zm0 3h-4v2h4v-2zm0 3h-4v3h2a2 2 0 0 0 2-2v-1zm-5 3v-3H6v3h3zm-4 0v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2zm4 0V7h3v2H6zm0 1h3v2H6v-2z\"}}]})(props);\n};\nexport function BsFileSpreadsheet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v4h10V2a1 1 0 0 0-1-1H4zm9 6h-3v2h3V7zm0 3h-3v2h3v-2zm0 3h-3v2h2a1 1 0 0 0 1-1v-1zm-4 2v-2H6v2h3zm-4 0v-2H3v1a1 1 0 0 0 1 1h1zm-2-3h2v-2H3v2zm0-3h2V7H3v2zm3-2v2h3V7H6zm3 3H6v2h3v-2z\"}}]})(props);\n};\nexport function BsFileTextFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileWordFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.485 4.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFileWord (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.879 4.515a.5.5 0 0 1 .606.364l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 0 1 .364-.606z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.854 6.146 8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 6.146a.5.5 0 0 1 .708 0L8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileZipFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 9.438V8.5h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm2.5 8.5v.938l-.4 1.599a1 1 0 0 0 .416 1.074l.93.62a1 1 0 0 0 1.109 0l.93-.62a1 1 0 0 0 .415-1.074l-.4-1.599V8.5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm1-5.5h-1v1h1v1h-1v1h1v1H9V6H8V5h1V4H8V3h1V2H8V1H6.5v1h1v1z\"}}]})(props);\n};\nexport function BsFileZip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V7.5zm2 0h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm5.5-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9v1H8v1h1v1H8v1h1v1H7.5V5h-1V4h1V3h-1V2h1V1z\"}}]})(props);\n};\nexport function BsFile (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilesAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 0H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2 2 2 0 0 0 2-2V4a2 2 0 0 0-2-2 2 2 0 0 0-2-2zm2 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1V3zM2 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsFiles (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 0H6a2 2 0 0 0-2 2 2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2 2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 13V4a2 2 0 0 0-2-2H5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1zM3 4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z\"}}]})(props);\n};\nexport function BsFiletypeAac (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-5.808 8.554a1.732 1.732 0 0 0-.103.633v.495c0 .246.035.455.103.627a.834.834 0 0 0 .299.393.845.845 0 0 0 .477.131.872.872 0 0 0 .402-.088.699.699 0 0 0 .272-.248.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.136.194-.32.345-.55.454a1.81 1.81 0 0 1-.785.164c-.36 0-.665-.072-.915-.216a1.424 1.424 0 0 1-.57-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.065-.705.196-.978.13-.274.321-.485.571-.633.252-.149.556-.223.912-.223.218 0 .42.032.606.097.187.062.35.153.49.272a1.325 1.325 0 0 1 .465.964v.073h-.765a.85.85 0 0 0-.12-.38.7.7 0 0 0-.272-.261.802.802 0 0 0-.399-.097.814.814 0 0 0-.474.138.868.868 0 0 0-.302.398ZM.8 15.925l.313-1.028H2.45l.314 1.028h.84l-1.335-3.999h-.926l-1.342 4h.8Zm1.002-3.234.489 1.617H1.277l.49-1.617h.035Zm2.63 3.234.313-1.028H6.08l.313 1.028h.841L5.9 11.926h-.926l-1.341 4h.8Zm1.001-3.234.49 1.617H4.909l.49-1.617h.034Z\"}}]})(props);\n};\nexport function BsFiletypeAi (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H6v-1h6a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.113 14.82.8 15.85H0l1.342-3.999h.926l1.336 3.999h-.841l-.314-1.028H1.113Zm1.178-.588-.49-1.617h-.034l-.49 1.617h1.014Zm2.425-2.382v3.999h-.791V11.85h.79Z\"}}]})(props);\n};\nexport function BsFiletypeBmp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM0 15.849h1.664c.272 0 .512-.044.72-.132.21-.09.374-.219.493-.386.12-.168.179-.372.179-.61a.986.986 0 0 0-.123-.51.846.846 0 0 0-.323-.325 1.084 1.084 0 0 0-.445-.14v-.036a1 1 0 0 0 .352-.16.79.79 0 0 0 .243-.294.932.932 0 0 0 .09-.422c0-.308-.107-.55-.322-.723-.215-.174-.5-.261-.858-.261H0v3.999Zm.785-3.404h.7c.186 0 .33.047.431.14.104.092.155.22.155.384a.52.52 0 0 1-.082.296.497.497 0 0 1-.249.185 1.222 1.222 0 0 1-.433.064H.785v-1.07Zm0 1.62h.75c.154 0 .285.024.393.073a.51.51 0 0 1 .24.211.61.61 0 0 1 .082.325c0 .19-.068.334-.205.434-.137.098-.36.146-.671.146H.785v-1.19Zm3.474 1.784v-2.66h.038l.952 2.16h.515l.947-2.16h.038v2.66h.715V11.85h-.8l-1.14 2.596h-.026l-1.14-2.596h-.805v3.999h.706Zm3.918-3.999h1.6c.289 0 .533.06.732.179.201.117.355.276.46.477.106.201.159.427.159.677 0 .25-.054.476-.162.677-.105.199-.26.357-.462.474a1.452 1.452 0 0 1-.733.173h-.803v1.342h-.79V11.85Zm2.06 1.714a.794.794 0 0 0 .085-.381c0-.226-.062-.4-.185-.521-.123-.122-.294-.182-.512-.182h-.66v1.406h.66a.794.794 0 0 0 .375-.082.574.574 0 0 0 .237-.24Z\"}}]})(props);\n};\nexport function BsFiletypeCs (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H8v-1h4a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.629 15.29a1.176 1.176 0 0 1-.112-.449h.765a.578.578 0 0 0 .255.384c.07.049.153.087.249.114.096.028.202.041.32.041.163 0 .301-.023.412-.07a.559.559 0 0 0 .255-.193.507.507 0 0 0 .085-.29.387.387 0 0 0-.152-.326c-.102-.08-.256-.144-.463-.193l-.618-.143a1.72 1.72 0 0 1-.54-.214 1.001 1.001 0 0 1-.35-.367 1.068 1.068 0 0 1-.124-.524c0-.244.064-.457.19-.639.128-.181.303-.322.528-.422.225-.1.483-.149.776-.149.305 0 .565.05.78.152.216.102.383.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.246-.181.923.923 0 0 0-.37-.068c-.216 0-.387.05-.512.152a.472.472 0 0 0-.185.384c0 .121.048.22.144.3a.97.97 0 0 0 .404.175l.621.143c.217.05.405.12.566.211.16.09.285.21.375.358.09.148.134.335.134.56 0 .247-.062.466-.187.656a1.216 1.216 0 0 1-.54.439c-.234.105-.52.158-.858.158a2.21 2.21 0 0 1-.665-.09 1.404 1.404 0 0 1-.477-.252 1.13 1.13 0 0 1-.29-.375Zm-2.72-2.23a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.102.627a.833.833 0 0 0 .299.392.845.845 0 0 0 .478.132.86.86 0 0 0 .4-.088.7.7 0 0 0 .273-.249.799.799 0 0 0 .118-.363h.764v.076a1.27 1.27 0 0 1-.225.674c-.137.193-.32.345-.551.454a1.81 1.81 0 0 1-.785.164c-.36 0-.664-.072-.914-.217a1.424 1.424 0 0 1-.572-.626C.064 14.892 0 14.567 0 14.188v-.498c0-.38.065-.705.196-.979a1.44 1.44 0 0 1 .572-.633c.252-.148.555-.222.91-.222.22 0 .422.032.607.097.188.062.35.153.49.272a1.324 1.324 0 0 1 .465.964v.073h-.764a.85.85 0 0 0-.12-.38.7.7 0 0 0-.273-.261.803.803 0 0 0-.398-.097.814.814 0 0 0-.475.138.868.868 0 0 0-.302.398Z\"}}]})(props);\n};\nexport function BsFiletypeCss (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.397 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252.19.061.411.091.665.091.338 0 .624-.053.859-.158.236-.105.416-.252.539-.44.125-.189.187-.408.187-.656 0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357 2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384.125-.101.296-.152.512-.152.143 0 .266.023.37.068a.624.624 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15-.225.099-.4.24-.527.421-.127.182-.19.395-.19.639 0 .201.04.376.122.524.082.149.2.27.352.367.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326.505.505 0 0 1-.085.29.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399.814.814 0 0 1 .475-.137c.15 0 .283.032.398.097a.7.7 0 0 1 .272.26.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964 1.441 1.441 0 0 0-.489-.272 1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223-.25.148-.44.359-.572.632-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976.131.271.322.48.572.626.25.145.554.217.914.217.293 0 .554-.055.785-.164.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363.7.7 0 0 1-.272.25.874.874 0 0 1-.401.087.845.845 0 0 1-.478-.132.833.833 0 0 1-.299-.392 1.699 1.699 0 0 1-.102-.627v-.495ZM6.78 15.29a1.176 1.176 0 0 1-.111-.449h.764a.578.578 0 0 0 .255.384c.07.049.154.087.25.114.095.028.201.041.319.041.164 0 .301-.023.413-.07a.559.559 0 0 0 .255-.193.507.507 0 0 0 .085-.29.387.387 0 0 0-.153-.326c-.101-.08-.256-.144-.463-.193l-.618-.143a1.72 1.72 0 0 1-.539-.214 1 1 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.527-.422.225-.1.484-.149.777-.149.304 0 .564.05.779.152.217.102.384.239.5.41.12.17.187.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.246-.181.923.923 0 0 0-.37-.068c-.216 0-.387.05-.512.152a.472.472 0 0 0-.184.384c0 .121.047.22.143.3a.97.97 0 0 0 .404.175l.621.143c.217.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Z\"}}]})(props);\n};\nexport function BsFiletypeCsv (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252.19.061.411.091.665.091.338 0 .624-.053.859-.158.236-.105.416-.252.539-.44.125-.189.187-.408.187-.656 0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357 2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384.125-.101.296-.152.512-.152.143 0 .266.023.37.068a.624.624 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15-.225.099-.4.24-.527.421-.127.182-.19.395-.19.639 0 .201.04.376.122.524.082.149.2.27.352.367.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326.505.505 0 0 1-.085.29.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399.814.814 0 0 1 .475-.137c.15 0 .283.032.398.097a.7.7 0 0 1 .272.26.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964 1.441 1.441 0 0 0-.489-.272 1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223-.25.148-.44.359-.572.632-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976.131.271.322.48.572.626.25.145.554.217.914.217.293 0 .554-.055.785-.164.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363.7.7 0 0 1-.272.25.874.874 0 0 1-.401.087.845.845 0 0 1-.478-.132.833.833 0 0 1-.299-.392 1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z\"}}]})(props);\n};\nexport function BsFiletypeDoc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387.877.877 0 0 1-.469.126.883.883 0 0 1-.471-.126.868.868 0 0 1-.32-.386 1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973.137.271.333.48.59.627.257.144.564.216.92.216.357 0 .662-.072.916-.216.256-.147.452-.356.59-.627.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084 0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592 1.141 1.141 0 0 1-.196.422.8.8 0 0 1-.334.252 1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393.845.845 0 0 0 .478.131.868.868 0 0 0 .401-.088.699.699 0 0 0 .273-.248.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978.13-.274.321-.485.571-.633.252-.149.556-.223.911-.223.219 0 .421.032.607.097.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38.7.7 0 0 0-.273-.261.802.802 0 0 0-.398-.097.814.814 0 0 0-.475.138.868.868 0 0 0-.301.398Z\"}}]})(props);\n};\nexport function BsFiletypeDocx (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641.861.861 0 0 0-.322-.387.862.862 0 0 0-.469-.129.868.868 0 0 0-.471.13.868.868 0 0 0-.32.386 1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387.883.883 0 0 0 .471.126.877.877 0 0 0 .469-.126.861.861 0 0 0 .322-.386 1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216 1.463 1.463 0 0 1-.589-.627 2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975.137-.274.333-.483.59-.627.257-.147.564-.22.92-.22.357 0 .662.073.916.22.256.146.452.356.59.63.136.271.204.595.204.972ZM1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235.264.156.46.382.589.68.13.296.196.655.196 1.074 0 .422-.065.784-.196 1.084-.131.301-.33.53-.595.689-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398.814.814 0 0 1 .475-.138c.15 0 .283.032.398.097a.7.7 0 0 1 .273.26.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964 1.44 1.44 0 0 0-.49-.272 1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223-.25.148-.44.359-.571.633-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976.13.271.321.48.571.627.25.144.555.216.914.216.293 0 .555-.054.785-.164.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364.699.699 0 0 1-.273.248.874.874 0 0 1-.401.088.845.845 0 0 1-.478-.131.834.834 0 0 1-.298-.393 1.7 1.7 0 0 1-.103-.627v-.495Zm5.092-1.76h.894l-1.275 2.006 1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015-1.228-1.984h.932l.832 1.439h.035l.823-1.439Z\"}}]})(props);\n};\nexport function BsFiletypeExe (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM2.575 15.202H.785v-1.073H2.47v-.606H.785v-1.025h1.79v-.648H0v3.999h2.575v-.647ZM6.31 11.85h-.893l-.823 1.439h-.036l-.832-1.439h-.931l1.227 1.983-1.239 2.016h.861l.853-1.415h.035l.85 1.415h.908l-1.254-1.992L6.31 11.85Zm1.025 3.352h1.79v.647H6.548V11.85h2.576v.648h-1.79v1.025h1.684v.606H7.334v1.073Z\"}}]})(props);\n};\nexport function BsFiletypeGif (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.278 13.124a1.403 1.403 0 0 0-.14-.492 1.317 1.317 0 0 0-.314-.407 1.447 1.447 0 0 0-.48-.275 1.88 1.88 0 0 0-.636-.1c-.361 0-.67.076-.926.229a1.48 1.48 0 0 0-.583.632 2.136 2.136 0 0 0-.199.95v.506c0 .272.035.52.105.745.07.224.177.417.32.58.142.162.32.288.533.377.215.088.466.132.753.132.268 0 .5-.037.697-.111a1.29 1.29 0 0 0 .788-.77c.065-.174.097-.358.097-.551v-.797H1.717v.589h.823v.255c0 .132-.03.254-.09.363a.67.67 0 0 1-.273.264.967.967 0 0 1-.457.096.87.87 0 0 1-.519-.146.881.881 0 0 1-.305-.413 1.785 1.785 0 0 1-.096-.615v-.499c0-.365.078-.648.234-.85.158-.2.38-.301.665-.301a.96.96 0 0 1 .3.044c.09.03.17.071.236.126a.689.689 0 0 1 .17.19.797.797 0 0 1 .097.25h.776Zm1.353 2.801v-3.999H3.84v4h.79Zm1.493-1.59v1.59h-.791v-3.999H7.88v.653H6.124v1.117h1.605v.638H6.124Z\"}}]})(props);\n};\nexport function BsFiletypeHeic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-4.637 8.554a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .299.393.846.846 0 0 0 .477.131.868.868 0 0 0 .401-.088.698.698 0 0 0 .273-.248.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.129-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978.13-.274.321-.485.571-.633.252-.149.556-.223.911-.223.219 0 .421.032.607.097.187.062.35.153.489.272a1.324 1.324 0 0 1 .466.964v.073h-.765a.85.85 0 0 0-.12-.38.7.7 0 0 0-.273-.261.802.802 0 0 0-.398-.097.814.814 0 0 0-.475.138.868.868 0 0 0-.301.398Zm-6.1-1.128v4h-.79V14.21H.79v1.714H0v-3.999h.791v1.626h1.682v-1.626h.79Zm1.488 3.352h1.79v.647H3.966v-3.999H6.54v.648H4.75v1.025h1.684v.607H4.751v1.072Zm3.163.647v-3.999h-.791v4h.79Z\"}}]})(props);\n};\nexport function BsFiletypeHtml (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-9.736 7.35v3.999h-.791v-1.714H1.79v1.714H1V11.85h.791v1.626h1.682V11.85h.79Zm2.251.662v3.337h-.794v-3.337H4.588v-.662h3.064v.662H6.515Zm2.176 3.337v-2.66h.038l.952 2.159h.516l.946-2.16h.038v2.661h.715V11.85h-.8l-1.14 2.596H9.93L8.79 11.85h-.805v3.999h.706Zm4.71-.674h1.696v.674H12.61V11.85h.79v3.325Z\"}}]})(props);\n};\nexport function BsFiletypeJava (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.521 15.175a1.321 1.321 0 0 1-.082-.466h.765a.577.577 0 0 0 .073.27.499.499 0 0 0 .454.246c.19 0 .33-.055.422-.164.092-.11.138-.265.138-.466V11.85h.79v2.725c0 .44-.118.774-.357 1.005-.236.23-.564.345-.984.345a1.59 1.59 0 0 1-.568-.094 1.144 1.144 0 0 1-.408-.266 1.139 1.139 0 0 1-.243-.39Zm3.972-.354-.314 1.028h-.8l1.342-3.999h.926l1.336 3.999h-.84l-.314-1.028H5.493Zm1.178-.59-.49-1.616h-.035l-.49 1.617h1.015Zm2.342 1.618h.952l1.327-3.999h-.878l-.888 3.138h-.038L8.59 11.85h-.917l1.34 3.999Zm3.087-1.028-.314 1.028h-.8l1.342-3.999h.926l1.336 3.999h-.84l-.314-1.028H12.1Zm1.178-.59-.49-1.616h-.035l-.49 1.617h1.015Z\"}}]})(props);\n};\nexport function BsFiletypeJpg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-4.34 8.132c.076.153.123.317.14.492h-.776a.797.797 0 0 0-.097-.249.689.689 0 0 0-.17-.19.707.707 0 0 0-.237-.126.96.96 0 0 0-.299-.044c-.285 0-.507.1-.665.302-.156.201-.234.484-.234.85v.498c0 .234.032.439.097.615a.881.881 0 0 0 .304.413.87.87 0 0 0 .519.146.967.967 0 0 0 .457-.096.67.67 0 0 0 .272-.264c.06-.11.091-.23.091-.363v-.255H8.24v-.59h1.576v.798c0 .193-.032.377-.097.55a1.29 1.29 0 0 1-.293.458 1.37 1.37 0 0 1-.495.313c-.197.074-.43.111-.697.111a1.98 1.98 0 0 1-.753-.132 1.447 1.447 0 0 1-.533-.377 1.58 1.58 0 0 1-.32-.58 2.482 2.482 0 0 1-.105-.745v-.506c0-.362.066-.678.2-.95.134-.271.328-.482.582-.633.256-.152.565-.228.926-.228.238 0 .45.033.636.1.187.066.347.158.48.275.133.117.238.253.314.407ZM0 14.786c0 .164.027.319.082.465.055.147.136.277.243.39.11.113.245.202.407.267.164.062.354.093.569.093.42 0 .748-.115.984-.345.238-.23.358-.566.358-1.005v-2.725h-.791v2.745c0 .202-.046.357-.138.466-.092.11-.233.164-.422.164a.499.499 0 0 1-.454-.246.577.577 0 0 1-.073-.27H0Zm4.92-2.86H3.322v4h.791v-1.343h.803c.287 0 .531-.057.732-.172.203-.118.358-.276.463-.475.108-.201.161-.427.161-.677 0-.25-.052-.475-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.546 1.333a.795.795 0 0 1-.085.381.574.574 0 0 1-.238.24.794.794 0 0 1-.375.082H4.11v-1.406h.66c.218 0 .389.06.512.182.123.12.185.295.185.521Z\"}}]})(props);\n};\nexport function BsFiletypeJs (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H8v-1h4a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.186 15.29a1.176 1.176 0 0 1-.111-.449h.765a.578.578 0 0 0 .255.384c.07.049.153.087.249.114.095.028.202.041.319.041.164 0 .302-.023.413-.07a.559.559 0 0 0 .255-.193.507.507 0 0 0 .085-.29.387.387 0 0 0-.153-.326c-.101-.08-.255-.144-.462-.193l-.619-.143a1.72 1.72 0 0 1-.539-.214 1.001 1.001 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.528-.422.224-.1.483-.149.776-.149.305 0 .564.05.78.152.216.102.383.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.247-.181.923.923 0 0 0-.369-.068c-.217 0-.388.05-.513.152a.472.472 0 0 0-.184.384c0 .121.048.22.143.3a.97.97 0 0 0 .405.175l.62.143c.218.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Zm-3.104-.033A1.32 1.32 0 0 1 0 14.791h.765a.576.576 0 0 0 .073.27.499.499 0 0 0 .454.246c.19 0 .33-.055.422-.164.092-.11.138-.265.138-.466v-2.745h.79v2.725c0 .44-.119.774-.357 1.005-.236.23-.564.345-.984.345a1.59 1.59 0 0 1-.569-.094 1.145 1.145 0 0 1-.407-.266 1.14 1.14 0 0 1-.243-.39Z\"}}]})(props);\n};\nexport function BsFiletypeJson (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM4.151 15.29a1.176 1.176 0 0 1-.111-.449h.764a.578.578 0 0 0 .255.384c.07.049.154.087.25.114.095.028.201.041.319.041.164 0 .301-.023.413-.07a.559.559 0 0 0 .255-.193.507.507 0 0 0 .084-.29.387.387 0 0 0-.152-.326c-.101-.08-.256-.144-.463-.193l-.618-.143a1.72 1.72 0 0 1-.539-.214 1.001 1.001 0 0 1-.352-.367 1.068 1.068 0 0 1-.123-.524c0-.244.064-.457.19-.639.128-.181.304-.322.528-.422.225-.1.484-.149.777-.149.304 0 .564.05.779.152.217.102.384.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.246-.181.923.923 0 0 0-.37-.068c-.216 0-.387.05-.512.152a.472.472 0 0 0-.185.384c0 .121.048.22.144.3a.97.97 0 0 0 .404.175l.621.143c.217.05.406.12.566.211a1 1 0 0 1 .375.358c.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Zm-3.104-.033a1.32 1.32 0 0 1-.082-.466h.764a.576.576 0 0 0 .074.27.499.499 0 0 0 .454.246c.19 0 .33-.055.422-.164.091-.11.137-.265.137-.466v-2.745h.791v2.725c0 .44-.119.774-.357 1.005-.237.23-.565.345-.985.345a1.59 1.59 0 0 1-.568-.094 1.145 1.145 0 0 1-.407-.266 1.14 1.14 0 0 1-.243-.39Zm9.091-1.585v.522c0 .256-.039.47-.117.641a.862.862 0 0 1-.322.387.877.877 0 0 1-.47.126.883.883 0 0 1-.47-.126.87.87 0 0 1-.32-.387 1.55 1.55 0 0 1-.117-.641v-.522c0-.258.039-.471.117-.641a.87.87 0 0 1 .32-.387.868.868 0 0 1 .47-.129c.177 0 .333.043.47.129a.862.862 0 0 1 .322.387c.078.17.117.383.117.641Zm.803.519v-.513c0-.377-.069-.701-.205-.973a1.46 1.46 0 0 0-.59-.63c-.253-.146-.559-.22-.916-.22-.356 0-.662.074-.92.22a1.441 1.441 0 0 0-.589.628c-.137.271-.205.596-.205.975v.513c0 .375.068.699.205.973.137.271.333.48.589.626.258.145.564.217.92.217.357 0 .663-.072.917-.217.256-.146.452-.355.589-.626.136-.274.205-.598.205-.973Zm1.29-.935v2.675h-.746v-3.999h.662l1.752 2.66h.032v-2.66h.75v4h-.656l-1.761-2.676h-.032Z\"}}]})(props);\n};\nexport function BsFiletypeJsx (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.075 14.841a1.13 1.13 0 0 0 .401.823c.13.108.288.192.478.252.19.061.411.091.665.091.338 0 .624-.053.858-.158.237-.105.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1.001 1.001 0 0 0-.375-.357 2.027 2.027 0 0 0-.565-.21l-.621-.144a.97.97 0 0 1-.405-.176.37.37 0 0 1-.143-.299c0-.156.061-.284.184-.384.125-.101.296-.152.513-.152.143 0 .266.023.37.068a.624.624 0 0 1 .245.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.199-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.552.05-.776.15-.225.099-.4.24-.528.421-.127.182-.19.395-.19.639 0 .201.04.376.123.524.082.149.199.27.351.367.153.095.332.167.54.213l.618.144c.207.049.36.113.462.193a.387.387 0 0 1 .153.326.512.512 0 0 1-.085.29.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07-.117 0-.224-.013-.32-.04a.837.837 0 0 1-.248-.115.578.578 0 0 1-.255-.384h-.765ZM0 14.791c0 .165.027.32.082.466.055.147.136.277.243.39.11.113.245.202.407.267.164.062.354.093.569.093.42 0 .748-.115.984-.346.238-.23.358-.565.358-1.004v-2.725h-.791v2.745c0 .201-.046.357-.138.466-.092.11-.233.164-.422.164a.499.499 0 0 1-.454-.246.576.576 0 0 1-.073-.27H0Zm8.907-2.859H9.8l-1.274 2.007L9.78 15.93h-.908l-.85-1.415h-.035l-.853 1.415h-.861l1.24-2.016-1.228-1.983h.931l.832 1.438h.036l.823-1.438Z\"}}]})(props);\n};\nexport function BsFiletypeKey (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.21 11.85h-.87L.83 13.64H.79v-1.79H0v3.999h.791v-1.283l.41-.466 1.12 1.749h.951l-1.488-2.276 1.427-1.723Zm2.903 3.352h-1.79v-1.073h1.685v-.606H4.323v-1.025h1.79v-.648H3.538v3.999h2.575v-.647Zm2.243-.888v1.535h-.794v-1.52L6.223 11.85H7.1l.853 1.696h.032l.855-1.696h.856l-1.339 2.464Z\"}}]})(props);\n};\nexport function BsFiletypeM4P (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM.706 15.849v-2.66h.038l.952 2.16h.516l.946-2.16h.038v2.66h.715V11.85h-.8l-1.14 2.596h-.026L.805 11.85H0v3.999h.706Zm5.237-3.999c-.262.434-.525.867-.79 1.3-.265.434-.514.87-.748 1.31v.648h1.937v.741h.74v-.741h.49v-.639h-.49V11.85H5.944Zm-.82 2.62v-.021c.18-.34.37-.68.571-1.017.203-.338.405-.666.607-.984h.04v2.021H5.124Zm2.893-2.62h1.6c.289 0 .533.06.732.179.201.117.355.276.46.477.106.201.158.427.158.677 0 .25-.053.476-.16.677-.106.199-.26.357-.464.474a1.452 1.452 0 0 1-.732.173h-.803v1.342h-.79V11.85Zm2.06 1.714a.795.795 0 0 0 .085-.381c0-.226-.062-.4-.185-.521-.123-.122-.294-.182-.513-.182h-.659v1.406h.66a.794.794 0 0 0 .374-.082.574.574 0 0 0 .238-.24Z\"}}]})(props);\n};\nexport function BsFiletypeMd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459c.406 0 .741.078 1.005.234.263.157.46.383.589.68.13.297.196.655.196 1.075 0 .422-.066.784-.196 1.084-.131.301-.33.53-.595.689-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252 1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z\"}}]})(props);\n};\nexport function BsFiletypeMdx (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM.706 15.849v-2.66h.038l.952 2.159h.516l.946-2.16h.038v2.661h.715V11.85h-.8l-1.14 2.596h-.026L.805 11.85H0v3.999h.706Zm3.559-3.999v3.999h1.459c.402 0 .735-.08.999-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084 0-.42-.066-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234h-1.46Zm.79.645h.563c.248 0 .451.05.61.152a.89.89 0 0 1 .354.454c.078.201.117.452.117.753 0 .227-.022.424-.067.592a1.14 1.14 0 0 1-.196.422.8.8 0 0 1-.334.252 1.298 1.298 0 0 1-.484.082h-.562v-2.707Zm4.787-.645h.894L9.46 13.857l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.016L7.22 11.85h.932l.832 1.439h.035l.823-1.439Z\"}}]})(props);\n};\nexport function BsFiletypeMov (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-6.914 9.166v.522c0 .256-.04.47-.117.641a.861.861 0 0 1-.323.387.877.877 0 0 1-.468.126.883.883 0 0 1-.472-.126.869.869 0 0 1-.32-.386 1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.118-.641a.869.869 0 0 1 .319-.387.868.868 0 0 1 .472-.129c.175 0 .332.043.468.13a.861.861 0 0 1 .323.386c.078.17.117.384.117.641Zm.802.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.588-.63c-.254-.147-.56-.22-.917-.22-.356 0-.663.073-.92.22a1.441 1.441 0 0 0-.59.627c-.136.271-.204.596-.204.975v.513c0 .375.068.7.205.973.136.271.333.48.589.627.257.144.564.216.92.216.357 0 .663-.072.917-.216.255-.147.452-.356.588-.627.137-.274.205-.598.205-.973Zm-7.182 1.74v-2.66h.038l.952 2.16h.516l.946-2.16h.038v2.66h.715v-3.999h-.8l-1.14 2.596h-.026l-1.14-2.596H0v4h.706Zm9.54 0h-.952l-1.34-3.999h.918l.896 3.138h.038l.888-3.138h.879l-1.327 4Z\"}}]})(props);\n};\nexport function BsFiletypeMp3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-4.911 9.67h-.443v-.609h.422a.688.688 0 0 0 .322-.073.558.558 0 0 0 .22-.2.505.505 0 0 0 .076-.284.49.49 0 0 0-.176-.392.652.652 0 0 0-.442-.15.74.74 0 0 0-.252.041.625.625 0 0 0-.193.112.496.496 0 0 0-.179.349H7.71c.006-.157.04-.302.102-.437.063-.135.153-.252.27-.352.117-.101.26-.18.428-.237.17-.057.364-.086.583-.088.279-.002.52.042.723.132.203.09.36.214.472.372a.91.91 0 0 1 .173.539.833.833 0 0 1-.12.478.96.96 0 0 1-.619.439v.041a1.008 1.008 0 0 1 .718.434.909.909 0 0 1 .144.521c.002.19-.037.359-.117.507a1.104 1.104 0 0 1-.329.378c-.14.101-.302.18-.486.234-.182.053-.376.08-.583.08-.3 0-.558-.051-.77-.153a1.206 1.206 0 0 1-.487-.41 1.094 1.094 0 0 1-.178-.563h.726a.457.457 0 0 0 .106.258.664.664 0 0 0 .249.179.98.98 0 0 0 .357.067.903.903 0 0 0 .384-.076.598.598 0 0 0 .252-.217.56.56 0 0 0 .088-.319.556.556 0 0 0-.334-.522.81.81 0 0 0-.372-.079ZM.706 15.925v-2.66h.038l.952 2.16h.516l.946-2.16h.038v2.66h.715v-3.999h-.8l-1.14 2.596h-.026l-1.14-2.596H0v4h.706Zm5.458-3.999h-1.6v4h.792v-1.342h.803c.287 0 .53-.058.732-.173.203-.118.357-.276.463-.475a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.475-.158-.677a1.175 1.175 0 0 0-.46-.477 1.4 1.4 0 0 0-.733-.179Zm.545 1.333a.795.795 0 0 1-.085.381.574.574 0 0 1-.237.24.793.793 0 0 1-.375.082h-.66v-1.406h.66c.219 0 .39.06.513.182.123.12.184.295.184.521Z\"}}]})(props);\n};\nexport function BsFiletypeMp4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM.706 15.849v-2.66h.038l.952 2.16h.516l.946-2.16h.038v2.66h.715V11.85h-.8l-1.14 2.596h-.026L.805 11.85H0v3.999h.706Zm5.278-3.999h-1.6v3.999h.792v-1.342h.803c.287 0 .53-.057.732-.173.203-.117.357-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477 1.4 1.4 0 0 0-.733-.179Zm.545 1.333a.795.795 0 0 1-.085.38.574.574 0 0 1-.237.241.794.794 0 0 1-.375.082h-.66V12.48h.66c.219 0 .39.06.513.181.123.122.184.296.184.522Zm1.505-.032c.266-.434.53-.867.791-1.301h1.14v2.62h.49v.638h-.49v.741h-.741v-.741H7.287v-.648c.235-.44.484-.876.747-1.31Zm-.029 1.298v.02h1.219v-2.021h-.041c-.201.318-.404.646-.607.984-.2.338-.391.677-.571 1.017Z\"}}]})(props);\n};\nexport function BsFiletypeOtf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM2.622 13.666v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387.877.877 0 0 1-.47.126.883.883 0 0 1-.47-.126.868.868 0 0 1-.32-.386 1.55 1.55 0 0 1-.117-.642v-.522c0-.257.039-.471.117-.641a.868.868 0 0 1 .32-.387.868.868 0 0 1 .47-.129c.177 0 .333.043.47.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.069-.7-.205-.972a1.46 1.46 0 0 0-.59-.63c-.253-.147-.559-.22-.916-.22-.356 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.137.271-.205.596-.205.975v.513c0 .375.068.7.205.973.137.271.333.48.589.627.258.144.564.216.92.216.357 0 .663-.072.917-.216a1.47 1.47 0 0 0 .589-.627c.136-.274.205-.598.205-.973Zm2 1.74v-3.337H6.56v-.662H3.497v.662H4.63v3.337h.794Zm2.251-1.59v1.59h-.79v-3.999h2.548v.653H7.676v1.117h1.606v.638H7.676Z\"}}]})(props);\n};\nexport function BsFiletypePdf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38.574.574 0 0 1-.238.241.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084 0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592 1.14 1.14 0 0 1-.196.422.8.8 0 0 1-.334.252 1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z\"}}]})(props);\n};\nexport function BsFiletypePhp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38.574.574 0 0 1-.238.241.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181.123.122.185.295.185.522Zm4.48 2.666V11.85h-.79v1.626H4.153V11.85h-.79v3.999h.79v-1.714h1.682v1.714h.79Zm.703-3.999h1.6c.288 0 .533.06.732.179.2.117.354.276.46.477.105.201.158.427.158.677 0 .25-.054.476-.161.677-.106.199-.26.357-.463.474a1.452 1.452 0 0 1-.733.173H8.12v1.342h-.791V11.85Zm2.06 1.714a.795.795 0 0 0 .084-.381c0-.227-.061-.4-.184-.521-.123-.122-.294-.182-.513-.182h-.66v1.406h.66a.794.794 0 0 0 .375-.082.574.574 0 0 0 .237-.24Z\"}}]})(props);\n};\nexport function BsFiletypePng (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-3.76 8.132c.076.153.123.317.14.492h-.776a.797.797 0 0 0-.097-.249.689.689 0 0 0-.17-.19.707.707 0 0 0-.237-.126.96.96 0 0 0-.299-.044c-.285 0-.506.1-.665.302-.156.201-.234.484-.234.85v.498c0 .234.032.439.097.615a.881.881 0 0 0 .304.413.87.87 0 0 0 .519.146.967.967 0 0 0 .457-.096.67.67 0 0 0 .272-.264c.06-.11.091-.23.091-.363v-.255H8.82v-.59h1.576v.798c0 .193-.032.377-.097.55a1.29 1.29 0 0 1-.293.458 1.37 1.37 0 0 1-.495.313c-.197.074-.43.111-.697.111a1.98 1.98 0 0 1-.753-.132 1.447 1.447 0 0 1-.533-.377 1.58 1.58 0 0 1-.32-.58 2.482 2.482 0 0 1-.105-.745v-.506c0-.362.067-.678.2-.95.134-.271.328-.482.582-.633.256-.152.565-.228.926-.228.238 0 .45.033.636.1.187.066.348.158.48.275.133.117.238.253.314.407Zm-8.64-.706H0v4h.791v-1.343h.803c.287 0 .531-.057.732-.172.203-.118.358-.276.463-.475a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.475-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.381.574.574 0 0 1-.238.24.794.794 0 0 1-.375.082H.788v-1.406h.66c.218 0 .389.06.512.182.123.12.185.295.185.521Zm1.964 2.666V13.25h.032l1.761 2.675h.656v-3.999h-.75v2.66h-.032l-1.752-2.66h-.662v4h.747Z\"}}]})(props);\n};\nexport function BsFiletypePpt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38.574.574 0 0 1-.238.241.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173.203-.117.358-.275.463-.474.108-.201.161-.427.161-.677 0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38.574.574 0 0 1-.238.241.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z\"}}]})(props);\n};\nexport function BsFiletypePptx (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.5 11.85h1.6c.289 0 .533.06.732.179.201.117.355.276.46.477.105.201.158.427.158.677 0 .25-.054.476-.16.677-.106.199-.26.357-.464.474a1.452 1.452 0 0 1-.732.173H2.29v1.342H1.5V11.85Zm2.06 1.714a.795.795 0 0 0 .085-.381c0-.226-.062-.4-.185-.521-.123-.122-.294-.182-.513-.182h-.659v1.406h.66a.794.794 0 0 0 .374-.082.574.574 0 0 0 .238-.24Zm1.302-1.714h1.6c.289 0 .533.06.732.179.201.117.355.276.46.477.106.201.158.427.158.677 0 .25-.053.476-.16.677-.106.199-.26.357-.464.474a1.452 1.452 0 0 1-.732.173h-.803v1.342h-.79V11.85Zm2.06 1.714a.795.795 0 0 0 .085-.381c0-.226-.062-.4-.185-.521-.123-.122-.294-.182-.513-.182H5.65v1.406h.66a.793.793 0 0 0 .374-.082.574.574 0 0 0 .238-.24Zm2.852 2.285v-3.337h1.137v-.662H7.846v.662H8.98v3.337h.794Zm3.796-3.999h.893l-1.274 2.007 1.254 1.992h-.908l-.85-1.415h-.035l-.853 1.415h-.861l1.24-2.016-1.228-1.983h.931l.832 1.439h.035l.824-1.439Z\"}}]})(props);\n};\nexport function BsFiletypePsd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-.5v-1h.5a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.116 14.841a1.13 1.13 0 0 0 .401.823c.13.108.288.192.478.252.19.061.411.091.665.091.338 0 .624-.053.858-.158.237-.105.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1 1 0 0 0-.375-.357 2.027 2.027 0 0 0-.565-.21l-.621-.144a.97.97 0 0 1-.405-.176.37.37 0 0 1-.143-.299c0-.156.061-.284.184-.384.125-.101.296-.152.513-.152.143 0 .266.023.37.068a.625.625 0 0 1 .245.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.199-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.552.05-.776.15-.225.099-.4.24-.528.421-.127.182-.19.395-.19.639 0 .201.04.376.123.524.082.149.199.27.351.367.153.095.332.167.54.213l.618.144c.207.049.36.113.462.193a.387.387 0 0 1 .153.326.505.505 0 0 1-.085.29.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07-.117 0-.224-.013-.32-.04a.837.837 0 0 1-.248-.115.578.578 0 0 1-.255-.384h-.765ZM1.6 11.932H0v4h.791v-1.343h.803c.287 0 .531-.057.732-.173.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38.574.574 0 0 1-.238.241.793.793 0 0 1-.375.082H.788v-1.406h.66c.218 0 .389.06.512.182.123.12.185.295.185.521Zm4.609 2.666v-3.999h1.459c.406 0 .74.078 1.004.234.264.157.46.383.59.68.13.297.195.655.195 1.075 0 .422-.065.784-.196 1.084-.13.301-.329.53-.594.689-.264.158-.597.237-1 .237H6.755Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.483-.082a.8.8 0 0 0 .334-.252 1.14 1.14 0 0 0 .197-.422c.045-.168.067-.366.067-.592a2.1 2.1 0 0 0-.117-.753.89.89 0 0 0-.355-.454c-.158-.102-.36-.152-.609-.152Z\"}}]})(props);\n};\nexport function BsFiletypePy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H7v-1h5a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM0 11.85h1.6c.289 0 .533.06.732.179.201.117.355.276.46.477.105.201.158.427.158.677 0 .25-.054.476-.16.677-.106.199-.26.357-.464.474a1.452 1.452 0 0 1-.732.173H.79v1.342H0V11.85Zm2.06 1.714a.795.795 0 0 0 .085-.381c0-.227-.062-.4-.185-.521-.123-.122-.294-.182-.513-.182H.788v1.406h.66a.794.794 0 0 0 .374-.082.574.574 0 0 0 .238-.24Zm2.963.75v1.535H4.23v-1.52L2.89 11.85h.876l.853 1.696h.032l.856-1.696h.855l-1.339 2.464Z\"}}]})(props);\n};\nexport function BsFiletypeRaw (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.597 11.85H0v3.999h.782v-1.491h.71l.7 1.491h1.651l.313-1.028h1.336l.314 1.028h.84L5.31 11.85h-.925l-1.329 3.96-.783-1.572A1.18 1.18 0 0 0 3 13.116c0-.256-.056-.479-.167-.668a1.098 1.098 0 0 0-.478-.44 1.669 1.669 0 0 0-.758-.158Zm-.815 1.913v-1.292h.7a.74.74 0 0 1 .507.17c.13.113.194.276.194.49 0 .21-.065.368-.194.474-.127.105-.3.158-.518.158H.782Zm4.063-1.148.489 1.617H4.32l.49-1.617h.035Zm4.006.445-.74 2.789h-.73L6.326 11.85h.855l.601 2.903h.038l.706-2.903h.683l.706 2.903h.04l.596-2.903h.858l-1.055 3.999h-.73l-.74-2.789H8.85Z\"}}]})(props);\n};\nexport function BsFiletypeRb (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H8v-1h4a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM0 11.85h1.597c.297 0 .55.053.758.158.21.104.369.25.478.44.111.19.167.412.167.668a1.18 1.18 0 0 1-.727 1.122l.803 1.611h-.885l-.7-1.491H.782v1.491H0V11.85Zm.782.621v1.292h.689c.218 0 .391-.053.518-.158.13-.106.194-.264.194-.475 0-.213-.065-.376-.194-.489a.74.74 0 0 0-.507-.17h-.7Zm4.426 3.378H3.544V11.85h1.67c.357 0 .643.087.858.26.215.175.322.416.322.724a.94.94 0 0 1-.09.422.79.79 0 0 1-.244.293 1.002 1.002 0 0 1-.351.161v.035c.162.016.31.063.445.141a.846.846 0 0 1 .322.325.986.986 0 0 1 .123.51c0 .238-.06.441-.178.61-.12.167-.284.296-.492.386a1.85 1.85 0 0 1-.721.132Zm-.179-3.404h-.7v1.07h.521c.178 0 .323-.022.434-.065a.497.497 0 0 0 .249-.185.52.52 0 0 0 .082-.296.486.486 0 0 0-.155-.384c-.102-.093-.245-.14-.43-.14Zm.05 1.62h-.75v1.19h.589c.31 0 .534-.05.67-.147a.503.503 0 0 0 .206-.434.614.614 0 0 0-.082-.325.51.51 0 0 0-.24-.21.946.946 0 0 0-.393-.074Z\"}}]})(props);\n};\nexport function BsFiletypeSass (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.41 15.29a1.176 1.176 0 0 1-.111-.449h.764a.578.578 0 0 0 .255.384.81.81 0 0 0 .25.114c.095.028.201.041.319.041.164 0 .301-.023.413-.07a.559.559 0 0 0 .255-.193.506.506 0 0 0 .084-.29.387.387 0 0 0-.152-.326c-.101-.08-.256-.144-.463-.193l-.618-.143a1.72 1.72 0 0 1-.539-.214 1.001 1.001 0 0 1-.352-.367 1.068 1.068 0 0 1-.123-.524c0-.244.064-.457.19-.639.128-.181.304-.322.528-.422.225-.1.484-.149.777-.149.304 0 .564.05.779.152.217.102.384.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.246-.181.923.923 0 0 0-.37-.068c-.216 0-.387.05-.512.152a.472.472 0 0 0-.185.384c0 .121.048.22.144.3a.97.97 0 0 0 .404.175l.621.143c.217.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Zm4.188-.387-.313 1.028h-.8l1.342-3.999h.926l1.335 4h-.84l-.314-1.03H5.598Zm1.178-.59-.49-1.616h-.034l-.49 1.617h1.014Zm1.352.528a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252.19.061.411.091.665.091.338 0 .624-.053.859-.158.236-.105.416-.252.539-.44.125-.189.187-.408.187-.656 0-.224-.045-.41-.134-.56a1.002 1.002 0 0 0-.375-.357 2.028 2.028 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384.125-.101.296-.152.512-.152.143 0 .266.023.37.068a.623.623 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.093 1.093 0 0 0-.2-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.552.05-.776.15-.225.099-.4.24-.527.421-.127.182-.19.395-.19.639 0 .201.04.376.122.524.082.149.2.27.352.367.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326.505.505 0 0 1-.085.29.558.558 0 0 1-.255.193c-.111.047-.249.07-.413.07-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115.578.578 0 0 1-.255-.384h-.765Zm3.503.449a1.178 1.178 0 0 1-.111-.449h.764a.58.58 0 0 0 .255.384c.07.049.154.087.25.114.095.028.201.041.319.041.164 0 .301-.023.413-.07a.558.558 0 0 0 .255-.193.507.507 0 0 0 .085-.29.387.387 0 0 0-.153-.326c-.101-.08-.256-.144-.463-.193l-.618-.143a1.72 1.72 0 0 1-.539-.214 1.002 1.002 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.527-.422.225-.1.484-.149.777-.149.304 0 .564.05.779.152.217.102.384.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.623.623 0 0 0-.246-.181.923.923 0 0 0-.37-.068c-.216 0-.387.05-.512.152a.472.472 0 0 0-.184.384c0 .121.047.22.143.3a.97.97 0 0 0 .404.175l.621.143c.217.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158a2.19 2.19 0 0 1-.665-.09 1.404 1.404 0 0 1-.478-.252 1.131 1.131 0 0 1-.29-.375Z\"}}]})(props);\n};\nexport function BsFiletypeScss (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.356 15.29a1.176 1.176 0 0 1-.111-.449h.765a.578.578 0 0 0 .255.384c.07.049.153.087.249.114.095.028.202.041.319.041.164 0 .302-.023.413-.07a.559.559 0 0 0 .255-.193.506.506 0 0 0 .085-.29.387.387 0 0 0-.153-.326c-.101-.08-.255-.144-.462-.193l-.619-.143a1.72 1.72 0 0 1-.539-.214 1.001 1.001 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.528-.422.224-.1.483-.149.776-.149.305 0 .564.05.78.152.216.102.383.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.247-.181.923.923 0 0 0-.369-.068c-.217 0-.388.05-.513.152a.472.472 0 0 0-.184.384c0 .121.048.22.143.3a.97.97 0 0 0 .405.175l.62.143c.217.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Zm4.274-2.23a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.833.833 0 0 0 .298.392.846.846 0 0 0 .478.132.868.868 0 0 0 .401-.088.7.7 0 0 0 .273-.249.798.798 0 0 0 .117-.363h.765v.076a1.27 1.27 0 0 1-.226.674 1.39 1.39 0 0 1-.55.454 1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.217a1.424 1.424 0 0 1-.571-.626c-.13-.272-.194-.597-.194-.976v-.498c0-.38.066-.705.197-.979a1.44 1.44 0 0 1 .57-.633c.253-.148.557-.222.912-.222.219 0 .421.032.607.097.187.062.35.153.489.272a1.324 1.324 0 0 1 .466.964v.073h-.765a.85.85 0 0 0-.12-.38.7.7 0 0 0-.273-.261.803.803 0 0 0-.398-.097.814.814 0 0 0-.475.138.868.868 0 0 0-.301.398Zm2.609 1.781a1.13 1.13 0 0 0 .401.823c.129.108.288.192.478.252.19.061.41.091.665.091.338 0 .624-.053.858-.158.236-.105.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1.002 1.002 0 0 0-.375-.357 2.028 2.028 0 0 0-.566-.21l-.62-.144a.97.97 0 0 1-.405-.176.37.37 0 0 1-.143-.299c0-.156.061-.284.184-.384.125-.101.296-.152.513-.152.142 0 .265.023.369.068a.623.623 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.091 1.091 0 0 0-.2-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.292 0-.551.05-.776.15-.224.099-.4.24-.527.421-.127.182-.19.395-.19.639 0 .201.04.376.123.524.082.149.199.27.351.367.152.095.332.167.54.213l.617.144c.207.049.362.113.463.193a.387.387 0 0 1 .153.326.512.512 0 0 1-.085.29.558.558 0 0 1-.255.193 1.07 1.07 0 0 1-.413.07c-.118 0-.224-.013-.32-.04a.837.837 0 0 1-.249-.115.578.578 0 0 1-.255-.384H8.24Zm3.502.449a1.176 1.176 0 0 1-.11-.449h.764a.578.578 0 0 0 .255.384c.07.049.153.087.249.114.095.028.202.041.319.041.164 0 .302-.023.413-.07a.558.558 0 0 0 .255-.193.506.506 0 0 0 .085-.29.387.387 0 0 0-.152-.326c-.102-.08-.256-.144-.463-.193l-.618-.143a1.72 1.72 0 0 1-.54-.214 1.002 1.002 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.528-.422.224-.1.483-.149.776-.149.305 0 .565.05.78.152.216.102.383.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.623.623 0 0 0-.247-.181.923.923 0 0 0-.369-.068c-.217 0-.387.05-.512.152a.472.472 0 0 0-.185.384c0 .121.048.22.143.3a.97.97 0 0 0 .405.175l.62.143c.218.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.062.466-.187.656a1.217 1.217 0 0 1-.54.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.131 1.131 0 0 1-.29-.375Z\"}}]})(props);\n};\nexport function BsFiletypeSh (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H8v-1h4a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM.111 15.29A1.176 1.176 0 0 1 0 14.84h.765a.578.578 0 0 0 .255.384c.07.049.153.087.249.114.095.028.202.041.319.041.164 0 .302-.023.413-.07a.559.559 0 0 0 .255-.193.507.507 0 0 0 .085-.29.387.387 0 0 0-.153-.326c-.101-.08-.255-.144-.462-.193l-.619-.143a1.72 1.72 0 0 1-.539-.214 1.001 1.001 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.528-.422.224-.1.483-.149.776-.149.305 0 .564.05.78.152.216.102.383.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.624.624 0 0 0-.247-.181.923.923 0 0 0-.369-.068c-.217 0-.388.05-.513.152a.472.472 0 0 0-.184.384c0 .121.048.22.143.3a.97.97 0 0 0 .405.175l.62.143c.218.05.406.12.566.211.16.09.285.21.375.358.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Zm6.67-3.358v4h-.79v-1.715H4.308v1.714h-.792v-3.999h.792v1.626H5.99v-1.626h.791Z\"}}]})(props);\n};\nexport function BsFiletypeSql (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM0 14.841a1.129 1.129 0 0 0 .401.823c.13.108.288.192.478.252s.411.091.665.091c.338 0 .624-.053.858-.158.237-.106.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1 1 0 0 0-.375-.357 2.027 2.027 0 0 0-.565-.21l-.621-.144a.97.97 0 0 1-.405-.176.369.369 0 0 1-.143-.299c0-.156.061-.284.184-.384.125-.101.296-.152.513-.152.143 0 .266.022.37.068a.624.624 0 0 1 .245.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.199-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.552.05-.776.15-.225.099-.4.24-.528.421-.127.182-.19.395-.19.639 0 .201.04.376.123.524.082.149.199.27.351.367.153.095.332.167.54.213l.618.144c.207.049.36.113.462.193a.387.387 0 0 1 .153.325c0 .11-.029.207-.085.29A.558.558 0 0 1 2 15.31c-.111.047-.249.07-.413.07-.117 0-.224-.013-.32-.04a.835.835 0 0 1-.248-.115.579.579 0 0 1-.255-.384H0Zm6.878 1.489-.507-.739c.176-.162.31-.362.401-.6.092-.239.138-.507.138-.806v-.501c0-.371-.07-.693-.208-.967a1.495 1.495 0 0 0-.589-.636c-.256-.15-.561-.225-.917-.225-.351 0-.656.075-.914.225-.256.149-.453.36-.592.636a2.138 2.138 0 0 0-.205.967v.5c0 .37.069.691.205.965.139.273.336.485.592.636a1.8 1.8 0 0 0 .914.222 1.8 1.8 0 0 0 .6-.1l.294.422h.788ZM4.262 14.2v-.522c0-.246.038-.456.114-.63a.91.91 0 0 1 .325-.398.885.885 0 0 1 .495-.138c.192 0 .357.046.495.138a.88.88 0 0 1 .325.398c.077.174.115.384.115.63v.522c0 .164-.018.312-.053.445-.035.13-.087.244-.155.34l-.106-.14-.105-.147h-.733l.451.65a.638.638 0 0 1-.251.047.872.872 0 0 1-.487-.147.916.916 0 0 1-.32-.404 1.67 1.67 0 0 1-.11-.644Zm3.986 1.057h1.696v.674H7.457v-3.999h.79v3.325Z\"}}]})(props);\n};\nexport function BsFiletypeSvg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM0 14.841a1.13 1.13 0 0 0 .401.823c.13.108.288.192.478.252.19.061.411.091.665.091.338 0 .624-.053.858-.158.237-.105.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1 1 0 0 0-.375-.357 2.027 2.027 0 0 0-.565-.21l-.621-.144a.97.97 0 0 1-.405-.176.37.37 0 0 1-.143-.299c0-.156.061-.284.184-.384.125-.101.296-.152.513-.152.143 0 .266.023.37.068a.625.625 0 0 1 .245.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.199-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.552.05-.776.15-.225.099-.4.24-.528.421-.127.182-.19.395-.19.639 0 .201.04.376.123.524.082.149.199.27.351.367.153.095.332.167.54.213l.618.144c.207.049.36.113.462.193a.387.387 0 0 1 .153.326.512.512 0 0 1-.085.29.559.559 0 0 1-.256.193c-.111.047-.249.07-.413.07-.117 0-.224-.013-.32-.04a.837.837 0 0 1-.248-.115.578.578 0 0 1-.255-.384H0Zm4.575 1.09h.952l1.327-3.999h-.879l-.887 3.138H5.05l-.897-3.138h-.917l1.339 4Zm5.483-3.293c.076.152.123.316.14.492h-.776a.797.797 0 0 0-.096-.249.689.689 0 0 0-.17-.19.707.707 0 0 0-.237-.126.963.963 0 0 0-.3-.044c-.284 0-.506.1-.664.302-.157.2-.235.484-.235.85v.497c0 .235.033.44.097.616a.881.881 0 0 0 .305.413.87.87 0 0 0 .518.146.965.965 0 0 0 .457-.097.67.67 0 0 0 .273-.263c.06-.11.09-.23.09-.364v-.254h-.823v-.59h1.576v.798c0 .193-.032.377-.096.55a1.29 1.29 0 0 1-.293.457 1.37 1.37 0 0 1-.495.314c-.198.074-.43.111-.698.111a1.98 1.98 0 0 1-.752-.132 1.447 1.447 0 0 1-.534-.377 1.58 1.58 0 0 1-.319-.58 2.482 2.482 0 0 1-.105-.745v-.507c0-.36.066-.677.199-.949.134-.271.329-.482.583-.633.256-.152.564-.228.926-.228.238 0 .45.033.635.1.188.066.348.158.48.275.134.117.238.253.314.407Z\"}}]})(props);\n};\nexport function BsFiletypeTiff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.928 12.512v3.337h-.794v-3.337H0v-.662h3.064v.662H1.928Zm2.131-.662v3.999h-.79V11.85h.79Zm1.373 3.999v-1.59h1.606v-.64H5.432v-1.116H7.19v-.653H4.641v3.999h.791Zm2.868-1.59v1.59h-.791V11.85h2.548v.653H8.3v1.117h1.605v.638H8.3Z\"}}]})(props);\n};\nexport function BsFiletypeTsx (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.172 14.841a1.13 1.13 0 0 0 .401.823c.129.108.288.192.478.252.189.061.41.091.665.091.338 0 .624-.053.858-.158.236-.105.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1.001 1.001 0 0 0-.375-.357 2.027 2.027 0 0 0-.566-.21l-.62-.144a.97.97 0 0 1-.405-.176.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384.125-.101.296-.152.513-.152.142 0 .265.023.369.068a.624.624 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.292 0-.551.05-.776.15-.224.099-.4.24-.527.421-.127.182-.19.395-.19.639 0 .201.04.376.122.524.083.149.2.27.352.367.152.095.332.167.54.213l.617.144c.207.049.362.113.463.193a.387.387 0 0 1 .152.326.511.511 0 0 1-.084.29.559.559 0 0 1-.255.193 1.07 1.07 0 0 1-.413.07c-.118 0-.224-.013-.32-.04a.837.837 0 0 1-.249-.115.578.578 0 0 1-.255-.384h-.764Zm-1.244 1.09v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm7.076-3.999h.893l-1.274 2.007 1.254 1.992h-.909l-.85-1.415h-.034l-.853 1.415H6.37l1.239-2.016-1.228-1.983h.932l.832 1.438h.035l.824-1.438Z\"}}]})(props);\n};\nexport function BsFiletypeTtf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.928 15.849v-3.337h2.269v3.337h.794v-3.337h1.137v-.662H0v.662h1.134v3.337h.794Zm5.315-1.59v1.59h-.791V11.85H9v.653H7.243v1.117h1.605v.638H7.243Z\"}}]})(props);\n};\nexport function BsFiletypeTxt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992 1.274-2.007Zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z\"}}]})(props);\n};\nexport function BsFiletypeWav (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.784 15.849l.741-2.789h.033l.74 2.789h.73l1.055-3.999h-.858l-.595 2.903h-.041l-.706-2.903H2.2l-.706 2.903h-.038l-.6-2.903H0l1.055 3.999h.73Zm3.715 0 .314-1.028h1.336l.313 1.028h.841L6.967 11.85h-.926L4.7 15.849h.8Zm1.002-3.234.49 1.617H5.977l.49-1.617H6.5Zm3.604 3.234h-.952L7.814 11.85h.917l.897 3.138h.038l.888-3.138h.879l-1.328 3.999Z\"}}]})(props);\n};\nexport function BsFiletypeWoff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-5.464 9.688v-.522c0-.257-.04-.471-.117-.641a.861.861 0 0 0-.323-.387.862.862 0 0 0-.468-.129.868.868 0 0 0-.472.13.868.868 0 0 0-.32.386c-.077.17-.116.384-.116.641v.522c0 .256.039.47.117.641a.866.866 0 0 0 .319.387.883.883 0 0 0 .472.126.877.877 0 0 0 .468-.126.861.861 0 0 0 .323-.386 1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.069.7-.205.973-.137.271-.333.48-.59.627-.253.144-.559.216-.916.216-.356 0-.662-.072-.92-.216a1.463 1.463 0 0 1-.59-.627 2.151 2.151 0 0 1-.204-.973v-.513c0-.379.068-.704.205-.975.137-.274.333-.483.589-.627.258-.147.564-.22.92-.22.357 0 .663.073.917.22.256.146.452.356.589.63.136.271.205.595.205.972Zm-6.064-.536-.74 2.79h-.73l-1.055-4h.855l.601 2.903h.038l.706-2.903h.683l.706 2.903h.04l.596-2.903h.858l-1.055 4h-.73l-.74-2.79h-.033Zm7.398 2.79v-1.592h1.606v-.638h-1.606v-1.117h1.758v-.653H9.882v4h.791Zm2.988-1.592v1.591h-.791v-3.999h2.548v.653h-1.757v1.117h1.605v.638h-1.605Z\"}}]})(props);\n};\nexport function BsFiletypeXls (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM6.472 15.29a1.176 1.176 0 0 1-.111-.449h.765a.578.578 0 0 0 .254.384c.07.049.154.087.25.114.095.028.202.041.319.041.164 0 .302-.023.413-.07a.559.559 0 0 0 .255-.193.507.507 0 0 0 .085-.29.387.387 0 0 0-.153-.326c-.101-.08-.255-.144-.462-.193l-.619-.143a1.72 1.72 0 0 1-.539-.214 1.001 1.001 0 0 1-.351-.367 1.068 1.068 0 0 1-.123-.524c0-.244.063-.457.19-.639.127-.181.303-.322.527-.422.225-.1.484-.149.777-.149.305 0 .564.05.78.152.216.102.383.239.5.41.12.17.186.359.2.566h-.75a.56.56 0 0 0-.12-.258.625.625 0 0 0-.247-.181.923.923 0 0 0-.369-.068c-.217 0-.388.05-.513.152a.472.472 0 0 0-.184.384c0 .121.048.22.143.3a.97.97 0 0 0 .405.175l.62.143c.217.05.406.12.566.211a1 1 0 0 1 .375.358c.09.148.135.335.135.56 0 .247-.063.466-.188.656a1.216 1.216 0 0 1-.539.439c-.234.105-.52.158-.858.158-.254 0-.476-.03-.665-.09a1.404 1.404 0 0 1-.478-.252 1.13 1.13 0 0 1-.29-.375Zm-2.945-3.358h-.893L1.81 13.37h-.036l-.832-1.438h-.93l1.227 1.983L0 15.931h.861l.853-1.415h.035l.85 1.415h.908L2.253 13.94l1.274-2.007Zm2.727 3.325H4.557v-3.325h-.79v4h2.487v-.675Z\"}}]})(props);\n};\nexport function BsFiletypeXlsx (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM7.86 14.841a1.13 1.13 0 0 0 .401.823c.13.108.29.192.479.252.19.061.411.091.665.091.338 0 .624-.053.858-.158.237-.105.416-.252.54-.44a1.17 1.17 0 0 0 .187-.656c0-.224-.045-.41-.135-.56a1.002 1.002 0 0 0-.375-.357 2.028 2.028 0 0 0-.565-.21l-.621-.144a.97.97 0 0 1-.405-.176.37.37 0 0 1-.143-.299c0-.156.061-.284.184-.384.125-.101.296-.152.513-.152.143 0 .266.023.37.068a.624.624 0 0 1 .245.181.56.56 0 0 1 .12.258h.75a1.093 1.093 0 0 0-.199-.566 1.21 1.21 0 0 0-.5-.41 1.813 1.813 0 0 0-.78-.152c-.293 0-.552.05-.777.15-.224.099-.4.24-.527.421-.127.182-.19.395-.19.639 0 .201.04.376.123.524.082.149.199.27.351.367.153.095.332.167.54.213l.618.144c.207.049.36.113.462.193a.387.387 0 0 1 .153.326.512.512 0 0 1-.085.29.558.558 0 0 1-.255.193c-.111.047-.25.07-.413.07-.117 0-.224-.013-.32-.04a.837.837 0 0 1-.249-.115.578.578 0 0 1-.255-.384h-.764Zm-3.726-2.909h.893l-1.274 2.007 1.254 1.992h-.908l-.85-1.415h-.035l-.853 1.415H1.5l1.24-2.016-1.228-1.983h.931l.832 1.438h.036l.823-1.438Zm1.923 3.325h1.697v.674H5.266v-3.999h.791v3.325Zm7.636-3.325h.893l-1.274 2.007 1.254 1.992h-.908l-.85-1.415h-.035l-.853 1.415h-.861l1.24-2.016-1.228-1.983h.931l.832 1.438h.036l.823-1.438Z\"}}]})(props);\n};\nexport function BsFiletypeXml (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.527 11.85h-.893l-.823 1.439h-.036L.943 11.85H.012l1.227 1.983L0 15.85h.861l.853-1.415h.035l.85 1.415h.908l-1.254-1.992 1.274-2.007Zm.954 3.999v-2.66h.038l.952 2.159h.516l.946-2.16h.038v2.661h.715V11.85h-.8l-1.14 2.596h-.025L4.58 11.85h-.806v3.999h.706Zm4.71-.674h1.696v.674H8.4V11.85h.791v3.325Z\"}}]})(props);\n};\nexport function BsFiletypeYml (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM2.133 15.849v-1.535l1.339-2.464h-.856l-.855 1.696h-.032L.876 11.85H0l1.339 2.479v1.52h.794Zm2.287 0v-2.66h.038l.952 2.159h.516l.946-2.16h.038v2.661h.715V11.85h-.8l-1.14 2.596H5.66L4.52 11.85h-.805v3.999h.706Zm4.71-.674h1.696v.674H8.338V11.85h.791v3.325Z\"}}]})(props);\n};\nexport function BsFilm (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0v6h8V1H4zm8 8H4v6h8V9zM1 1v2h2V1H1zm2 3H1v2h2V4zM1 7v2h2V7H1zm2 3H1v2h2v-2zm-2 3v2h2v-2H1zM15 1h-2v2h2V1zm-2 3v2h2V4h-2zm2 3h-2v2h2V7zm-2 3v2h2v-2h-2zm2 3h-2v2h2v-2z\"}}]})(props);\n};\nexport function BsFilterCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM3.5 5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zM5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsFilterSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm.5 5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1zM4 8.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFingerprint (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.06 6.5a.5.5 0 0 1 .5.5v.776a11.5 11.5 0 0 1-.552 3.519l-1.331 4.14a.5.5 0 0 1-.952-.305l1.33-4.141a10.5 10.5 0 0 0 .504-3.213V7a.5.5 0 0 1 .5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.06 7a2 2 0 1 1 4 0 .5.5 0 1 1-1 0 1 1 0 1 0-2 0v.332c0 .409-.022.816-.066 1.221A.5.5 0 0 1 6 8.447c.04-.37.06-.742.06-1.115V7Zm3.509 1a.5.5 0 0 1 .487.513 11.5 11.5 0 0 1-.587 3.339l-1.266 3.8a.5.5 0 0 1-.949-.317l1.267-3.8a10.5 10.5 0 0 0 .535-3.048A.5.5 0 0 1 9.569 8Zm-3.356 2.115a.5.5 0 0 1 .33.626L5.24 14.939a.5.5 0 1 1-.955-.296l1.303-4.199a.5.5 0 0 1 .625-.329Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.759 5.833A3.501 3.501 0 0 1 11.559 7a.5.5 0 0 1-1 0 2.5 2.5 0 0 0-4.857-.833.5.5 0 1 1-.943-.334Zm.3 1.67a.5.5 0 0 1 .449.546 10.72 10.72 0 0 1-.4 2.031l-1.222 4.072a.5.5 0 1 1-.958-.287L4.15 9.793a9.72 9.72 0 0 0 .363-1.842.5.5 0 0 1 .546-.449Zm6 .647a.5.5 0 0 1 .5.5c0 1.28-.213 2.552-.632 3.762l-1.09 3.145a.5.5 0 0 1-.944-.327l1.089-3.145c.382-1.105.578-2.266.578-3.435a.5.5 0 0 1 .5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.902 4.222a4.996 4.996 0 0 1 5.202-2.113.5.5 0 0 1-.208.979 3.996 3.996 0 0 0-4.163 1.69.5.5 0 0 1-.831-.556Zm6.72-.955a.5.5 0 0 1 .705-.052A4.99 4.99 0 0 1 13.059 7v1.5a.5.5 0 1 1-1 0V7a3.99 3.99 0 0 0-1.386-3.028.5.5 0 0 1-.051-.705ZM3.68 5.842a.5.5 0 0 1 .422.568c-.029.192-.044.39-.044.59 0 .71-.1 1.417-.298 2.1l-1.14 3.923a.5.5 0 1 1-.96-.279L2.8 8.821A6.531 6.531 0 0 0 3.058 7c0-.25.019-.496.054-.736a.5.5 0 0 1 .568-.422Zm8.882 3.66a.5.5 0 0 1 .456.54c-.084 1-.298 1.986-.64 2.934l-.744 2.068a.5.5 0 0 1-.941-.338l.745-2.07a10.51 10.51 0 0 0 .584-2.678.5.5 0 0 1 .54-.456Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.81 1.37A6.5 6.5 0 0 1 14.56 7a.5.5 0 1 1-1 0 5.5 5.5 0 0 0-8.25-4.765.5.5 0 0 1-.5-.865Zm-.89 1.257a.5.5 0 0 1 .04.706A5.478 5.478 0 0 0 2.56 7a.5.5 0 0 1-1 0c0-1.664.626-3.184 1.655-4.333a.5.5 0 0 1 .706-.04ZM1.915 8.02a.5.5 0 0 1 .346.616l-.779 2.767a.5.5 0 1 1-.962-.27l.778-2.767a.5.5 0 0 1 .617-.346Zm12.15.481a.5.5 0 0 1 .49.51c-.03 1.499-.161 3.025-.727 4.533l-.07.187a.5.5 0 0 1-.936-.351l.07-.187c.506-1.35.634-2.74.663-4.202a.5.5 0 0 1 .51-.49Z\"}}]})(props);\n};\nexport function BsFire (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16c3.314 0 6-2 6-5.5 0-1.5-.5-4-2.5-6 .25 1.5-1.25 2-1.25 2C11 4 9 .5 6 0c.357 2 .5 4-2 6-1.25 1-2 2.729-2 4.5C2 14 4.686 16 8 16Zm0-1c-1.657 0-3-1-3-2.75 0-.75.25-2 1.25-3C6.125 10 7 10.5 7 10.5c-.375-1.25.5-3.25 2-3.5-.179 1-.25 2 1 3 .625.5 1 1.364 1 2.25C11 14 9.657 15 8 15Z\"}}]})(props);\n};\nexport function BsFlagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001\"}}]})(props);\n};\nexport function BsFlag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001M14 1.221c-.22.078-.48.167-.766.255-.81.252-1.872.523-2.734.523-.886 0-1.592-.286-2.203-.534l-.008-.003C7.662 1.21 7.139 1 6.5 1c-.669 0-1.606.229-2.415.478A21.294 21.294 0 0 0 3 1.845v6.433c.22-.078.48-.167.766-.255C4.576 7.77 5.638 7.5 6.5 7.5c.847 0 1.548.28 2.158.525l.028.01C9.32 8.29 9.86 8.5 10.5 8.5c.668 0 1.606-.229 2.415-.478A21.317 21.317 0 0 0 14 7.655V1.222z\"}}]})(props);\n};\nexport function BsFloppyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0H3v5.5A1.5 1.5 0 0 0 4.5 7h7A1.5 1.5 0 0 0 13 5.5V0h.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5H14v-5.5A1.5 1.5 0 0 0 12.5 9h-9A1.5 1.5 0 0 0 2 10.5V16h-.5A1.5 1.5 0 0 1 0 14.5v-13Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16h10v-5.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V16Zm9-16H4v5.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V0ZM9 1h2v4H9V1Z\"}}]})(props);\n};\nexport function BsFloppy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2H9v3h2V2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0ZM1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5Zm3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4v4.5ZM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V15Z\"}}]})(props);\n};\nexport function BsFloppy2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2h-2v3h2V2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v13A1.5 1.5 0 0 0 1.5 16h13a1.5 1.5 0 0 0 1.5-1.5V2.914a1.5 1.5 0 0 0-.44-1.06L14.147.439A1.5 1.5 0 0 0 13.086 0H1.5ZM4 6a1 1 0 0 1-1-1V1h10v4a1 1 0 0 1-1 1H4ZM3 9h10a1 1 0 0 1 1 1v5H2v-5a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsFloppy2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0ZM1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v3.5A1.5 1.5 0 0 1 11.5 6h-7A1.5 1.5 0 0 1 3 4.5V1H1.5a.5.5 0 0 0-.5.5Zm9.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-1Z\"}}]})(props);\n};\nexport function BsFlower1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164 2 2 0 0 1 0 3.652 2 2 0 0 1-1.826 3.164 2 2 0 0 1-3.164 1.826 2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164 2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826zM8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296.049.241.122.542.213.887.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1zM2 9l.03-.002.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676 16.705 16.705 0 0 0-.887-.213 4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2zm7 5-.002-.03a5.005 5.005 0 0 0-.064-.386 16.398 16.398 0 0 0-.213-.888 60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0zm-5.696-2.134.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147-.11.102a60.848 60.848 0 0 0-1.743 1.667 17.07 17.07 0 0 0-.629.66 5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366zm9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248 16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138.53.53 0 0 0 .027-.014zM11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366zM14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064L14 9zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033-.103-.111a60.584 60.584 0 0 0-1.666-1.742 16.705 16.705 0 0 0-.66-.629 4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366zm2.196-1.196.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1zm9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366zm-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303 16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367.575.575 0 0 0 .014.027zM8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsFlower2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a4 4 0 0 0 4-4 4 4 0 0 0 0-8 4 4 0 0 0-8 0 4 4 0 1 0 0 8 4 4 0 0 0 4 4zm3-12c0 .073-.01.155-.03.247-.544.241-1.091.638-1.598 1.084A2.987 2.987 0 0 0 8 5c-.494 0-.96.12-1.372.331-.507-.446-1.054-.843-1.597-1.084A1.117 1.117 0 0 1 5 4a3 3 0 0 1 6 0zm-.812 6.052A2.99 2.99 0 0 0 11 8a2.99 2.99 0 0 0-.812-2.052c.215-.18.432-.346.647-.487C11.34 5.131 11.732 5 12 5a3 3 0 1 1 0 6c-.268 0-.66-.13-1.165-.461a6.833 6.833 0 0 1-.647-.487zm-3.56.617a3.001 3.001 0 0 0 2.744 0c.507.446 1.054.842 1.598 1.084.02.091.03.174.03.247a3 3 0 1 1-6 0c0-.073.01-.155.03-.247.544-.242 1.091-.638 1.598-1.084zm-.816-4.721A2.99 2.99 0 0 0 5 8c0 .794.308 1.516.812 2.052a6.83 6.83 0 0 1-.647.487C4.66 10.869 4.268 11 4 11a3 3 0 0 1 0-6c.268 0 .66.13 1.165.461.215.141.432.306.647.487zM8 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFlower3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.424 8c.437-.052.811-.136 1.04-.268a2 2 0 0 0-2-3.464c-.229.132-.489.414-.752.767C9.886 4.63 10 4.264 10 4a2 2 0 1 0-4 0c0 .264.114.63.288 1.035-.263-.353-.523-.635-.752-.767a2 2 0 0 0-2 3.464c.229.132.603.216 1.04.268-.437.052-.811.136-1.04.268a2 2 0 1 0 2 3.464c.229-.132.489-.414.752-.767C6.114 11.37 6 11.736 6 12a2 2 0 1 0 4 0c0-.264-.114-.63-.288-1.035.263.353.523.635.752.767a2 2 0 1 0 2-3.464c-.229-.132-.603-.216-1.04-.268zM9 4a1.468 1.468 0 0 1-.045.205c-.039.132-.1.295-.183.484a12.88 12.88 0 0 1-.637 1.223L8 6.142a21.73 21.73 0 0 1-.135-.23 12.88 12.88 0 0 1-.637-1.223 4.216 4.216 0 0 1-.183-.484A1.473 1.473 0 0 1 7 4a1 1 0 1 1 2 0zM3.67 5.5a1 1 0 0 1 1.366-.366 1.472 1.472 0 0 1 .156.142c.094.1.204.233.326.4.245.333.502.747.742 1.163l.13.232a21.86 21.86 0 0 1-.265.002 12.88 12.88 0 0 1-1.379-.06 4.214 4.214 0 0 1-.51-.083 1.47 1.47 0 0 1-.2-.064A1 1 0 0 1 3.67 5.5zm1.366 5.366a1 1 0 0 1-1-1.732c.001 0 .016-.008.047-.02.037-.013.087-.028.153-.044.134-.032.305-.06.51-.083a12.88 12.88 0 0 1 1.379-.06c.09 0 .178 0 .266.002a21.82 21.82 0 0 1-.131.232c-.24.416-.497.83-.742 1.163a4.1 4.1 0 0 1-.327.4 1.483 1.483 0 0 1-.155.142zM9 12a1 1 0 0 1-2 0 1.476 1.476 0 0 1 .045-.206c.039-.131.1-.294.183-.483.166-.378.396-.808.637-1.223L8 9.858l.135.23c.241.415.47.845.637 1.223.083.19.144.352.183.484A1.338 1.338 0 0 1 9 12zm3.33-6.5a1 1 0 0 1-.366 1.366 1.478 1.478 0 0 1-.2.064c-.134.032-.305.06-.51.083-.412.045-.898.061-1.379.06-.09 0-.178 0-.266-.002l.131-.232c.24-.416.497-.83.742-1.163a4.1 4.1 0 0 1 .327-.4c.046-.05.085-.086.114-.11.026-.022.04-.03.041-.032a1 1 0 0 1 1.366.366zm-1.366 5.366a1.494 1.494 0 0 1-.155-.141 4.225 4.225 0 0 1-.327-.4A12.88 12.88 0 0 1 9.74 9.16a22 22 0 0 1-.13-.232l.265-.002c.48-.001.967.015 1.379.06.205.023.376.051.51.083.066.016.116.031.153.044l.048.02a1 1 0 1 1-1 1.732zM8 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFolderCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854 10.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.707 0l-1.5-1.5a.5.5 0 0 1 .707-.708l1.146 1.147 2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFolderFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3zm-8.322.12C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139z\"}}]})(props);\n};\nexport function BsFolderMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFolderPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2Zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 9a.5.5 0 0 1 .5.5V11h1.5a.5.5 0 1 1 0 1H14v1.5a.5.5 0 1 1-1 0V12h-1.5a.5.5 0 0 1 0-1H13V9.5a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsFolderSymlinkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2l.04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3zM2.19 3c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293L7.586 3H2.19zm9.608 5.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}}]})(props);\n};\nexport function BsFolderSymlink (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.798 8.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm.694 2.09A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09l-.636 7a1 1 0 0 1-.996.91H2.826a1 1 0 0 1-.995-.91l-.637-7zM6.172 2a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}}]})(props);\n};\nexport function BsFolderX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zm6.339-1.577A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.854 10.146a.5.5 0 0 0-.707.708L12.293 12l-1.146 1.146a.5.5 0 0 0 .707.708L13 12.707l1.146 1.147a.5.5 0 0 0 .708-.708L13.707 12l1.147-1.146a.5.5 0 0 0-.707-.708L13 11.293l-1.146-1.147z\"}}]})(props);\n};\nexport function BsFolder (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zM2.19 4a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91h10.348a1 1 0 0 0 .995-.91l.637-7A1 1 0 0 0 13.81 4H2.19zm4.69-1.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z\"}}]})(props);\n};\nexport function BsFolder2Open (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v.64c.57.265.94.876.856 1.546l-.64 5.124A2.5 2.5 0 0 1 12.733 15H3.266a2.5 2.5 0 0 1-2.481-2.19l-.64-5.124A1.5 1.5 0 0 1 1 6.14V3.5zM2 6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5a.5.5 0 0 0-.5.5V6zm-.367 1a.5.5 0 0 0-.496.562l.64 5.124A1.5 1.5 0 0 0 3.266 14h9.468a1.5 1.5 0 0 0 1.489-1.314l.64-5.124A.5.5 0 0 0 14.367 7H1.633z\"}}]})(props);\n};\nexport function BsFolder2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9zM2.5 3a.5.5 0 0 0-.5.5V6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5zM14 7H2v5.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V7z\"}}]})(props);\n};\nexport function BsFonts (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.258 3h-8.51l-.083 2.46h.479c.26-1.544.758-1.783 2.693-1.845l.424-.013v7.827c0 .663-.144.82-1.3.923v.52h4.082v-.52c-1.162-.103-1.306-.26-1.306-.923V3.602l.431.013c1.934.062 2.434.301 2.693 1.846h.479L12.258 3z\"}}]})(props);\n};\nexport function BsForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.77 12.11 4.012-2.953a.647.647 0 0 0 0-1.114L9.771 5.09a.644.644 0 0 0-.971.557V6.65H2v3.9h6.8v1.003c0 .505.545.808.97.557z\"}}]})(props);\n};\nexport function BsForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.502 5.513a.144.144 0 0 0-.202.134V6.65a.5.5 0 0 1-.5.5H2.5v2.9h6.3a.5.5 0 0 1 .5.5v1.003c0 .108.11.176.202.134l3.984-2.933a.51.51 0 0 1 .042-.028.147.147 0 0 0 0-.252.51.51 0 0 1-.042-.028L9.502 5.513zM8.3 5.647a1.144 1.144 0 0 1 1.767-.96l3.994 2.94a1.147 1.147 0 0 1 0 1.946l-3.994 2.94a1.144 1.144 0 0 1-1.767-.96v-.503H2a.5.5 0 0 1-.5-.5v-3.9a.5.5 0 0 1 .5-.5h6.3v-.503z\"}}]})(props);\n};\nexport function BsFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm5 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2v5a2 2 0 0 1-2 2H5z\"}}]})(props);\n};\nexport function BsFuelPumpDieselFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.974 9.806h.692c.306 0 .556.063.75.19.198.127.343.317.437.568.096.252.144.565.144.941 0 .284-.027.53-.083.74-.053.21-.133.386-.241.528a.986.986 0 0 1-.412.315 1.575 1.575 0 0 1-.595.103h-.692V9.806Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V8h-.5a.5.5 0 0 1-.5-.5V4.375a.5.5 0 0 1 .5-.5h1.495c-.011-.476-.053-.894-.201-1.222a.97.97 0 0 0-.394-.458c-.184-.11-.464-.195-.9-.195a.5.5 0 0 1 0-1c.564 0 1.034.11 1.412.336.383.228.634.551.794.907.295.655.294 1.465.294 2.081V7.5a.5.5 0 0 1-.5.5H15v4.5a1.5 1.5 0 0 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm2 .5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5ZM4 9v5h1.796c.496 0 .906-.099 1.23-.297.327-.197.571-.484.732-.86.161-.377.242-.828.242-1.356 0-.525-.08-.973-.242-1.344a1.775 1.775 0 0 0-.725-.85C6.71 9.098 6.296 9 5.796 9H4Z\"}}]})(props);\n};\nexport function BsFuelPumpDiesel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5ZM4 14V9h1.796c.5 0 .913.098 1.237.293.325.195.567.479.725.85.161.371.242.82.242 1.344 0 .528-.08.98-.242 1.355a1.805 1.805 0 0 1-.732.861c-.324.198-.734.297-1.23.297H4Zm1.666-4.194h-.692v3.385h.692c.229 0 .427-.035.595-.103a.986.986 0 0 0 .412-.315c.108-.142.188-.318.241-.528.056-.21.083-.456.083-.74 0-.376-.048-.69-.144-.94a1.11 1.11 0 0 0-.436-.569c-.195-.127-.445-.19-.75-.19Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a2 2 0 0 0-2 2v13H.5a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1H11v-4a1 1 0 0 1 1 1v.5a1.5 1.5 0 0 0 3 0V8h.5a.5.5 0 0 0 .5-.5V4.324c0-.616 0-1.426-.294-2.081a1.969 1.969 0 0 0-.794-.907C14.534 1.111 14.064 1 13.5 1a.5.5 0 0 0 0 1c.436 0 .716.086.9.195a.97.97 0 0 1 .394.458c.147.328.19.746.201 1.222H13.5a.5.5 0 0 0-.5.5V7.5a.5.5 0 0 0 .5.5h.5v4.5a.5.5 0 0 1-1 0V12a2 2 0 0 0-2-2V2a2 2 0 0 0-2-2H3Zm7 2v13H2V2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1Z\"}}]})(props);\n};\nexport function BsFuelPumpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V8h-.5a.5.5 0 0 1-.5-.5V4.375a.5.5 0 0 1 .5-.5h1.495c-.011-.476-.053-.894-.201-1.222a.97.97 0 0 0-.394-.458c-.184-.11-.464-.195-.9-.195a.5.5 0 0 1 0-1c.564 0 1.034.11 1.412.336.383.228.634.551.794.907.295.655.294 1.465.294 2.081V7.5a.5.5 0 0 1-.5.5H15v4.5a1.5 1.5 0 0 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm2.5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\"}}]})(props);\n};\nexport function BsFuelPump (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v8a2 2 0 0 1 2 2v.5a.5.5 0 0 0 1 0V8h-.5a.5.5 0 0 1-.5-.5V4.375a.5.5 0 0 1 .5-.5h1.495c-.011-.476-.053-.894-.201-1.222a.97.97 0 0 0-.394-.458c-.184-.11-.464-.195-.9-.195a.5.5 0 0 1 0-1c.564 0 1.034.11 1.412.336.383.228.634.551.794.907.295.655.294 1.465.294 2.081v3.175a.5.5 0 0 1-.5.501H15v4.5a1.5 1.5 0 0 1-3 0V12a1 1 0 0 0-1-1v4h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V2Zm9 0a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v13h8V2Z\"}}]})(props);\n};\nexport function BsFullscreenExit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 0a.5.5 0 0 1 .5.5v4A1.5 1.5 0 0 1 4.5 6h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5zm5 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 10 4.5v-4a.5.5 0 0 1 .5-.5zM0 10.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 6 11.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zm10 1a1.5 1.5 0 0 1 1.5-1.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4z\"}}]})(props);\n};\nexport function BsFullscreen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 1 1.5 0h4a.5.5 0 0 1 0 1h-4zM10 .5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 16 1.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zM.5 10a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 14.5v-4a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v4a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFunnelFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2z\"}}]})(props);\n};\nexport function BsFunnel (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2h-11z\"}}]})(props);\n};\nexport function BsGearFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\"}}]})(props);\n};\nexport function BsGearWideConnected (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.068.727c.243-.97 1.62-.97 1.864 0l.071.286a.96.96 0 0 0 1.622.434l.205-.211c.695-.719 1.888-.03 1.613.931l-.08.284a.96.96 0 0 0 1.187 1.187l.283-.081c.96-.275 1.65.918.931 1.613l-.211.205a.96.96 0 0 0 .434 1.622l.286.071c.97.243.97 1.62 0 1.864l-.286.071a.96.96 0 0 0-.434 1.622l.211.205c.719.695.03 1.888-.931 1.613l-.284-.08a.96.96 0 0 0-1.187 1.187l.081.283c.275.96-.918 1.65-1.613.931l-.205-.211a.96.96 0 0 0-1.622.434l-.071.286c-.243.97-1.62.97-1.864 0l-.071-.286a.96.96 0 0 0-1.622-.434l-.205.211c-.695.719-1.888.03-1.613-.931l.08-.284a.96.96 0 0 0-1.186-1.187l-.284.081c-.96.275-1.65-.918-.931-1.613l.211-.205a.96.96 0 0 0-.434-1.622l-.286-.071c-.97-.243-.97-1.62 0-1.864l.286-.071a.96.96 0 0 0 .434-1.622l-.211-.205c-.719-.695-.03-1.888.931-1.613l.284.08a.96.96 0 0 0 1.187-1.186l-.081-.284c-.275-.96.918-1.65 1.613-.931l.205.211a.96.96 0 0 0 1.622-.434l.071-.286zM12.973 8.5H8.25l-2.834 3.779A4.998 4.998 0 0 0 12.973 8.5zm0-1a4.998 4.998 0 0 0-7.557-3.779l2.834 3.78h4.723zM5.048 3.967c-.03.021-.058.043-.087.065l.087-.065zm-.431.355A4.984 4.984 0 0 0 3.002 8c0 1.455.622 2.765 1.615 3.678L7.375 8 4.617 4.322zm.344 7.646.087.065-.087-.065z\"}}]})(props);\n};\nexport function BsGearWide (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.932.727c-.243-.97-1.62-.97-1.864 0l-.071.286a.96.96 0 0 1-1.622.434l-.205-.211c-.695-.719-1.888-.03-1.613.931l.08.284a.96.96 0 0 1-1.186 1.187l-.284-.081c-.96-.275-1.65.918-.931 1.613l.211.205a.96.96 0 0 1-.434 1.622l-.286.071c-.97.243-.97 1.62 0 1.864l.286.071a.96.96 0 0 1 .434 1.622l-.211.205c-.719.695-.03 1.888.931 1.613l.284-.08a.96.96 0 0 1 1.187 1.187l-.081.283c-.275.96.918 1.65 1.613.931l.205-.211a.96.96 0 0 1 1.622.434l.071.286c.243.97 1.62.97 1.864 0l.071-.286a.96.96 0 0 1 1.622-.434l.205.211c.695.719 1.888.03 1.613-.931l-.08-.284a.96.96 0 0 1 1.187-1.187l.283.081c.96.275 1.65-.918.931-1.613l-.211-.205a.96.96 0 0 1 .434-1.622l.286-.071c.97-.243.97-1.62 0-1.864l-.286-.071a.96.96 0 0 1-.434-1.622l.211-.205c.719-.695.03-1.888-.931-1.613l-.284.08a.96.96 0 0 1-1.187-1.186l.081-.284c.275-.96-.918-1.65-1.613-.931l-.205.211a.96.96 0 0 1-1.622-.434L8.932.727zM8 12.997a4.998 4.998 0 1 1 0-9.995 4.998 4.998 0 0 1 0 9.996z\"}}]})(props);\n};\nexport function BsGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z\"}}]})(props);\n};\nexport function BsGem (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.1.7a.5.5 0 0 1 .4-.2h9a.5.5 0 0 1 .4.2l2.976 3.974c.149.185.156.45.01.644L8.4 15.3a.5.5 0 0 1-.8 0L.1 5.3a.5.5 0 0 1 0-.6l3-4zm11.386 3.785-1.806-2.41-.776 2.413 2.582-.003zm-3.633.004.961-2.989H4.186l.963 2.995 5.704-.006zM5.47 5.495 8 13.366l2.532-7.876-5.062.005zm-1.371-.999-.78-2.422-1.818 2.425 2.598-.003zM1.499 5.5l5.113 6.817-2.192-6.82L1.5 5.5zm7.889 6.817 5.123-6.83-2.928.002-2.195 6.828z\"}}]})(props);\n};\nexport function BsGenderAmbiguous (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 1a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-3.45 3.45A4 4 0 0 1 8.5 10.97V13H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V14H6a.5.5 0 0 1 0-1h1.5v-2.03a4 4 0 1 1 3.471-6.648L14.293 1H11.5zm-.997 4.346a3 3 0 1 0-5.006 3.309 3 3 0 0 0 5.006-3.31z\"}}]})(props);\n};\nexport function BsGenderFemale (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM3 5a5 5 0 1 1 5.5 4.975V12h2a.5.5 0 0 1 0 1h-2v2.5a.5.5 0 0 1-1 0V13h-2a.5.5 0 0 1 0-1h2V9.975A5 5 0 0 1 3 5z\"}}]})(props);\n};\nexport function BsGenderMale (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.5 2a.5.5 0 0 1 0-1h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V2.707L9.871 6.836a5 5 0 1 1-.707-.707L13.293 2H9.5zM6 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z\"}}]})(props);\n};\nexport function BsGenderNeuter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM3 5a5 5 0 1 1 5.5 4.975V15.5a.5.5 0 0 1-1 0V9.975A5 5 0 0 1 3 5Z\"}}]})(props);\n};\nexport function BsGenderTrans (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h3a.5.5 0 0 1 0 1H1.707L3.5 2.793l.646-.647a.5.5 0 1 1 .708.708l-.647.646.822.822A3.99 3.99 0 0 1 8 3c1.18 0 2.239.51 2.971 1.322L14.293 1H11.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-3.45 3.45A4 4 0 0 1 8.5 10.97V13H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V14H6a.5.5 0 0 1 0-1h1.5v-2.03a4 4 0 0 1-3.05-5.814l-.95-.949-.646.647a.5.5 0 1 1-.708-.708l.647-.646L1 1.707V3.5a.5.5 0 0 1-1 0v-3zm5.49 4.856a3 3 0 1 0 5.02 3.288 3 3 0 0 0-5.02-3.288z\"}}]})(props);\n};\nexport function BsGeoAltFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsGeoAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsGeoFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsGeo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zM4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsGiftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zm6 4v7.5a1.5 1.5 0 0 1-1.5 1.5H9V7h6zM2.5 16A1.5 1.5 0 0 1 1 14.5V7h6v9H2.5z\"}}]})(props);\n};\nexport function BsGift (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 14.5V7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zM1 4v2h6V4H1zm8 0v2h6V4H9zm5 3H9v8h4.5a.5.5 0 0 0 .5-.5V7zm-7 8V7H2v7.5a.5.5 0 0 0 .5.5H7z\"}}]})(props);\n};\nexport function BsGit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.698 7.287 8.712.302a1.03 1.03 0 0 0-1.457 0l-1.45 1.45 1.84 1.84a1.223 1.223 0 0 1 1.55 1.56l1.773 1.774a1.224 1.224 0 0 1 1.267 2.025 1.226 1.226 0 0 1-2.002-1.334L8.58 5.963v4.353a1.226 1.226 0 1 1-1.008-.036V5.887a1.226 1.226 0 0 1-.666-1.608L5.093 2.465l-4.79 4.79a1.03 1.03 0 0 0 0 1.457l6.986 6.986a1.03 1.03 0 0 0 1.457 0l6.953-6.953a1.031 1.031 0 0 0 0-1.457\"}}]})(props);\n};\nexport function BsGithub (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\"}}]})(props);\n};\nexport function BsGitlab (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15.734 6.1-.022-.058L13.534.358a.568.568 0 0 0-.563-.356.583.583 0 0 0-.328.122.582.582 0 0 0-.193.294l-1.47 4.499H5.025l-1.47-4.5A.572.572 0 0 0 2.47.358L.289 6.04l-.022.057A4.044 4.044 0 0 0 1.61 10.77l.007.006.02.014 3.318 2.485 1.64 1.242 1 .755a.673.673 0 0 0 .814 0l1-.755 1.64-1.242 3.338-2.5.009-.007a4.046 4.046 0 0 0 1.34-4.668Z\"}}]})(props);\n};\nexport function BsGlobeAmericas (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM2.04 4.326c.325 1.329 2.532 2.54 3.717 3.19.48.263.793.434.743.484-.08.08-.162.158-.242.234-.416.396-.787.749-.758 1.266.035.634.618.824 1.214 1.017.577.188 1.168.38 1.286.983.082.417-.075.988-.22 1.52-.215.782-.406 1.48.22 1.48 1.5-.5 3.798-3.186 4-5 .138-1.243-2-2-3.5-2.5-.478-.16-.755.081-.99.284-.172.15-.322.279-.51.216-.445-.148-2.5-2-1.5-2.5.78-.39.952-.171 1.227.182.078.099.163.208.273.318.609.304.662-.132.723-.633.039-.322.081-.671.277-.867.434-.434 1.265-.791 2.028-1.12.712-.306 1.365-.587 1.579-.88A7 7 0 1 1 2.04 4.327Z\"}}]})(props);\n};\nexport function BsGlobeAsiaAustralia (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.495 6.92 1.278-.619a.483.483 0 0 0 .126-.782c-.252-.244-.682-.139-.932.107-.23.226-.513.373-.816.53l-.102.054c-.338.178-.264.626.1.736a.476.476 0 0 0 .346-.027ZM7.741 9.808V9.78a.413.413 0 1 1 .783.183l-.22.443a.602.602 0 0 1-.12.167l-.193.185a.36.36 0 1 1-.5-.516l.112-.108a.453.453 0 0 0 .138-.326ZM5.672 12.5l.482.233A.386.386 0 1 0 6.32 12h-.416a.702.702 0 0 1-.419-.139l-.277-.206a.302.302 0 1 0-.298.52l.761.325Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM1.612 10.867l.756-1.288a1 1 0 0 1 1.545-.225l1.074 1.005a.986.986 0 0 0 1.36-.011l.038-.037a.882.882 0 0 0 .26-.755c-.075-.548.37-1.033.92-1.099.728-.086 1.587-.324 1.728-.957.086-.386-.114-.83-.361-1.2-.207-.312 0-.8.374-.8.123 0 .24-.055.318-.15l.393-.474c.196-.237.491-.368.797-.403.554-.064 1.407-.277 1.583-.973.098-.391-.192-.634-.484-.88-.254-.212-.51-.426-.515-.741a6.998 6.998 0 0 1 3.425 7.692 1.015 1.015 0 0 0-.087-.063l-.316-.204a1 1 0 0 0-.977-.06l-.169.082a1 1 0 0 1-.741.051l-1.021-.329A1 1 0 0 0 11.205 9h-.165a1 1 0 0 0-.945.674l-.172.499a1 1 0 0 1-.404.514l-.802.518a1 1 0 0 0-.458.84v.455a1 1 0 0 0 1 1h.257a1 1 0 0 1 .542.16l.762.49a.998.998 0 0 0 .283.126 7.001 7.001 0 0 1-9.49-3.409Z\"}}]})(props);\n};\nexport function BsGlobeCentralSouthAsia (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM4.882 1.731a.482.482 0 0 0 .14.291.487.487 0 0 1-.126.78l-.291.146a.721.721 0 0 0-.188.135l-.48.48a1 1 0 0 1-1.023.242l-.02-.007a.996.996 0 0 0-.462-.04 7.03 7.03 0 0 1 2.45-2.027Zm-3 9.674.86-.216a1 1 0 0 0 .758-.97v-.184a1 1 0 0 1 .445-.832l.04-.026a1 1 0 0 0 .152-1.54L3.121 6.621a.414.414 0 0 1 .542-.624l1.09.818a.5.5 0 0 0 .523.047.5.5 0 0 1 .724.447v.455a.78.78 0 0 0 .131.433l.795 1.192a1 1 0 0 1 .116.238l.73 2.19a1 1 0 0 0 .949.683h.058a1 1 0 0 0 .949-.684l.73-2.189a1 1 0 0 1 .116-.238l.791-1.187A.454.454 0 0 1 11.743 8c.16 0 .306.084.392.218.557.875 1.63 2.282 2.365 2.282a.61.61 0 0 0 .04-.001 7.003 7.003 0 0 1-12.658.905Z\"}}]})(props);\n};\nexport function BsGlobeEuropeAfrica (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM3.668 2.501l-.288.646a.847.847 0 0 0 1.479.815l.245-.368a.809.809 0 0 1 1.034-.275.809.809 0 0 0 .724 0l.261-.13a1 1 0 0 1 .775-.05l.984.34c.078.028.16.044.243.054.784.093.855.377.694.801-.155.41-.616.617-1.035.487l-.01-.003C8.274 4.663 7.748 4.5 6 4.5 4.8 4.5 3.5 5.62 3.5 7c0 1.96.826 2.166 1.696 2.382.46.115.935.233 1.304.618.449.467.393 1.181.339 1.877C6.755 12.96 6.674 14 8.5 14c1.75 0 3-3.5 3-4.5 0-.262.208-.468.444-.7.396-.392.87-.86.556-1.8-.097-.291-.396-.568-.641-.756-.174-.133-.207-.396-.052-.551a.333.333 0 0 1 .42-.042l1.085.724c.11.072.255.058.348-.035.15-.15.415-.083.489.117.16.43.445 1.05.849 1.357L15 8A7 7 0 1 1 3.668 2.501Z\"}}]})(props);\n};\nexport function BsGlobe (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855A7.97 7.97 0 0 0 5.145 4H7.5V1.077zM4.09 4a9.267 9.267 0 0 1 .64-1.539 6.7 6.7 0 0 1 .597-.933A7.025 7.025 0 0 0 2.255 4H4.09zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a6.958 6.958 0 0 0-.656 2.5h2.49zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5H4.847zM8.5 5v2.5h2.99a12.495 12.495 0 0 0-.337-2.5H8.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5H4.51zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5H8.5zM5.145 12c.138.386.295.744.468 1.068.552 1.035 1.218 1.65 1.887 1.855V12H5.145zm.182 2.472a6.696 6.696 0 0 1-.597-.933A9.268 9.268 0 0 1 4.09 12H2.255a7.024 7.024 0 0 0 3.072 2.472zM3.82 11a13.652 13.652 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5H3.82zm6.853 3.472A7.024 7.024 0 0 0 13.745 12H11.91a9.27 9.27 0 0 1-.64 1.539 6.688 6.688 0 0 1-.597.933zM8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855.173-.324.33-.682.468-1.068H8.5zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.65 13.65 0 0 1-.312 2.5zm2.802-3.5a6.959 6.959 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5h2.49zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7.024 7.024 0 0 0-3.072-2.472c.218.284.418.598.597.933zM10.855 4a7.966 7.966 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4h2.355z\"}}]})(props);\n};\nexport function BsGlobe2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z\"}}]})(props);\n};\nexport function BsGooglePlay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.222 9.374c1.037-.61 1.037-2.137 0-2.748L11.528 5.04 8.32 8l3.207 2.96 2.694-1.586Zm-3.595 2.116L7.583 8.68 1.03 14.73c.201 1.029 1.36 1.61 2.303 1.055l7.294-4.295ZM1 13.396V2.603L6.846 8 1 13.396ZM1.03 1.27l6.553 6.05 3.044-2.81L3.333.215C2.39-.341 1.231.24 1.03 1.27Z\"}}]})(props);\n};\nexport function BsGoogle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.545 6.558a9.42 9.42 0 0 1 .139 1.626c0 2.434-.87 4.492-2.384 5.885h.002C11.978 15.292 10.158 16 8 16A8 8 0 1 1 8 0a7.689 7.689 0 0 1 5.352 2.082l-2.284 2.284A4.347 4.347 0 0 0 8 3.166c-2.087 0-3.86 1.408-4.492 3.304a4.792 4.792 0 0 0 0 3.063h.003c.635 1.893 2.405 3.301 4.492 3.301 1.078 0 2.004-.276 2.722-.764h-.003a3.702 3.702 0 0 0 1.599-2.431H8v-3.08h7.545z\"}}]})(props);\n};\nexport function BsGpuCard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm7.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1h1a.5.5 0 0 1 .5.5V4h13.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H2v2.5a.5.5 0 0 1-1 0V2H.5a.5.5 0 0 1-.5-.5Zm5.5 4a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM9 8a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12.5h3.5v1a.5.5 0 0 1-.5.5H3.5a.5.5 0 0 1-.5-.5v-1Zm4 1v-1h4v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsGraphDownArrow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0Zm10 11.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-1 0v2.6l-3.613-4.417a.5.5 0 0 0-.74-.037L7.06 8.233 3.404 3.206a.5.5 0 0 0-.808.588l4 5.5a.5.5 0 0 0 .758.06l2.609-2.61L13.445 11H10.5a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsGraphDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0Zm14.817 11.887a.5.5 0 0 0 .07-.704l-4.5-5.5a.5.5 0 0 0-.74-.037L7.06 8.233 3.404 3.206a.5.5 0 0 0-.808.588l4 5.5a.5.5 0 0 0 .758.06l2.609-2.61 4.15 5.073a.5.5 0 0 0 .704.07Z\"}}]})(props);\n};\nexport function BsGraphUpArrow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0Zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsGraphUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0Zm14.817 3.113a.5.5 0 0 1 .07.704l-4.5 5.5a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61 4.15-5.073a.5.5 0 0 1 .704-.07Z\"}}]})(props);\n};\nexport function BsGrid1X2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm0 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-5z\"}}]})(props);\n};\nexport function BsGrid1X2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1H1v14h5V1zm9 0h-5v5h5V1zm0 9v5h-5v-5h5zM0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm1 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-5z\"}}]})(props);\n};\nexport function BsGrid3X2GapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zM1 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9z\"}}]})(props);\n};\nexport function BsGrid3X2Gap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v2H2V4h2zm1 7V9a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm5 5V9a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V4a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zM9 4v2H7V4h2zm5 0h-2v2h2V4zM4 9v2H2V9h2zm5 0v2H7V9h2zm5 0v2h-2V9h2zm-3-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zm1 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-2z\"}}]})(props);\n};\nexport function BsGrid3X2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v8a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5v-8zM1.5 3a.5.5 0 0 0-.5.5V7h4V3H1.5zM5 8H1v3.5a.5.5 0 0 0 .5.5H5V8zm1 0v4h4V8H6zm4-1V3H6v4h4zm1 1v4h3.5a.5.5 0 0 0 .5-.5V8h-4zm0-1h4V3.5a.5.5 0 0 0-.5-.5H11v4z\"}}]})(props);\n};\nexport function BsGrid3X3GapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2z\"}}]})(props);\n};\nexport function BsGrid3X3Gap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2v2H2V2h2zm1 12v-2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm5 10v-2a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V2a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zM9 2v2H7V2h2zm5 0v2h-2V2h2zM4 7v2H2V7h2zm5 0v2H7V7h2zm5 0h-2v2h2V7zM4 12v2H2v-2h2zm5 0v2H7v-2h2zm5 0v2h-2v-2h2zM12 1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zm-1 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zm1 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2z\"}}]})(props);\n};\nexport function BsGrid3X3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5V5h4V1H1.5zM5 6H1v4h4V6zm1 4h4V6H6v4zm-1 1H1v3.5a.5.5 0 0 0 .5.5H5v-4zm1 0v4h4v-4H6zm5 0v4h3.5a.5.5 0 0 0 .5-.5V11h-4zm0-1h4V6h-4v4zm0-5h4V1.5a.5.5 0 0 0-.5-.5H11v4zm-1 0V1H6v4h4z\"}}]})(props);\n};\nexport function BsGridFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z\"}}]})(props);\n};\nexport function BsGrid (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zM2.5 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zM1 10.5A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}}]})(props);\n};\nexport function BsGripHorizontal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsGripVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsHCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5-3.998H9.67v3.322H6.33V4.002H5V12h1.33V8.455h3.34V12H11V4.002Z\"}}]})(props);\n};\nexport function BsHCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5-3.998V12H9.67V8.455H6.33V12H5V4.002h1.33v3.322h3.34V4.002H11Z\"}}]})(props);\n};\nexport function BsHSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm9 4.002V12H9.67V8.455H6.33V12H5V4.002h1.33v3.322h3.34V4.002H11Z\"}}]})(props);\n};\nexport function BsHSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4.002V12H9.67V8.455H6.33V12H5V4.002h1.33v3.322h3.34V4.002H11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function BsHammer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.972 2.508a.5.5 0 0 0-.16-.556l-.178-.129a5.009 5.009 0 0 0-2.076-.783C6.215.862 4.504 1.229 2.84 3.133H1.786a.5.5 0 0 0-.354.147L.146 4.567a.5.5 0 0 0 0 .706l2.571 2.579a.5.5 0 0 0 .708 0l1.286-1.29a.5.5 0 0 0 .146-.353V5.57l8.387 8.873A.5.5 0 0 0 14 14.5l1.5-1.5a.5.5 0 0 0 .017-.689l-9.129-8.63c.747-.456 1.772-.839 3.112-.839a.5.5 0 0 0 .472-.334z\"}}]})(props);\n};\nexport function BsHandIndexFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002z\"}}]})(props);\n};\nexport function BsHandIndexThumbFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.75v2.716l.047-.002c.312-.012.742-.016 1.051.046.28.056.543.18.738.288.273.152.456.385.56.642l.132-.012c.312-.024.794-.038 1.158.108.37.148.689.487.88.716.075.09.141.175.195.248h.582a2 2 0 0 1 1.99 2.199l-.272 2.715a3.5 3.5 0 0 1-.444 1.389l-1.395 2.441A1.5 1.5 0 0 1 12.42 16H6.118a1.5 1.5 0 0 1-1.342-.83l-1.215-2.43L1.07 8.589a1.517 1.517 0 0 1 2.373-1.852L5 8.293V1.75a1.75 1.75 0 0 1 3.5 0z\"}}]})(props);\n};\nexport function BsHandIndexThumb (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 1a.75.75 0 0 1 .75.75V8a.5.5 0 0 0 1 0V5.467l.086-.004c.317-.012.637-.008.816.027.134.027.294.096.448.182.077.042.15.147.15.314V8a.5.5 0 0 0 1 0V6.435l.106-.01c.316-.024.584-.01.708.04.118.046.3.207.486.43.081.096.15.19.2.259V8.5a.5.5 0 1 0 1 0v-1h.342a1 1 0 0 1 .995 1.1l-.271 2.715a2.5 2.5 0 0 1-.317.991l-1.395 2.442a.5.5 0 0 1-.434.252H6.118a.5.5 0 0 1-.447-.276l-1.232-2.465-2.512-4.185a.517.517 0 0 1 .809-.631l2.41 2.41A.5.5 0 0 0 6 9.5V1.75A.75.75 0 0 1 6.75 1zM8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v6.543L3.443 6.736A1.517 1.517 0 0 0 1.07 8.588l2.491 4.153 1.215 2.43A1.5 1.5 0 0 0 6.118 16h6.302a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002zm2.094 2.025z\"}}]})(props);\n};\nexport function BsHandIndex (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 1a.75.75 0 0 1 .75.75V8a.5.5 0 0 0 1 0V5.467l.086-.004c.317-.012.637-.008.816.027.134.027.294.096.448.182.077.042.15.147.15.314V8a.5.5 0 1 0 1 0V6.435a4.9 4.9 0 0 1 .106-.01c.316-.024.584-.01.708.04.118.046.3.207.486.43.081.096.15.19.2.259V8.5a.5.5 0 0 0 1 0v-1h.342a1 1 0 0 1 .995 1.1l-.271 2.715a2.5 2.5 0 0 1-.317.991l-1.395 2.442a.5.5 0 0 1-.434.252H6.035a.5.5 0 0 1-.416-.223l-1.433-2.15a1.5 1.5 0 0 1-.243-.666l-.345-3.105a.5.5 0 0 1 .399-.546L5 8.11V9a.5.5 0 0 0 1 0V1.75A.75.75 0 0 1 6.75 1zM8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002zm2.094 2.025z\"}}]})(props);\n};\nexport function BsHandThumbsDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 14.534c.065.936.952 1.659 1.908 1.42l.261-.065a1.378 1.378 0 0 0 1.012-.965c.22-.816.533-2.512.062-4.51.136.02.285.037.443.051.713.065 1.669.071 2.516-.211.518-.173.994-.68 1.2-1.272a1.896 1.896 0 0 0-.234-1.734c.058-.118.103-.242.138-.362.077-.27.113-.568.113-.856 0-.29-.036-.586-.113-.857a2.094 2.094 0 0 0-.16-.403c.169-.387.107-.82-.003-1.149a3.162 3.162 0 0 0-.488-.9c.054-.153.076-.313.076-.465a1.86 1.86 0 0 0-.253-.912C13.1.757 12.437.28 11.5.28H8c-.605 0-1.07.08-1.466.217a4.823 4.823 0 0 0-.97.485l-.048.029c-.504.308-.999.61-2.068.723C2.682 1.815 2 2.434 2 3.279v4c0 .851.685 1.433 1.357 1.616.849.232 1.574.787 2.132 1.41.56.626.914 1.28 1.039 1.638.199.575.356 1.54.428 2.591z\"}}]})(props);\n};\nexport function BsHandThumbsDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.864 15.674c-.956.24-1.843-.484-1.908-1.42-.072-1.05-.23-2.015-.428-2.59-.125-.36-.479-1.012-1.04-1.638-.557-.624-1.282-1.179-2.131-1.41C2.685 8.432 2 7.85 2 7V3c0-.845.682-1.464 1.448-1.546 1.07-.113 1.564-.415 2.068-.723l.048-.029c.272-.166.578-.349.97-.484C6.931.08 7.395 0 8 0h3.5c.937 0 1.599.478 1.934 1.064.164.287.254.607.254.913 0 .152-.023.312-.077.464.201.262.38.577.488.9.11.33.172.762.004 1.15.069.13.12.268.159.403.077.27.113.567.113.856 0 .289-.036.586-.113.856-.035.12-.08.244-.138.363.394.571.418 1.2.234 1.733-.206.592-.682 1.1-1.2 1.272-.847.283-1.803.276-2.516.211a9.877 9.877 0 0 1-.443-.05 9.364 9.364 0 0 1-.062 4.51c-.138.508-.55.848-1.012.964l-.261.065zM11.5 1H8c-.51 0-.863.068-1.14.163-.281.097-.506.229-.776.393l-.04.025c-.555.338-1.198.73-2.49.868-.333.035-.554.29-.554.55V7c0 .255.226.543.62.65 1.095.3 1.977.997 2.614 1.709.635.71 1.064 1.475 1.238 1.977.243.7.407 1.768.482 2.85.025.362.36.595.667.518l.262-.065c.16-.04.258-.144.288-.255a8.34 8.34 0 0 0-.145-4.726.5.5 0 0 1 .595-.643h.003l.014.004.058.013a8.912 8.912 0 0 0 1.036.157c.663.06 1.457.054 2.11-.163.175-.059.45-.301.57-.651.107-.308.087-.67-.266-1.021L12.793 7l.353-.354c.043-.042.105-.14.154-.315.048-.167.075-.37.075-.581 0-.211-.027-.414-.075-.581-.05-.174-.111-.273-.154-.315l-.353-.354.353-.354c.047-.047.109-.176.005-.488a2.224 2.224 0 0 0-.505-.804l-.353-.354.353-.354c.006-.005.041-.05.041-.17a.866.866 0 0 0-.121-.415C12.4 1.272 12.063 1 11.5 1z\"}}]})(props);\n};\nexport function BsHandThumbsUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 1.745C7.021.81 7.908.087 8.864.325l.261.066c.463.116.874.456 1.012.965.22.816.533 2.511.062 4.51a9.84 9.84 0 0 1 .443-.051c.713-.065 1.669-.072 2.516.21.518.173.994.681 1.2 1.273.184.532.16 1.162-.234 1.733.058.119.103.242.138.363.077.27.113.567.113.856 0 .289-.036.586-.113.856-.039.135-.09.273-.16.404.169.387.107.819-.003 1.148a3.163 3.163 0 0 1-.488.901c.054.152.076.312.076.465 0 .305-.089.625-.253.912C13.1 15.522 12.437 16 11.5 16H8c-.605 0-1.07-.081-1.466-.218a4.82 4.82 0 0 1-.97-.484l-.048-.03c-.504-.307-.999-.609-2.068-.722C2.682 14.464 2 13.846 2 13V9c0-.85.685-1.432 1.357-1.615.849-.232 1.574-.787 2.132-1.41.56-.627.914-1.28 1.039-1.639.199-.575.356-1.539.428-2.59z\"}}]})(props);\n};\nexport function BsHandThumbsUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2.144 2.144 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84 9.84 0 0 0-.443.05 9.365 9.365 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111L8.864.046zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a8.908 8.908 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224 2.224 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866 0 0 1-.121.416c-.165.288-.503.56-1.066.56z\"}}]})(props);\n};\nexport function BsHandbagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 0-2 2v2H5V3a3 3 0 1 1 6 0v2h-1V3a2 2 0 0 0-2-2zM5 5H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11v1.5a.5.5 0 0 1-1 0V5H6v1.5a.5.5 0 0 1-1 0V5z\"}}]})(props);\n};\nexport function BsHandbag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v2H6V3a2 2 0 0 1 2-2zm3 4V3a3 3 0 1 0-6 0v2H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11zm-1 1v1.5a.5.5 0 0 0 1 0V6h1.639a.5.5 0 0 1 .494.426l1.028 6.851A1.5 1.5 0 0 1 12.678 15H3.322a1.5 1.5 0 0 1-1.483-1.723l1.028-6.851A.5.5 0 0 1 3.36 6H5v1.5a.5.5 0 1 0 1 0V6h4z\"}}]})(props);\n};\nexport function BsHash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.39 12.648a1.32 1.32 0 0 0-.015.18c0 .305.21.508.5.508.266 0 .492-.172.555-.477l.554-2.703h1.204c.421 0 .617-.234.617-.547 0-.312-.188-.53-.617-.53h-.985l.516-2.524h1.265c.43 0 .618-.227.618-.547 0-.313-.188-.524-.618-.524h-1.046l.476-2.304a1.06 1.06 0 0 0 .016-.164.51.51 0 0 0-.516-.516.54.54 0 0 0-.539.43l-.523 2.554H7.617l.477-2.304c.008-.04.015-.118.015-.164a.512.512 0 0 0-.523-.516.539.539 0 0 0-.531.43L6.53 5.484H5.414c-.43 0-.617.22-.617.532 0 .312.187.539.617.539h.906l-.515 2.523H4.609c-.421 0-.609.219-.609.531 0 .313.188.547.61.547h.976l-.516 2.492c-.008.04-.015.125-.015.18 0 .305.21.508.5.508.265 0 .492-.172.554-.477l.555-2.703h2.242l-.515 2.492zm-1-6.109h2.266l-.515 2.563H6.859l.532-2.563z\"}}]})(props);\n};\nexport function BsHddFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM.91 7.204A2.993 2.993 0 0 1 2 7h12c.384 0 .752.072 1.09.204l-1.867-3.422A1.5 1.5 0 0 0 11.906 3H4.094a1.5 1.5 0 0 0-1.317.782L.91 7.204z\"}}]})(props);\n};\nexport function BsHddNetworkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h5.5v3A1.5 1.5 0 0 0 6 11.5H.5a.5.5 0 0 0 0 1H6A1.5 1.5 0 0 0 7.5 14h1a1.5 1.5 0 0 0 1.5-1.5h5.5a.5.5 0 0 0 0-1H10A1.5 1.5 0 0 0 8.5 10V7H14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsHddNetwork (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H8.5v3a1.5 1.5 0 0 1 1.5 1.5h5.5a.5.5 0 0 1 0 1H10A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5H.5a.5.5 0 0 1 0-1H6A1.5 1.5 0 0 1 7.5 10V7H2a2 2 0 0 1-2-2V4zm1 0v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1zm6 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsHddRackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-2 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM12 7v2H4V7h8z\"}}]})(props);\n};\nexport function BsHddRack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm2 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm0 7v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-3-4v2H4V7h8z\"}}]})(props);\n};\nexport function BsHddStackFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsHddStack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12zM2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zM14 3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsHdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V9.51c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198V11zM3.655 4.26 1.592 8.043C1.724 8.014 1.86 8 2 8h12c.14 0 .276.014.408.042L12.345 4.26a.5.5 0 0 0-.439-.26H4.094a.5.5 0 0 0-.44.26zM1 10v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z\"}}]})(props);\n};\nexport function BsHdmiFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5a1 1 0 0 0-1 1v3.293c0 .39.317.707.707.707.188 0 .368.075.5.207l.5.5a1 1 0 0 0 .707.293h11.172a1 1 0 0 0 .707-.293l.5-.5a.707.707 0 0 1 .5-.207c.39 0 .707-.317.707-.707V6a1 1 0 0 0-1-1H1Zm1.5 2h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsHdmi (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 7a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h.293l.707.707a1 1 0 0 0 .707.293h10.586a1 1 0 0 0 .707-.293l.707-.707H15a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H1Zm0 1h14v3h-.293a1 1 0 0 0-.707.293l-.707.707H2.707L2 9.293A1 1 0 0 0 1.293 9H1V6Z\"}}]})(props);\n};\nexport function BsHeadphones (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a6 6 0 1 1 12 0v5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1V8a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsHeadsetVr (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.248c1.857 0 3.526.641 4.65 1.794a4.978 4.978 0 0 1 2.518 1.09C13.907 1.482 11.295 0 8 0 4.75 0 2.12 1.48.844 4.122a4.979 4.979 0 0 1 2.289-1.047C4.236 1.872 5.974 1.248 8 1.248z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12a3.988 3.988 0 0 1-2.786-1.13l-.002-.002a1.612 1.612 0 0 0-.276-.167A2.164 2.164 0 0 0 8 10.5c-.414 0-.729.103-.935.201a1.612 1.612 0 0 0-.277.167l-.002.002A4 4 0 1 1 4 4h8a4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsHeadset (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a6 6 0 1 1 12 0v6a2.5 2.5 0 0 1-2.5 2.5H9.366a1 1 0 0 1-.866.5h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 .866.5H11.5A1.5 1.5 0 0 0 13 12h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1V6a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsHeartArrow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.707 9h4.364c-.536 1.573 2.028 3.806 4.929-.5-2.9-4.306-5.465-2.073-4.929-.5H6.707L4.854 6.146a.5.5 0 1 0-.708.708L5.293 8h-.586L2.854 6.146a.5.5 0 1 0-.708.708L3.293 8h-.586L.854 6.146a.5.5 0 1 0-.708.708L1.793 8.5.146 10.146a.5.5 0 0 0 .708.708L2.707 9h.586l-1.147 1.146a.5.5 0 0 0 .708.708L4.707 9h.586l-1.147 1.146a.5.5 0 0 0 .708.708L6.707 9Z\"}}]})(props);\n};\nexport function BsHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z\"}}]})(props);\n};\nexport function BsHeartHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.748v11.047c3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z\"}}]})(props);\n};\nexport function BsHeartPulseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.475 9C2.702 10.84 4.779 12.871 8 15c3.221-2.129 5.298-4.16 6.525-6H12a.5.5 0 0 1-.464-.314l-1.457-3.642-1.598 5.593a.5.5 0 0 1-.945.049L5.889 6.568l-1.473 2.21A.5.5 0 0 1 4 9H1.475Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.88 8C-2.427 1.68 4.41-2 7.823 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C11.59-2 18.426 1.68 15.12 8h-2.783l-1.874-4.686a.5.5 0 0 0-.945.049L7.921 8.956 6.464 5.314a.5.5 0 0 0-.88-.091L3.732 8H.88Z\"}}]})(props);\n};\nexport function BsHeartPulse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053.918 3.995.78 5.323 1.508 7H.43c-2.128-5.697 4.165-8.83 7.394-5.857.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17c3.23-2.974 9.522.159 7.394 5.856h-1.078c.728-1.677.59-3.005.108-3.947C13.486.878 10.4.28 8.717 2.01L8 2.748ZM2.212 10h1.315C4.593 11.183 6.05 12.458 8 13.795c1.949-1.337 3.407-2.612 4.473-3.795h1.315c-1.265 1.566-3.14 3.25-5.788 5-2.648-1.75-4.523-3.434-5.788-5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.464 3.314a.5.5 0 0 0-.945.049L7.921 8.956 6.464 5.314a.5.5 0 0 0-.88-.091L3.732 8H.5a.5.5 0 0 0 0 1H4a.5.5 0 0 0 .416-.223l1.473-2.209 1.647 4.118a.5.5 0 0 0 .945-.049l1.598-5.593 1.457 3.642A.5.5 0 0 0 12 9h3.5a.5.5 0 0 0 0-1h-3.162l-1.874-4.686Z\"}}]})(props);\n};\nexport function BsHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z\"}}]})(props);\n};\nexport function BsHeartbreakFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.931.586 7 3l1.5 4-2 3L8 15C22.534 5.396 13.757-2.21 8.931.586ZM7.358.77 5.5 3 7 7l-1.5 3 1.815 4.537C-6.533 4.96 2.685-2.467 7.358.77Z\"}}]})(props);\n};\nexport function BsHeartbreak (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.867 14.41c13.308-9.322 4.79-16.563.064-13.824L7 3l1.5 4-2 3L8 15a38.094 38.094 0 0 0 .867-.59Zm-.303-1.01-.971-3.237 1.74-2.608a1 1 0 0 0 .103-.906l-1.3-3.468 1.45-1.813c1.861-.948 4.446.002 5.197 2.11.691 1.94-.055 5.521-6.219 9.922Zm-1.25 1.137a36.027 36.027 0 0 1-1.522-1.116C-5.077 4.97 1.842-1.472 6.454.293c.314.12.618.279.904.477L5.5 3 7 7l-1.5 3 1.815 4.537Zm-2.3-3.06-.442-1.106a1 1 0 0 1 .034-.818l1.305-2.61L4.564 3.35a1 1 0 0 1 .168-.991l1.032-1.24c-1.688-.449-3.7.398-4.456 2.128-.711 1.627-.413 4.55 3.706 8.229Z\"}}]})(props);\n};\nexport function BsHearts (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.931.481c1.627-1.671 5.692 1.254 0 5.015-5.692-3.76-1.626-6.686 0-5.015Zm6.84 1.794c1.084-1.114 3.795.836 0 3.343-3.795-2.507-1.084-4.457 0-3.343ZM7.84 7.642c2.71-2.786 9.486 2.09 0 8.358-9.487-6.268-2.71-11.144 0-8.358Z\"}}]})(props);\n};\nexport function BsHeptagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053z\"}}]})(props);\n};\nexport function BsHeptagonHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053zM8 15h3.093l3.868-4.975-1.383-6.212L8 1.058V15z\"}}]})(props);\n};\nexport function BsHeptagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053zM2.422 3.813l-1.383 6.212L4.907 15h6.186l3.868-4.975-1.383-6.212L8 1.058 2.422 3.813z\"}}]})(props);\n};\nexport function BsHexagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHexagonHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.577v6.846L8 15V1l6 3.577zM8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHexagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.577v6.846L8 15l-6-3.577V4.577L8 1l6 3.577zM8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHighlighter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.096.644a2 2 0 0 1 2.791.036l1.433 1.433a2 2 0 0 1 .035 2.791l-.413.435-8.07 8.995a.5.5 0 0 1-.372.166h-3a.5.5 0 0 1-.234-.058l-.412.412A.5.5 0 0 1 2.5 15h-2a.5.5 0 0 1-.354-.854l1.412-1.412A.5.5 0 0 1 1.5 12.5v-3a.5.5 0 0 1 .166-.372l8.995-8.07.435-.414Zm-.115 1.47L2.727 9.52l3.753 3.753 7.406-8.254-2.905-2.906Zm3.585 2.17.064-.068a1 1 0 0 0-.017-1.396L13.18 1.387a1 1 0 0 0-1.396-.018l-.068.065 2.85 2.85ZM5.293 13.5 2.5 10.707v1.586L3.707 13.5h1.586Z\"}}]})(props);\n};\nexport function BsHighlights (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0Zm-8 5v1H4.5a.502.502 0 0 0-.093.009A7.029 7.029 0 0 1 3.1 13H8Zm0-1H2.255a6.998 6.998 0 0 1-.581-1H8v1Zm-6.71-2a6.96 6.96 0 0 1-.22-1H8v1H1.29ZM1 8c0-.34.024-.673.07-1H8v1H1Zm.29-2c.103-.345.231-.68.384-1H8v1H1.29Zm.965-2c.25-.36.534-.694.846-1H8v1H2.255Zm2.137-2A6.967 6.967 0 0 1 8 1v1H4.392Z\"}}]})(props);\n};\nexport function BsHospitalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a1 1 0 0 0-1 1v1a1 1 0 0 0-1 1v4H1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h6v-2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V16h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-3V3a1 1 0 0 0-1-1V1a1 1 0 0 0-1-1H6Zm2.5 5.034v1.1l.953-.55.5.867L9 7l.953.55-.5.866-.953-.55v1.1h-1v-1.1l-.953.55-.5-.866L7 7l-.953-.55.5-.866.953.55v-1.1h1ZM2.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 9.75v-.5A.25.25 0 0 1 2.25 9Zm0 2h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM2 13.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM13.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM13 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Zm.25 1.75h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z\"}}]})(props);\n};\nexport function BsHospital (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.034v1.1l.953-.55.5.867L9 7l.953.55-.5.866-.953-.55v1.1h-1v-1.1l-.953.55-.5-.866L7 7l-.953-.55.5-.866.953.55v-1.1h1ZM13.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM13 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Zm.25 1.75a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm-11-4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 9.75v-.5A.25.25 0 0 0 2.75 9h-.5Zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM2 13.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1a1 1 0 0 1 1 1v4h3a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1V1Zm2 14h2v-3H7v3Zm3 0h1V3H5v12h1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3Zm0-14H6v1h4V1Zm2 7v7h3V8h-3Zm-8 7V8H1v7h3Z\"}}]})(props);\n};\nexport function BsHourglassBottom (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702s.18.149.5.149.5-.15.5-.15v-.7c0-.701.478-1.236 1.011-1.492A3.5 3.5 0 0 0 11.5 3V2h-7z\"}}]})(props);\n};\nexport function BsHourglassSplit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 15a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11zm2-13v1c0 .537.12 1.045.337 1.5h6.326c.216-.455.337-.963.337-1.5V2h-7zm3 6.35c0 .701-.478 1.236-1.011 1.492A3.5 3.5 0 0 0 4.5 13s.866-1.299 3-1.48V8.35zm1 0v3.17c2.134.181 3 1.48 3 1.48a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351z\"}}]})(props);\n};\nexport function BsHourglassTop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14.5a.5.5 0 0 0 .5.5h11a.5.5 0 1 0 0-1h-1v-1a4.5 4.5 0 0 0-2.557-4.06c-.29-.139-.443-.377-.443-.59v-.7c0-.213.154-.451.443-.59A4.5 4.5 0 0 0 12.5 3V2h1a.5.5 0 0 0 0-1h-11a.5.5 0 0 0 0 1h1v1a4.5 4.5 0 0 0 2.557 4.06c.29.139.443.377.443.59v.7c0 .213-.154.451-.443.59A4.5 4.5 0 0 0 3.5 13v1h-1a.5.5 0 0 0-.5.5zm2.5-.5v-1a3.5 3.5 0 0 1 1.989-3.158c.533-.256 1.011-.79 1.011-1.491v-.702s.18.101.5.101.5-.1.5-.1v.7c0 .701.478 1.236 1.011 1.492A3.5 3.5 0 0 1 11.5 13v1h-7z\"}}]})(props);\n};\nexport function BsHourglass (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702c0 .7-.478 1.235-1.011 1.491A3.5 3.5 0 0 0 4.5 13v1h7v-1a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351v-.702c0-.7.478-1.235 1.011-1.491A3.5 3.5 0 0 0 11.5 3V2h-7z\"}}]})(props);\n};\nexport function BsHouseAddFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 1 1-1 0v-1h-1a.5.5 0 1 1 0-1h1v-1a.5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsHouseAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h4a.5.5 0 1 0 0-1h-4a.5.5 0 0 1-.5-.5V7.207l5-5 6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 1 0 1 0v-1h1a.5.5 0 1 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsHouseCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.707l.547.547 1.17-1.951a.5.5 0 1 1 .858.514Z\"}}]})(props);\n};\nexport function BsHouseCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.707l.547.547 1.17-1.951a.5.5 0 1 1 .858.514Z\"}}]})(props);\n};\nexport function BsHouseDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 1 1 0-1Z\"}}]})(props);\n};\nexport function BsHouseDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 1 1 0-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}}]})(props);\n};\nexport function BsHouseDoorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z\"}}]})(props);\n};\nexport function BsHouseDoor (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146ZM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5Z\"}}]})(props);\n};\nexport function BsHouseDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.707l-.646.646V10.5a.5.5 0 0 0-1 0v2.793l-.646-.646a.5.5 0 0 0-.708.707l1.5 1.5a.5.5 0 0 0 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsHouseDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.707l-.646.646V10.5a.5.5 0 0 0-1 0v2.793l-.646-.646a.5.5 0 0 0-.708.707l1.5 1.5a.5.5 0 0 0 .708 0Z\"}}]})(props);\n};\nexport function BsHouseExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 1 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsHouseExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 1 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsHouseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsHouseGearFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.07 9.047a1.5 1.5 0 0 0-1.742.26l-.02.021a1.5 1.5 0 0 0-.261 1.742 1.5 1.5 0 0 0 0 2.86 1.504 1.504 0 0 0-.12 1.07H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6 4.724 4.724a1.5 1.5 0 0 0-1.654 1.03Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.158 9.608-.043-.148c-.181-.613-1.049-.613-1.23 0l-.043.148a.64.64 0 0 1-.921.382l-.136-.074c-.561-.306-1.175.308-.87.869l.075.136a.64.64 0 0 1-.382.92l-.148.045c-.613.18-.613 1.048 0 1.229l.148.043a.64.64 0 0 1 .382.921l-.074.136c-.306.561.308 1.175.869.87l.136-.075a.64.64 0 0 1 .92.382l.045.149c.18.612 1.048.612 1.229 0l.043-.15a.64.64 0 0 1 .921-.38l.136.074c.561.305 1.175-.309.87-.87l-.075-.136a.64.64 0 0 1 .382-.92l.149-.044c.612-.181.612-1.049 0-1.23l-.15-.043a.64.64 0 0 1-.38-.921l.074-.136c.305-.561-.309-1.175-.87-.87l-.136.075a.64.64 0 0 1-.92-.382ZM12.5 14a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\"}}]})(props);\n};\nexport function BsHouseGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.886 9.46c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.044c-.613-.181-.613-1.049 0-1.23l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}}]})(props);\n};\nexport function BsHouseHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.707L8 2.207 1.354 8.853a.5.5 0 1 1-.708-.707L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14 9.293-6-6-6 6V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9.293Zm-6-.811c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.691 0-5.018Z\"}}]})(props);\n};\nexport function BsHouseHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.982C9.664 5.309 13.825 8.236 8 12 2.175 8.236 6.336 5.309 8 6.982Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.707L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.646a.5.5 0 0 0 .708-.707L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5ZM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5 5 5Z\"}}]})(props);\n};\nexport function BsHouseLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.72 4.72a3 3 0 0 0-2.709 3.248A2 2 0 0 0 9 13v2H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9a2 2 0 0 0-2 2v1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1v-1a2 2 0 0 0-2-2Zm0 1a1 1 0 0 1 1 1v1h-2v-1a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsHouseLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13a1 1 0 0 1 1-1v-1a2 2 0 0 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsHouseSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.5 2.5 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95Z\"}}]})(props);\n};\nexport function BsHouseSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.5 2.5 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}}]})(props);\n};\nexport function BsHouseUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 1 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.707l1.5-1.5a.5.5 0 0 1 .708 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}}]})(props);\n};\nexport function BsHouseUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 1 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.707l1.5-1.5a.5.5 0 0 1 .708 0Z\"}}]})(props);\n};\nexport function BsHouseXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8 3.293 4.712 4.712A4.5 4.5 0 0 0 8.758 15H3.5A1.5 1.5 0 0 1 2 13.5V9.293l6-6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.646a.5.5 0 0 1 .708.707l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.707l.647-.647-.647-.646a.5.5 0 0 1 .708-.707Z\"}}]})(props);\n};\nexport function BsHouseX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.708L8 2.207l-5 5V13.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 2 13.5V8.207l-.646.647a.5.5 0 1 1-.708-.708L7.293 1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.646a.5.5 0 0 1 .708.707l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.707l.647-.647-.647-.646a.5.5 0 0 1 .708-.707Z\"}}]})(props);\n};\nexport function BsHouse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5ZM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5 5 5Z\"}}]})(props);\n};\nexport function BsHousesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.207 1a1 1 0 0 0-1.414 0L.146 6.646a.5.5 0 0 0 .708.708L1 7.207V12.5A1.5 1.5 0 0 0 2.5 14h.55a2.51 2.51 0 0 1-.05-.5V9.415a1.5 1.5 0 0 1-.56-2.475l5.353-5.354L7.207 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.793 2a1 1 0 0 1 1.414 0L12 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l1.854 1.853a.5.5 0 0 1-.708.708L15 8.207V13.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 4 13.5V8.207l-.146.147a.5.5 0 1 1-.708-.708L8.793 2Z\"}}]})(props);\n};\nexport function BsHouses (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.793 1a1 1 0 0 1 1.414 0l.647.646a.5.5 0 1 1-.708.708L6.5 1.707 2 6.207V12.5a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1A1.5 1.5 0 0 1 1 12.5V7.207l-.146.147a.5.5 0 0 1-.708-.708L5.793 1Zm3 1a1 1 0 0 1 1.414 0L12 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l1.854 1.853a.5.5 0 0 1-.708.708L15 8.207V13.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 4 13.5V8.207l-.146.147a.5.5 0 1 1-.708-.708L8.793 2Zm.707.707L5 7.207V13.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V7.207l-4.5-4.5Z\"}}]})(props);\n};\nexport function BsHr (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H4a1 1 0 0 0-1 1v2.5H2V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2.5h-1V4a1 1 0 0 0-1-1zM2 9.5h1V12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V9.5h1V12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5zm-1.5-2a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsHurricane (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.999 2.6A5.5 5.5 0 0 1 15 7.5a.5.5 0 0 0 1 0 6.5 6.5 0 1 0-13 0 5 5 0 0 0 6.001 4.9A5.5 5.5 0 0 1 1 7.5a.5.5 0 0 0-1 0 6.5 6.5 0 1 0 13 0 5 5 0 0 0-6.001-4.9zM10 7.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsHypnotize (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.949 7.998.006-.003.003.009-.01-.006Zm.025-.028v-.03l.018.01-.018.02Zm0 .015.04-.022.01.006v.04l-.029.016-.021-.012v-.028Zm.049.057v-.014l-.008.01.008.004Zm-.05-.008h.006l-.006.004v-.004Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM4.965 1.69a6.972 6.972 0 0 1 3.861-.642c.722.767 1.177 1.887 1.177 3.135 0 1.656-.802 3.088-1.965 3.766 1.263.24 2.655-.815 3.406-2.742.38-.975.537-2.023.492-2.996a7.027 7.027 0 0 1 2.488 3.003c-.303 1.01-1.046 1.966-2.128 2.59-1.44.832-3.09.85-4.26.173l.008.021.012-.006-.01.01c.42 1.218 2.032 1.9 4.08 1.586a7.415 7.415 0 0 0 2.856-1.081 6.963 6.963 0 0 1-1.358 3.662c-1.03.248-2.235.084-3.322-.544-1.433-.827-2.272-2.236-2.279-3.58l-.012-.003c-.845.972-.63 2.71.666 4.327a7.415 7.415 0 0 0 2.37 1.935 6.972 6.972 0 0 1-3.86.65c-.727-.767-1.186-1.892-1.186-3.146 0-1.658.804-3.091 1.969-3.768l-.002-.007c-1.266-.25-2.666.805-3.42 2.74a7.415 7.415 0 0 0-.49 3.012 7.026 7.026 0 0 1-2.49-3.018C1.87 9.757 2.613 8.8 3.696 8.174c1.438-.83 3.084-.85 4.253-.176l.005-.006C7.538 6.77 5.924 6.085 3.872 6.4c-1.04.16-2.03.55-2.853 1.08a6.962 6.962 0 0 1 1.372-3.667l-.002.003c1.025-.243 2.224-.078 3.306.547 1.43.826 2.269 2.23 2.28 3.573L8 7.941c.837-.974.62-2.706-.673-4.319a7.415 7.415 0 0 0-2.362-1.931Z\"}}]})(props);\n};\nexport function BsImageAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zm4.225 4.053a.5.5 0 0 0-.577.093l-3.71 4.71-2.66-2.772a.5.5 0 0 0-.63.062L.002 13v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4.5l-4.777-3.947z\"}}]})(props);\n};\nexport function BsImageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsImage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.002 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-12zm12 1a1 1 0 0 1 1 1v6.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12V3a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsImages (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.502 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.002 13a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2V5A2 2 0 0 1 2 3a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-1.998 2zM14 2H4a1 1 0 0 0-1 1h9.002a2 2 0 0 1 2 2v7A1 1 0 0 0 15 11V3a1 1 0 0 0-1-1zM2.002 4a1 1 0 0 0-1 1v8l2.646-2.354a.5.5 0 0 1 .63-.062l2.66 1.773 3.71-3.71a.5.5 0 0 1 .577-.094l1.777 1.947V5a1 1 0 0 0-1-1h-10z\"}}]})(props);\n};\nexport function BsInboxFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm-1.17-.437A1.5 1.5 0 0 1 4.98 3h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsInbox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438L14.933 9zM3.809 3.563A1.5 1.5 0 0 1 4.981 3h6.038a1.5 1.5 0 0 1 1.172.563l3.7 4.625a.5.5 0 0 1 .105.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsInboxesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zM3.81.563A1.5 1.5 0 0 1 4.98 0h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393z\"}}]})(props);\n};\nexport function BsInboxes (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562A.5.5 0 0 0 1.884 9h12.234a.5.5 0 0 0 .496-.438L14.933 6zM3.809.563A1.5 1.5 0 0 1 4.981 0h6.038a1.5 1.5 0 0 1 1.172.563l3.7 4.625a.5.5 0 0 1 .105.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393zm.941.83.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438l.32-2.562H10.45a2.5 2.5 0 0 1-4.9 0H1.066z\"}}]})(props);\n};\nexport function BsIncognito (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m4.736 1.968-.892 3.269-.014.058C2.113 5.568 1 6.006 1 6.5 1 7.328 4.134 8 8 8s7-.672 7-1.5c0-.494-1.113-.932-2.83-1.205a1.032 1.032 0 0 0-.014-.058l-.892-3.27c-.146-.533-.698-.849-1.239-.734C9.411 1.363 8.62 1.5 8 1.5c-.62 0-1.411-.136-2.025-.267-.541-.115-1.093.2-1.239.735Zm.015 3.867a.25.25 0 0 1 .274-.224c.9.092 1.91.143 2.975.143a29.58 29.58 0 0 0 2.975-.143.25.25 0 0 1 .05.498c-.918.093-1.944.145-3.025.145s-2.107-.052-3.025-.145a.25.25 0 0 1-.224-.274ZM3.5 10h2a.5.5 0 0 1 .5.5v1a1.5 1.5 0 0 1-3 0v-1a.5.5 0 0 1 .5-.5Zm-1.5.5c0-.175.03-.344.085-.5H2a.5.5 0 0 1 0-1h3.5a1.5 1.5 0 0 1 1.488 1.312 3.5 3.5 0 0 1 2.024 0A1.5 1.5 0 0 1 10.5 9H14a.5.5 0 0 1 0 1h-.085c.055.156.085.325.085.5v1a2.5 2.5 0 0 1-5 0v-.14l-.21-.07a2.5 2.5 0 0 0-1.58 0l-.21.07v.14a2.5 2.5 0 0 1-5 0v-1Zm8.5-.5h2a.5.5 0 0 1 .5.5v1a1.5 1.5 0 0 1-3 0v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsIndent (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 8a.5.5 0 0 1 .5-.5h6.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H3.5A.5.5 0 0 1 3 8Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsInfinity (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.68 5.792 7.345 7.75 5.681 9.708a2.75 2.75 0 1 1 0-3.916ZM8 6.978 6.416 5.113l-.014-.015a3.75 3.75 0 1 0 0 5.304l.014-.015L8 8.522l1.584 1.865.014.015a3.75 3.75 0 1 0 0-5.304l-.014.015L8 6.978Zm.656.772 1.663-1.958a2.75 2.75 0 1 1 0 3.916L8.656 7.75Z\"}}]})(props);\n};\nexport function BsInfoCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsInfoCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInfoLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.708 6.075-3.024.379-.108.502.595.108c.387.093.464.232.38.619l-.975 4.577c-.255 1.183.14 1.74 1.067 1.74.72 0 1.554-.332 1.933-.789l.116-.549c-.263.232-.65.325-.905.325-.363 0-.494-.255-.402-.704l1.323-6.208Zm.091-2.755a1.32 1.32 0 1 1-2.64 0 1.32 1.32 0 0 1 2.64 0Z\"}}]})(props);\n};\nexport function BsInfoSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.93 4.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM8 5.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsInfoSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInfo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInputCursorText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4v1zM6 5V4H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v-1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4z\"}}]})(props);\n};\nexport function BsInputCursor (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4v1zM6 5V4H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v-1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13A.5.5 0 0 1 8 1z\"}}]})(props);\n};\nexport function BsInstagram (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z\"}}]})(props);\n};\nexport function BsIntersect (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm5 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2v5a2 2 0 0 1-2 2H5zm6-8V2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2V6a2 2 0 0 1 2-2h5z\"}}]})(props);\n};\nexport function BsJournalAlbum (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5zm1 7a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 11a.5.5 0 0 0 .5-.5V6.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7.5 6.707V10.5a.5.5 0 0 0 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalBookmarkFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalBookmark (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 8V1h1v6.117L8.743 6.07a.5.5 0 0 1 .514 0L11 7.117V1h1v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalCode (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.646 5.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 8l1.647-1.646a.5.5 0 0 0 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalMedical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a.5.5 0 0 1 .5.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5A.5.5 0 0 1 8 4zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalRichtext (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 3.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047L11 4.75V7a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 7v-.5s1.54-1.274 1.639-1.208zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalText (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 6.146a.5.5 0 0 1 .708 0L8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournals (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2 2 2 0 0 1-2 2H3a2 2 0 0 1-2-2h1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1H1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v9a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1H3a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 6v-.5a.5.5 0 0 1 1 0V6h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V9h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 2.5v.5H.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H2v-.5a.5.5 0 0 0-1 0z\"}}]})(props);\n};\nexport function BsJoystick (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a2 2 0 0 1-1.5 1.937v5.087c.863.083 1.5.377 1.5.726 0 .414-.895.75-2 .75s-2-.336-2-.75c0-.35.637-.643 1.5-.726V3.937A2 2 0 1 1 10 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 9.665v1.717a1 1 0 0 0 .553.894l6.553 3.277a2 2 0 0 0 1.788 0l6.553-3.277a1 1 0 0 0 .553-.894V9.665c0-.1-.06-.19-.152-.23L9.5 6.715v.993l5.227 2.178a.125.125 0 0 1 .001.23l-5.94 2.546a2 2 0 0 1-1.576 0l-5.94-2.546a.125.125 0 0 1 .001-.23L6.5 7.708l-.013-.988L.152 9.435a.25.25 0 0 0-.152.23z\"}}]})(props);\n};\nexport function BsJustifyLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsJustifyRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsJustify (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsKanbanFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsKanban (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h11zm-11-1a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 3a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm-4 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm8 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3z\"}}]})(props);\n};\nexport function BsKeyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsKey (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsKeyboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\"}}]})(props);\n};\nexport function BsKeyboard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12zM2 4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm0-2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-5 0A.25.25 0 0 1 8.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 8 8.75v-.5zm2 0a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-.5zm1 2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-5-2A.25.25 0 0 1 6.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 8.75v-.5zm-2 0A.25.25 0 0 1 4.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 8.75v-.5zm-2 0A.25.25 0 0 1 2.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 8.75v-.5zm11-2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-2 0a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-2 0A.25.25 0 0 1 9.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 6.75v-.5zm-2 0A.25.25 0 0 1 7.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 6.75v-.5zm-2 0A.25.25 0 0 1 5.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 6.75v-.5zm-3 0A.25.25 0 0 1 2.25 6h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 6.75v-.5zm0 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm2 0a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-5.5a.25.25 0 0 1-.25-.25v-.5z\"}}]})(props);\n};\nexport function BsLadder (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1a.5.5 0 0 1 .5.5V2h6v-.5a.5.5 0 0 1 1 0v14a.5.5 0 0 1-1 0V15H5v.5a.5.5 0 0 1-1 0v-14a.5.5 0 0 1 .5-.5zM5 14h6v-2H5v2zm0-3h6V9H5v2zm0-3h6V6H5v2zm0-3h6V3H5v2z\"}}]})(props);\n};\nexport function BsLampFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.04.303A.5.5 0 0 1 5.5 0h5c.2 0 .38.12.46.303l3 7a.5.5 0 0 1-.363.687h-.002c-.15.03-.3.056-.45.081a32.731 32.731 0 0 1-4.645.425V13.5a.5.5 0 1 1-1 0V8.495a32.753 32.753 0 0 1-4.645-.425c-.15-.025-.3-.05-.45-.08h-.003a.5.5 0 0 1-.362-.688l3-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.493 12.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.052.075l-.001.004-.004.01V14l.002.008a.147.147 0 0 0 .016.033.62.62 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.62.62 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411Z\"}}]})(props);\n};\nexport function BsLamp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.04.303A.5.5 0 0 1 5.5 0h5c.2 0 .38.12.46.303l3 7a.5.5 0 0 1-.363.687h-.002c-.15.03-.3.056-.45.081a32.731 32.731 0 0 1-4.645.425V13.5a.5.5 0 1 1-1 0V8.495a32.753 32.753 0 0 1-4.645-.425c-.15-.025-.3-.05-.45-.08h-.003a.5.5 0 0 1-.362-.688l3-7ZM3.21 7.116A31.27 31.27 0 0 0 8 7.5a31.27 31.27 0 0 0 4.791-.384L10.171 1H5.83L3.209 7.116Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.493 12.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.052.075l-.001.004-.004.01V14l.002.008a.147.147 0 0 0 .016.033.62.62 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.62.62 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411Z\"}}]})(props);\n};\nexport function BsLaptopFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsLaptop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 3a.5.5 0 0 1 .5.5V11H2V3.5a.5.5 0 0 1 .5-.5h11zm-11-1A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsLayerBackward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 15.854a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708 0l.646.647V4H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9v7.793l.646-.647a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1 0 .708l-3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 9a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4.5a.5.5 0 0 1 0 1H1v2h4.5a.5.5 0 0 1 0 1H1zm9.5 0a.5.5 0 0 1 0-1H15V6h-4.5a.5.5 0 0 1 0-1H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4.5z\"}}]})(props);\n};\nexport function BsLayerForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354.146a.5.5 0 0 0-.708 0l-3 3a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708 0L7 4.207V12H1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9V4.207l.646.647a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 0-.708l-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.5a.5.5 0 0 0 0-1H1V8h4.5a.5.5 0 0 0 0-1H1zm9.5 0a.5.5 0 0 0 0 1H15v2h-4.5a.5.5 0 0 0 0 1H15a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-4.5z\"}}]})(props);\n};\nexport function BsLayersFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.765 1.559a.5.5 0 0 1 .47 0l7.5 4a.5.5 0 0 1 0 .882l-7.5 4a.5.5 0 0 1-.47 0l-7.5-4a.5.5 0 0 1 0-.882l7.5-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.125 8.567-1.86.992a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882l-1.86-.992-5.17 2.756a1.5 1.5 0 0 1-1.41 0l-5.17-2.756z\"}}]})(props);\n};\nexport function BsLayersHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882l-7.5-4zM8 9.433 1.562 6 8 2.567 14.438 6 8 9.433z\"}}]})(props);\n};\nexport function BsLayers (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882l-7.5-4zm3.515 7.008L14.438 10 8 13.433 1.562 10 4.25 8.567l3.515 1.874a.5.5 0 0 0 .47 0l3.515-1.874zM8 9.433 1.562 6 8 2.567 14.438 6 8 9.433z\"}}]})(props);\n};\nexport function BsLayoutSidebarInsetReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsLayoutSidebarInset (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zM2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z\"}}]})(props);\n};\nexport function BsLayoutSidebarReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3zm-5-1v12H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h9zm1 0h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2V2z\"}}]})(props);\n};\nexport function BsLayoutSidebar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm5-1v12h9a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H5zM4 2H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2V2z\"}}]})(props);\n};\nexport function BsLayoutSplit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm8.5-1v12H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H8.5zm-1 0H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h5.5V2z\"}}]})(props);\n};\nexport function BsLayoutTextSidebarReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm0 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm.5 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2zM4 1v14H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h2zm1 0h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5V1z\"}}]})(props);\n};\nexport function BsLayoutTextSidebar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zM3 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm12-1v14h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zm-1 0H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h9V1z\"}}]})(props);\n};\nexport function BsLayoutTextWindowReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm0 3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM2 1a1 1 0 0 0-1 1v1h14V2a1 1 0 0 0-1-1H2zM1 4v10a1 1 0 0 0 1 1h2V4H1zm4 0v11h9a1 1 0 0 0 1-1V4H5z\"}}]})(props);\n};\nexport function BsLayoutTextWindow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v1H1V2a1 1 0 0 1 1-1h12zm1 3v10a1 1 0 0 1-1 1h-2V4h3zm-4 0v11H2a1 1 0 0 1-1-1V4h10z\"}}]})(props);\n};\nexport function BsLayoutThreeColumns (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5H5V1H1.5zM10 15V1H6v14h4zm1 0h3.5a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H11v14z\"}}]})(props);\n};\nexport function BsLayoutWtf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1v8H1V1h4zM1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm13 2v5H9V2h5zM9 1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9zM5 13v2H3v-2h2zm-2-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3zm12-1v2H9v-2h6zm-6-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9z\"}}]})(props);\n};\nexport function BsLifePreserver (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm6.43-5.228a7.025 7.025 0 0 1-3.658 3.658l-1.115-2.788a4.015 4.015 0 0 0 1.985-1.985l2.788 1.115zM5.228 14.43a7.025 7.025 0 0 1-3.658-3.658l2.788-1.115a4.015 4.015 0 0 0 1.985 1.985L5.228 14.43zm9.202-9.202-2.788 1.115a4.015 4.015 0 0 0-1.985-1.985l1.115-2.788a7.025 7.025 0 0 1 3.658 3.658zm-8.087-.87a4.015 4.015 0 0 0-1.985 1.985L1.57 5.228A7.025 7.025 0 0 1 5.228 1.57l1.115 2.788zM8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsLightbulbFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm3 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsLightbulbOffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.572.08-1.125.23-1.65l8.558 8.559A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm10.303 4.181L3.818 1.697a6 6 0 0 1 8.484 8.484zM5 14.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5zM2.354 1.646a.5.5 0 1 0-.708.708l12 12a.5.5 0 0 0 .708-.708l-12-12z\"}}]})(props);\n};\nexport function BsLightbulbOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.23 4.35A6.004 6.004 0 0 0 2 6c0 1.691.7 3.22 1.826 4.31.203.196.359.4.453.619l.762 1.769A.5.5 0 0 0 5.5 13a.5.5 0 0 0 0 1 .5.5 0 0 0 0 1l.224.447a1 1 0 0 0 .894.553h2.764a1 1 0 0 0 .894-.553L10.5 15a.5.5 0 0 0 0-1 .5.5 0 0 0 0-1 .5.5 0 0 0 .288-.091L9.878 12H5.83l-.632-1.467a2.954 2.954 0 0 0-.676-.941 4.984 4.984 0 0 1-1.455-4.405l-.837-.836zm1.588-2.653.708.707a5 5 0 0 1 7.07 7.07l.707.707a6 6 0 0 0-8.484-8.484zm-2.172-.051a.5.5 0 0 1 .708 0l12 12a.5.5 0 0 1-.708.708l-12-12a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsLightbulb (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsLightningChargeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z\"}}]})(props);\n};\nexport function BsLightningCharge (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09zM4.157 8.5H7a.5.5 0 0 1 .478.647L6.11 13.59l5.732-6.09H9a.5.5 0 0 1-.478-.647L9.89 2.41 4.157 8.5z\"}}]})(props);\n};\nexport function BsLightningFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5z\"}}]})(props);\n};\nexport function BsLightning (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5zM6.374 1 4.168 8.5H7.5a.5.5 0 0 1 .478.647L6.78 13.04 11.478 7H8a.5.5 0 0 1-.474-.658L9.306 1H6.374z\"}}]})(props);\n};\nexport function BsLine (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c4.411 0 8 2.912 8 6.492 0 1.433-.555 2.723-1.715 3.994-1.678 1.932-5.431 4.285-6.285 4.645-.83.35-.734-.197-.696-.413l.003-.018.114-.685c.027-.204.055-.521-.026-.723-.09-.223-.444-.339-.704-.395C2.846 12.39 0 9.701 0 6.492 0 2.912 3.59 0 8 0ZM5.022 7.686H3.497V4.918a.156.156 0 0 0-.155-.156H2.78a.156.156 0 0 0-.156.156v3.486c0 .041.017.08.044.107v.001l.002.002.002.002a.154.154 0 0 0 .108.043h2.242c.086 0 .155-.07.155-.156v-.56a.156.156 0 0 0-.155-.157Zm.791-2.924a.156.156 0 0 0-.156.156v3.486c0 .086.07.155.156.155h.562c.086 0 .155-.07.155-.155V4.918a.156.156 0 0 0-.155-.156h-.562Zm3.863 0a.156.156 0 0 0-.156.156v2.07L7.923 4.832a.17.17 0 0 0-.013-.015v-.001a.139.139 0 0 0-.01-.01l-.003-.003a.092.092 0 0 0-.011-.009h-.001L7.88 4.79l-.003-.002a.029.029 0 0 0-.005-.003l-.008-.005h-.002l-.003-.002-.01-.004-.004-.002a.093.093 0 0 0-.01-.003h-.002l-.003-.001-.009-.002h-.006l-.003-.001h-.004l-.002-.001h-.574a.156.156 0 0 0-.156.155v3.486c0 .086.07.155.156.155h.56c.087 0 .157-.07.157-.155v-2.07l1.6 2.16a.154.154 0 0 0 .039.038l.001.001.01.006.004.002a.066.066 0 0 0 .008.004l.007.003.005.002a.168.168 0 0 0 .01.003h.003a.155.155 0 0 0 .04.006h.56c.087 0 .157-.07.157-.155V4.918a.156.156 0 0 0-.156-.156h-.561Zm3.815.717v-.56a.156.156 0 0 0-.155-.157h-2.242a.155.155 0 0 0-.108.044h-.001l-.001.002-.002.003a.155.155 0 0 0-.044.107v3.486c0 .041.017.08.044.107l.002.003.002.002a.155.155 0 0 0 .108.043h2.242c.086 0 .155-.07.155-.156v-.56a.156.156 0 0 0-.155-.157H11.81v-.589h1.525c.086 0 .155-.07.155-.156v-.56a.156.156 0 0 0-.155-.157H11.81v-.589h1.525c.086 0 .155-.07.155-.156Z\"}}]})(props);\n};\nexport function BsLink45Deg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z\"}}]})(props);\n};\nexport function BsLink (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9c-.086 0-.17.01-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4.02 4.02 0 0 1-.82 1H12a3 3 0 1 0 0-6H9z\"}}]})(props);\n};\nexport function BsLinkedin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z\"}}]})(props);\n};\nexport function BsListCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3.854 2.146a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 3.293l1.146-1.147a.5.5 0 0 1 .708 0zm0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 7.293l1.146-1.147a.5.5 0 0 1 .708 0zm0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsListColumnsReverse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 .5Zm4 0a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10A.5.5 0 0 1 4 .5Zm-4 2A.5.5 0 0 1 .5 2h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm-4 2A.5.5 0 0 1 .5 4h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm-4 2A.5.5 0 0 1 .5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm-4 2A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm-4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5Zm-4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm-4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4 0a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsListColumns (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 0 .5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2A.5.5 0 0 1 .5 2h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2A.5.5 0 0 1 .5 4h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2A.5.5 0 0 1 .5 6h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2A.5.5 0 0 1 .5 8h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-13 2a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5Zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsListNested (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsListOl (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.713 11.865v-.474H2c.217 0 .363-.137.363-.317 0-.185-.158-.31-.361-.31-.223 0-.367.152-.373.31h-.59c.016-.467.373-.787.986-.787.588-.002.954.291.957.703a.595.595 0 0 1-.492.594v.033a.615.615 0 0 1 .569.631c.003.533-.502.8-1.051.8-.656 0-1-.37-1.008-.794h.582c.008.178.186.306.422.309.254 0 .424-.145.422-.35-.002-.195-.155-.348-.414-.348h-.3zm-.004-4.699h-.604v-.035c0-.408.295-.844.958-.844.583 0 .96.326.96.756 0 .389-.257.617-.476.848l-.537.572v.03h1.054V9H1.143v-.395l.957-.99c.138-.142.293-.304.293-.508 0-.18-.147-.32-.342-.32a.33.33 0 0 0-.342.338v.041zM2.564 5h-.635V2.924h-.031l-.598.42v-.567l.629-.443h.635V5z\"}}]})(props);\n};\nexport function BsListStars (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.242 2.194a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.256-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53zm0 4a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.255-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53zm0 4a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.255-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53z\"}}]})(props);\n};\nexport function BsListTask (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H2zM3 3H2v1h1V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM5.5 7a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 7a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V7zM2 7h1v1H2V7zm0 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H2zm1 .5H2v1h1v-1z\"}}]})(props);\n};\nexport function BsListUl (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsList (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsLuggageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V5h.5A1.5 1.5 0 0 1 8 6.5V7H7v-.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5H4v1H2.5v.25a.75.75 0 0 1-1.5 0v-.335A1.5 1.5 0 0 1 0 13.5v-7A1.5 1.5 0 0 1 1.5 5H2V1.5ZM3 5h2V2H3v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 7a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5Zm10 1v-.5A1.5 1.5 0 0 0 11 6h-1a1.5 1.5 0 0 0-1.5 1.5V8H8v8h5V8h-.5ZM10 7h1a.5.5 0 0 1 .5.5V8h-2v-.5A.5.5 0 0 1 10 7ZM5 9.5A1.5 1.5 0 0 1 6.5 8H7v8h-.5A1.5 1.5 0 0 1 5 14.5v-5Zm9 6.5V8h.5A1.5 1.5 0 0 1 16 9.5v5a1.5 1.5 0 0 1-1.5 1.5H14Z\"}}]})(props);\n};\nexport function BsLuggage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a.5.5 0 0 0-.5.5V5h-.5A1.5 1.5 0 0 0 0 6.5v7a1.5 1.5 0 0 0 1 1.415v.335a.75.75 0 0 0 1.5 0V15H4v-1H1.5a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5V7h1v-.5A1.5 1.5 0 0 0 6.5 5H6V1.5a.5.5 0 0 0-.5-.5h-3ZM5 5H3V2h2v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0v-5ZM11 6a1.5 1.5 0 0 1 1.5 1.5V8h2A1.5 1.5 0 0 1 16 9.5v5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 14.5v-5A1.5 1.5 0 0 1 6.5 8h2v-.5A1.5 1.5 0 0 1 10 6h1ZM9.5 7.5V8h2v-.5A.5.5 0 0 0 11 7h-1a.5.5 0 0 0-.5.5ZM6 9.5v5a.5.5 0 0 0 .5.5H7V9h-.5a.5.5 0 0 0-.5.5Zm7 5.5V9H8v6h5Zm1.5 0a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H14v6h.5Z\"}}]})(props);\n};\nexport function BsLungsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a.5.5 0 0 1 .5.5v5.243L9 7.1V4.72C9 3.77 9.77 3 10.72 3c.524 0 1.023.27 1.443.592.431.332.847.773 1.216 1.229.736.908 1.347 1.946 1.58 2.48.176.405.393 1.16.556 2.011.165.857.283 1.857.24 2.759-.04.867-.232 1.79-.837 2.33-.67.6-1.622.556-2.741-.004l-1.795-.897A2.5 2.5 0 0 1 9 11.264V8.329l-1-.715-1 .715V7.214c-.1 0-.202.03-.29.093l-2.5 1.786a.5.5 0 1 0 .58.814L7 8.329v2.935A2.5 2.5 0 0 1 5.618 13.5l-1.795.897c-1.12.56-2.07.603-2.741.004-.605-.54-.798-1.463-.838-2.33-.042-.902.076-1.902.24-2.759.164-.852.38-1.606.558-2.012.232-.533.843-1.571 1.579-2.479.37-.456.785-.897 1.216-1.229C4.257 3.27 4.756 3 5.28 3 6.23 3 7 3.77 7 4.72V7.1l.5-.357V1.5A.5.5 0 0 1 8 1Zm3.21 8.907a.5.5 0 1 0 .58-.814l-2.5-1.786A.498.498 0 0 0 9 7.214V8.33l2.21 1.578Z\"}}]})(props);\n};\nexport function BsLungs (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5a.5.5 0 1 0-1 0v5.243L7 7.1V4.72C7 3.77 6.23 3 5.28 3c-.524 0-1.023.27-1.443.592-.431.332-.847.773-1.216 1.229-.736.908-1.347 1.946-1.58 2.48-.176.405-.393 1.16-.556 2.011-.165.857-.283 1.857-.241 2.759.04.867.233 1.79.838 2.33.67.6 1.622.556 2.741-.004l1.795-.897A2.5 2.5 0 0 0 7 11.264V10.5a.5.5 0 0 0-1 0v.764a1.5 1.5 0 0 1-.83 1.342l-1.794.897c-.978.489-1.415.343-1.628.152-.28-.25-.467-.801-.505-1.63-.037-.795.068-1.71.224-2.525.157-.82.357-1.491.491-1.8.19-.438.75-1.4 1.44-2.25.342-.422.703-.799 1.049-1.065.358-.276.639-.385.833-.385a.72.72 0 0 1 .72.72v3.094l-1.79 1.28a.5.5 0 0 0 .58.813L8 7.614l3.21 2.293a.5.5 0 1 0 .58-.814L10 7.814V4.72a.72.72 0 0 1 .72-.72c.194 0 .475.11.833.385.346.266.706.643 1.05 1.066.688.85 1.248 1.811 1.439 2.249.134.309.334.98.491 1.8.156.814.26 1.73.224 2.525-.038.829-.224 1.38-.505 1.63-.213.19-.65.337-1.628-.152l-1.795-.897A1.5 1.5 0 0 1 10 11.264V10.5a.5.5 0 0 0-1 0v.764a2.5 2.5 0 0 0 1.382 2.236l1.795.897c1.12.56 2.07.603 2.741.004.605-.54.798-1.463.838-2.33.042-.902-.076-1.902-.24-2.759-.164-.852-.38-1.606-.558-2.012-.232-.533-.843-1.571-1.579-2.479-.37-.456-.785-.897-1.216-1.229C11.743 3.27 11.244 3 10.72 3 9.77 3 9 3.77 9 4.72V7.1l-.5-.357V1.5Z\"}}]})(props);\n};\nexport function BsMagic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 2.672a.5.5 0 1 0 1 0V.843a.5.5 0 0 0-1 0v1.829Zm4.5.035A.5.5 0 0 0 13.293 2L12 3.293a.5.5 0 1 0 .707.707L14 2.707ZM7.293 4A.5.5 0 1 0 8 3.293L6.707 2A.5.5 0 0 0 6 2.707L7.293 4Zm-.621 2.5a.5.5 0 1 0 0-1H4.843a.5.5 0 1 0 0 1h1.829Zm8.485 0a.5.5 0 1 0 0-1h-1.829a.5.5 0 0 0 0 1h1.829ZM13.293 10A.5.5 0 1 0 14 9.293L12.707 8a.5.5 0 1 0-.707.707L13.293 10ZM9.5 11.157a.5.5 0 0 0 1 0V9.328a.5.5 0 0 0-1 0v1.829Zm1.854-5.097a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L8.646 5.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0l1.293-1.293Zm-3 3a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L.646 13.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0L8.354 9.06Z\"}}]})(props);\n};\nexport function BsMagnetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12h-4v3h4v-3ZM5 12H1v3h4v-3ZM0 8a8 8 0 1 1 16 0v8h-6V8a2 2 0 1 0-4 0v8H0V8Z\"}}]})(props);\n};\nexport function BsMagnet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 0 0-7 7v3h4V8a3 3 0 0 1 6 0v3h4V8a7 7 0 0 0-7-7Zm7 11h-4v3h4v-3ZM5 12H1v3h4v-3ZM0 8a8 8 0 1 1 16 0v8h-6V8a2 2 0 1 0-4 0v8H0V8Z\"}}]})(props);\n};\nexport function BsMailboxFlag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5V3.707l.854-.853A.5.5 0 0 0 11.5 2.5v-2A.5.5 0 0 0 11 0H9.5a.5.5 0 0 0-.5.5v8h1.5ZM5 7c0 .334-.164.264-.415.157C4.42 7.087 4.218 7 4 7c-.218 0-.42.086-.585.157C3.164 7.264 3 7.334 3 7a1 1 0 0 1 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h4v1H6.646A3.99 3.99 0 0 1 8 7v6h7V7a3 3 0 0 0-3-3V3a4 4 0 0 1 4 4v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a4 4 0 0 1 4-4Zm0 1a3 3 0 0 0-3 3v6h6V7a3 3 0 0 0-3-3Z\"}}]})(props);\n};\nexport function BsMailbox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a3 3 0 0 0-3 3v6h6V7a3 3 0 0 0-3-3zm0-1h8a4 4 0 0 1 4 4v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a4 4 0 0 1 4-4zm2.646 1A3.99 3.99 0 0 1 8 7v6h7V7a3 3 0 0 0-3-3H6.646z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.793 8.5H9v-1h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.354-.146l-.853-.854zM5 7c0 .552-.448 0-1 0s-1 .552-1 0a1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsMailbox2Flag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5V3.707l.854-.853A.5.5 0 0 0 11.5 2.5v-2A.5.5 0 0 0 11 0H9.5a.5.5 0 0 0-.5.5v8h1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h4v1H6.646A3.99 3.99 0 0 1 8 7v6h7V7a3 3 0 0 0-3-3V3a4 4 0 0 1 4 4v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a4 4 0 0 1 4-4Zm.585 4.157C4.836 7.264 5 7.334 5 7a1 1 0 0 0-2 0c0 .334.164.264.415.157C3.58 7.087 3.782 7 4 7c.218 0 .42.086.585.157Z\"}}]})(props);\n};\nexport function BsMailbox2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8.5h2.793l.853.854A.5.5 0 0 0 13 9.5h1a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H9v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H4a4 4 0 0 0-4 4v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7a4 4 0 0 0-4-4zM8 7a3.99 3.99 0 0 0-1.354-3H12a3 3 0 0 1 3 3v6H8V7zm-3.415.157C4.42 7.087 4.218 7 4 7c-.218 0-.42.086-.585.157C3.164 7.264 3 7.334 3 7a1 1 0 0 1 2 0c0 .334-.164.264-.415.157z\"}}]})(props);\n};\nexport function BsMapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.598-.49L10.5.99 5.598.01a.5.5 0 0 0-.196 0l-5 1A.5.5 0 0 0 0 1.5v14a.5.5 0 0 0 .598.49l4.902-.98 4.902.98a.502.502 0 0 0 .196 0l5-1A.5.5 0 0 0 16 14.5V.5zM5 14.09V1.11l.5-.1.5.1v12.98l-.402-.08a.498.498 0 0 0-.196 0L5 14.09zm5 .8V1.91l.402.08a.5.5 0 0 0 .196 0L11 1.91v12.98l-.5.1-.5-.1z\"}}]})(props);\n};\nexport function BsMap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.817.113A.5.5 0 0 1 16 .5v14a.5.5 0 0 1-.402.49l-5 1a.502.502 0 0 1-.196 0L5.5 15.01l-4.902.98A.5.5 0 0 1 0 15.5v-14a.5.5 0 0 1 .402-.49l5-1a.5.5 0 0 1 .196 0L10.5.99l4.902-.98a.5.5 0 0 1 .415.103zM10 1.91l-4-.8v12.98l4 .8V1.91zm1 12.98 4-.8V1.11l-4 .8v12.98zm-6-.8V1.11l-4 .8v12.98l4-.8z\"}}]})(props);\n};\nexport function BsMarkdownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z\"}}]})(props);\n};\nexport function BsMarkdown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.146 8.146a.5.5 0 0 1 .708 0L11.5 9.793l1.646-1.647a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.56 11V7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06z\"}}]})(props);\n};\nexport function BsMarkerTip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-4.5 6.064-1.281-4.696A.5.5 0 0 0 9.736 9H6.264a.5.5 0 0 0-.483.368l-1.28 4.696A6.968 6.968 0 0 0 8 15c1.275 0 2.47-.34 3.5-.936Zm.873-.598a7 7 0 1 0-8.746 0l1.19-4.36a1.5 1.5 0 0 1 1.31-1.1l1.155-3.851c.213-.713 1.223-.713 1.436 0l1.156 3.851a1.5 1.5 0 0 1 1.31 1.1l1.189 4.36Z\"}}]})(props);\n};\nexport function BsMask (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.225 1.227A7.5 7.5 0 0 1 10.5 8a7.5 7.5 0 0 1-4.275 6.773 7 7 0 1 0 0-13.546zM4.187.966a8 8 0 1 1 7.627 14.069A8 8 0 0 1 4.186.964z\"}}]})(props);\n};\nexport function BsMastodon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z\"}}]})(props);\n};\nexport function BsMedium (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.025 8c0 2.485-2.02 4.5-4.513 4.5A4.506 4.506 0 0 1 0 8c0-2.486 2.02-4.5 4.512-4.5A4.506 4.506 0 0 1 9.025 8zm4.95 0c0 2.34-1.01 4.236-2.256 4.236-1.246 0-2.256-1.897-2.256-4.236 0-2.34 1.01-4.236 2.256-4.236 1.246 0 2.256 1.897 2.256 4.236zM16 8c0 2.096-.355 3.795-.794 3.795-.438 0-.793-1.7-.793-3.795 0-2.096.355-3.795.794-3.795.438 0 .793 1.699.793 3.795z\"}}]})(props);\n};\nexport function BsMegaphoneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z\"}}]})(props);\n};\nexport function BsMegaphone (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-.214c-2.162-1.241-4.49-1.843-6.912-2.083l.405 2.712A1 1 0 0 1 5.51 15.1h-.548a1 1 0 0 1-.916-.599l-1.85-3.49a68.14 68.14 0 0 0-.202-.003A2.014 2.014 0 0 1 0 9V7a2.02 2.02 0 0 1 1.992-2.013 74.663 74.663 0 0 0 2.483-.075c3.043-.154 6.148-.849 8.525-2.199V2.5zm1 0v11a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0zm-1 1.35c-2.344 1.205-5.209 1.842-8 2.033v4.233c.18.01.359.022.537.036 2.568.189 5.093.744 7.463 1.993V3.85zm-9 6.215v-4.13a95.09 95.09 0 0 1-1.992.052A1.02 1.02 0 0 0 1 7v2c0 .55.448 1.002 1.006 1.009A60.49 60.49 0 0 1 4 10.065zm-.657.975 1.609 3.037.01.024h.548l-.002-.014-.443-2.966a68.019 68.019 0 0 0-1.722-.082z\"}}]})(props);\n};\nexport function BsMemory (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4.586a1 1 0 0 0 .707-.293l.353-.353a.5.5 0 0 1 .708 0l.353.353a1 1 0 0 0 .707.293H15a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Zm.5 1h3a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Zm5 0h3a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Zm4.5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-4ZM2 10v2H1v-2h1Zm2 0v2H3v-2h1Zm2 0v2H5v-2h1Zm3 0v2H8v-2h1Zm2 0v2h-1v-2h1Zm2 0v2h-1v-2h1Zm2 0v2h-1v-2h1Z\"}}]})(props);\n};\nexport function BsMenuAppFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuApp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h8A1.5 1.5 0 0 0 11 3.5v-2A1.5 1.5 0 0 0 9.5 0h-8zm5.927 2.427A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonWideFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonWide (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v2A1.5 1.5 0 0 1 14.5 5h-13A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm10.823.323-.396-.396A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButton (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v2A1.5 1.5 0 0 1 9.5 5h-8A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.823 2.823-.396-.396A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646.146a.5.5 0 0 1 .708 0L10.207 2H14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h3.793L7.646.146zM1 7v3h14V7H1zm14-1V4a1 1 0 0 0-1-1h-3.793a1 1 0 0 1-.707-.293L8 1.207l-1.5 1.5A1 1 0 0 1 5.793 3H2a1 1 0 0 0-1 1v2h14zm0 5H1v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2zM2 4.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0L10.207 14H14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3.793l1.853 1.854zM1 9V6h14v3H1zm14 1v2a1 1 0 0 1-1 1h-3.793a1 1 0 0 0-.707.293l-1.5 1.5-1.5-1.5A1 1 0 0 0 5.793 13H2a1 1 0 0 1-1-1v-2h14zm0-5H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2zM2 11.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 0-1h-8a.5.5 0 0 0-.5.5zm0-4a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11a.5.5 0 0 0-.5.5zm0-4a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsMessenger (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7.76C0 3.301 3.493 0 8 0s8 3.301 8 7.76-3.493 7.76-8 7.76c-.81 0-1.586-.107-2.316-.307a.639.639 0 0 0-.427.03l-1.588.702a.64.64 0 0 1-.898-.566l-.044-1.423a.639.639 0 0 0-.215-.456C.956 12.108 0 10.092 0 7.76zm5.546-1.459-2.35 3.728c-.225.358.214.761.551.506l2.525-1.916a.48.48 0 0 1 .578-.002l1.869 1.402a1.2 1.2 0 0 0 1.735-.32l2.35-3.728c.226-.358-.214-.761-.551-.506L9.728 7.381a.48.48 0 0 1-.578.002L7.281 5.98a1.2 1.2 0 0 0-1.735.32z\"}}]})(props);\n};\nexport function BsMeta (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.217 5.243C9.145 3.988 10.171 3 11.483 3 13.96 3 16 6.153 16.001 9.907c0 2.29-.986 3.725-2.757 3.725-1.543 0-2.395-.866-3.924-3.424l-.667-1.123-.118-.197a54.944 54.944 0 0 0-.53-.877l-1.178 2.08c-1.673 2.925-2.615 3.541-3.923 3.541C1.086 13.632 0 12.217 0 9.973 0 6.388 1.995 3 4.598 3c.319 0 .625.039.924.122.31.086.611.22.913.407.577.359 1.154.915 1.782 1.714Zm1.516 2.224c-.252-.41-.494-.787-.727-1.133L9 6.326c.845-1.305 1.543-1.954 2.372-1.954 1.723 0 3.102 2.537 3.102 5.653 0 1.188-.39 1.877-1.195 1.877-.773 0-1.142-.51-2.61-2.87l-.937-1.565ZM4.846 4.756c.725.1 1.385.634 2.34 2.001A212.13 212.13 0 0 0 5.551 9.3c-1.357 2.126-1.826 2.603-2.581 2.603-.777 0-1.24-.682-1.24-1.9 0-2.602 1.298-5.264 2.846-5.264.091 0 .181.006.27.018Z\"}}]})(props);\n};\nexport function BsMicFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsMicMuteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879L5.158 2.037A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.486 10.607 5 6.12V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsMicMute (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879l-1-1V3a2 2 0 0 0-3.997-.118l-.845-.845A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.486 10.607-.748-.748A2 2 0 0 1 6 8v-.878l-1-1V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsMic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0V3a2 2 0 1 1 4 0v5zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z\"}}]})(props);\n};\nexport function BsMicrosoftTeams (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.186 4.797a2.42 2.42 0 1 0-2.86-2.448h1.178c.929 0 1.682.753 1.682 1.682v.766Zm-4.295 7.738h2.613c.929 0 1.682-.753 1.682-1.682V5.58h2.783a.7.7 0 0 1 .682.716v4.294a4.197 4.197 0 0 1-4.093 4.293c-1.618-.04-3-.99-3.667-2.35Zm10.737-9.372a1.674 1.674 0 1 1-3.349 0 1.674 1.674 0 0 1 3.349 0Zm-2.238 9.488c-.04 0-.08 0-.12-.002a5.19 5.19 0 0 0 .381-2.07V6.306a1.692 1.692 0 0 0-.15-.725h1.792c.39 0 .707.317.707.707v3.765a2.598 2.598 0 0 1-2.598 2.598h-.013Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.682 3.349h6.822c.377 0 .682.305.682.682v6.822a.682.682 0 0 1-.682.682H.682A.682.682 0 0 1 0 10.853V4.03c0-.377.305-.682.682-.682Zm5.206 2.596v-.72h-3.59v.72h1.357V9.66h.87V5.945h1.363Z\"}}]})(props);\n};\nexport function BsMicrosoft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z\"}}]})(props);\n};\nexport function BsMinecartLoaded (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1a2.498 2.498 0 0 1 4 0c.818 0 1.545.394 2 1 .67 0 1.552.57 2 1h-2c-.314 0-.611-.15-.8-.4-.274-.365-.71-.6-1.2-.6-.314 0-.611-.15-.8-.4a1.497 1.497 0 0 0-2.4 0c-.189.25-.486.4-.8.4-.507 0-.955.251-1.228.638-.09.13-.194.25-.308.362H3c.13-.147.401-.432.562-.545a1.63 1.63 0 0 0 .393-.393A2.498 2.498 0 0 1 6 1z\"}}]})(props);\n};\nexport function BsMinecart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z\"}}]})(props);\n};\nexport function BsModemFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0a1.5 1.5 0 0 0-1.5 1.5v11a1.5 1.5 0 0 0 1.404 1.497c-.35.305-.872.678-1.628 1.056A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .224-.947c-.756-.378-1.278-.75-1.628-1.056A1.5 1.5 0 0 0 10.5 12.5v-11A1.5 1.5 0 0 0 9 0H7Zm1 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm0 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm.5 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM8 9a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"}}]})(props);\n};\nexport function BsModem (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 1.5A1.5 1.5 0 0 1 7 0h2a1.5 1.5 0 0 1 1.5 1.5v11a1.5 1.5 0 0 1-1.404 1.497c.35.305.872.678 1.628 1.056A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.224-.947c.756-.378 1.277-.75 1.628-1.056A1.5 1.5 0 0 1 5.5 12.5v-11ZM7 1a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-11A.5.5 0 0 0 9 1H7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsMoisture (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 0a.5.5 0 0 0 0 1H15v2.75h-.5a.5.5 0 0 0 0 1h.5V7.5h-1.5a.5.5 0 0 0 0 1H15v2.75h-.5a.5.5 0 0 0 0 1h.5V15h-1.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5V.5a.5.5 0 0 0-.5-.5h-2zM7 1.5l.364-.343a.5.5 0 0 0-.728 0l-.002.002-.006.007-.022.023-.08.088a28.458 28.458 0 0 0-1.274 1.517c-.769.983-1.714 2.325-2.385 3.727C2.368 7.564 2 8.682 2 9.733 2 12.614 4.212 15 7 15s5-2.386 5-5.267c0-1.05-.368-2.169-.867-3.212-.671-1.402-1.616-2.744-2.385-3.727a28.458 28.458 0 0 0-1.354-1.605l-.022-.023-.006-.007-.002-.001L7 1.5zm0 0-.364-.343L7 1.5zm-.016.766L7 2.247l.016.019c.24.274.572.667.944 1.144.611.781 1.32 1.776 1.901 2.827H4.14c.58-1.051 1.29-2.046 1.9-2.827.373-.477.706-.87.945-1.144zM3 9.733c0-.755.244-1.612.638-2.496h6.724c.395.884.638 1.741.638 2.496C11 12.117 9.182 14 7 14s-4-1.883-4-4.267z\"}}]})(props);\n};\nexport function BsMoonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}}]})(props);\n};\nexport function BsMoonStarsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsMoonStars (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsMoon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z\"}}]})(props);\n};\nexport function BsMortarboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.211 2.047a.5.5 0 0 0-.422 0l-7.5 3.5a.5.5 0 0 0 .025.917l7.5 3a.5.5 0 0 0 .372 0L14 7.14V13a1 1 0 0 0-1 1v2h3v-2a1 1 0 0 0-1-1V6.739l.686-.275a.5.5 0 0 0 .025-.917l-7.5-3.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 9.032a.5.5 0 0 0-.656.327l-.5 1.7a.5.5 0 0 0 .294.605l4.5 1.8a.5.5 0 0 0 .372 0l4.5-1.8a.5.5 0 0 0 .294-.605l-.5-1.7a.5.5 0 0 0-.656-.327L8 10.466 4.176 9.032Z\"}}]})(props);\n};\nexport function BsMortarboard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.211 2.047a.5.5 0 0 0-.422 0l-7.5 3.5a.5.5 0 0 0 .025.917l7.5 3a.5.5 0 0 0 .372 0L14 7.14V13a1 1 0 0 0-1 1v2h3v-2a1 1 0 0 0-1-1V6.739l.686-.275a.5.5 0 0 0 .025-.917l-7.5-3.5ZM8 8.46 1.758 5.965 8 3.052l6.242 2.913L8 8.46Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 9.032a.5.5 0 0 0-.656.327l-.5 1.7a.5.5 0 0 0 .294.605l4.5 1.8a.5.5 0 0 0 .372 0l4.5-1.8a.5.5 0 0 0 .294-.605l-.5-1.7a.5.5 0 0 0-.656-.327L8 10.466 4.176 9.032Zm-.068 1.873.22-.748 3.496 1.311a.5.5 0 0 0 .352 0l3.496-1.311.22.748L8 12.46l-3.892-1.556Z\"}}]})(props);\n};\nexport function BsMotherboardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7h3V4H5v3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-2H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 9H1V8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6H1V5H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 2H1Zm11 .5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm2 0a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7ZM3.5 10a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM4 4h-.5a.5.5 0 0 0 0 1H4v1h-.5a.5.5 0 0 0 0 1H4a1 1 0 0 0 1 1v.5a.5.5 0 0 0 1 0V8h1v.5a.5.5 0 0 0 1 0V8a1 1 0 0 0 1-1h.5a.5.5 0 0 0 0-1H9V5h.5a.5.5 0 0 0 0-1H9a1 1 0 0 0-1-1v-.5a.5.5 0 0 0-1 0V3H6v-.5a.5.5 0 0 0-1 0V3a1 1 0 0 0-1 1Zm7 7.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsMotherboard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm2 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm-10 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM5 3a1 1 0 0 0-1 1h-.5a.5.5 0 0 0 0 1H4v1h-.5a.5.5 0 0 0 0 1H4a1 1 0 0 0 1 1v.5a.5.5 0 0 0 1 0V8h1v.5a.5.5 0 0 0 1 0V8a1 1 0 0 0 1-1h.5a.5.5 0 0 0 0-1H9V5h.5a.5.5 0 0 0 0-1H9a1 1 0 0 0-1-1v-.5a.5.5 0 0 0-1 0V3H6v-.5a.5.5 0 0 0-1 0V3Zm0 1h3v3H5V4Zm6.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-2H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 9H1V8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6H1V5H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 2H1Zm1 11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v11Z\"}}]})(props);\n};\nexport function BsMouseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a5 5 0 0 1 10 0v6a5 5 0 0 1-10 0V5zm5.5-1.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2z\"}}]})(props);\n};\nexport function BsMouse (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm4 8a4 4 0 0 1-8 0V5a4 4 0 1 1 8 0v6zM8 0a5 5 0 0 0-5 5v6a5 5 0 0 0 10 0V5a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsMouse2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5.026C4.958.286 3 2.515 3 5.188V5.5h4.5V.026zm1 0V5.5H13v-.312C13 2.515 11.042.286 8.5.026zM13 6.5H3v4.313C3 13.658 5.22 16 8 16s5-2.342 5-5.188V6.5z\"}}]})(props);\n};\nexport function BsMouse2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.188C3 2.341 5.22 0 8 0s5 2.342 5 5.188v5.625C13 13.658 10.78 16 8 16s-5-2.342-5-5.188V5.189zm4.5-4.155C5.541 1.289 4 3.035 4 5.188V5.5h3.5V1.033zm1 0V5.5H12v-.313c0-2.152-1.541-3.898-3.5-4.154zM12 6.5H4v4.313C4 13.145 5.81 15 8 15s4-1.855 4-4.188V6.5z\"}}]})(props);\n};\nexport function BsMouse3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.069A15.328 15.328 0 0 0 7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208-.386.873-.522 2.01-.54 3.206l4.497 1V.069zM3.71 5.836 3.381 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V8.123l-9-2v.003l.008.353c.007.3.023.715.053 1.175.063.937.186 2.005.413 2.688a.5.5 0 1 1-.948.316c-.273-.817-.4-2-.462-2.937A30.16 30.16 0 0 1 4 6.003c0-.034.003-.067.01-.1l-.3-.067zM14 7.1V5.187c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59A7.495 7.495 0 0 0 9.5.212v5.887l4.5 1z\"}}]})(props);\n};\nexport function BsMouse3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208C4.123 2.619 4 3.879 4 5.187v.504L3.382 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V7.51a.71.71 0 0 0 0-.02V5.186c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59C9.981.123 8.26 0 7 0zm2.5 6.099V1.232c.51.11 1.008.267 1.46.49.596.293 1.099.694 1.455 1.24.355.543.585 1.262.585 2.225v1.69l-3.5-.778zm-1-5.025v4.803L5 5.099c.006-1.242.134-2.293.457-3.024.162-.366.363-.63.602-.801C6.292 1.105 6.593 1 7 1c.468 0 .98.018 1.5.074zM5 6.124 13 7.9v2.912C13 13.145 11.19 15 9 15H7c-2.19 0-4-1.855-4-4.188V8.236a1.5 1.5 0 0 1 .83-1.342l.187-.093c.01.265.024.58.047.92.062.938.19 2.12.462 2.937a.5.5 0 1 0 .948-.316c-.227-.683-.35-1.75-.413-2.688a29.17 29.17 0 0 1-.06-1.528v-.002z\"}}]})(props);\n};\nexport function BsMusicNoteBeamed (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 11V2h1v9h-1zM6 3v10H5V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z\"}}]})(props);\n};\nexport function BsMusicNoteList (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13c0 1.105-1.12 2-2.5 2S7 14.105 7 13s1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 3v10h-1V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 16 2.22V4l-5 1V2.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 .5 7H8a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 .5 3H8a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMusicNote (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13c0 1.105-1.12 2-2.5 2S4 14.105 4 13s1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 3v10H8V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 13 2.22V4L8 5V2.82z\"}}]})(props);\n};\nexport function BsMusicPlayerFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm1 2h6a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsMusicPlayer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3zm1 0v3h6V3H5zm3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsNewspaper (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A1.5 1.5 0 0 1 1.5 1h11A1.5 1.5 0 0 1 14 2.5v10.528c0 .3-.05.654-.238.972h.738a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 1 1 0v9a1.5 1.5 0 0 1-1.5 1.5H1.497A1.497 1.497 0 0 1 0 13.5v-11zM12 14c.37 0 .654-.211.853-.441.092-.106.147-.279.147-.531V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v11c0 .278.223.5.497.5H12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h10v2H2V3zm0 3h4v3H2V6zm0 4h4v1H2v-1zm0 2h4v1H2v-1zm5-6h2v1H7V6zm3 0h2v1h-2V6zM7 8h2v1H7V8zm3 0h2v1h-2V8zm-3 2h2v1H7v-1zm3 0h2v1h-2v-1zm-3 2h2v1H7v-1zm3 0h2v1h-2v-1z\"}}]})(props);\n};\nexport function BsNintendoSwitch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.34 8.005c0-4.38.01-7.972.023-7.982C9.373.01 10.036 0 10.831 0c1.153 0 1.51.01 1.743.05 1.73.298 3.045 1.6 3.373 3.326.046.242.053.809.053 4.61 0 4.06.005 4.537-.123 4.976-.022.076-.048.15-.08.242a4.136 4.136 0 0 1-3.426 2.767c-.317.033-2.889.046-2.978.013-.05-.02-.053-.752-.053-7.979Zm4.675.269a1.621 1.621 0 0 0-1.113-1.034 1.609 1.609 0 0 0-1.938 1.073 1.9 1.9 0 0 0-.014.935 1.632 1.632 0 0 0 1.952 1.107c.51-.136.908-.504 1.11-1.028.11-.285.113-.742.003-1.053ZM3.71 3.317c-.208.04-.526.199-.695.348-.348.301-.52.729-.494 1.232.013.262.03.332.136.544.155.321.39.556.712.715.222.11.278.123.567.133.261.01.354 0 .53-.06.719-.242 1.153-.94 1.03-1.656-.142-.852-.95-1.422-1.786-1.256Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.425.053a4.136 4.136 0 0 0-3.28 3.015C0 3.628-.01 3.956.005 8.3c.01 3.99.014 4.082.08 4.39.368 1.66 1.548 2.844 3.224 3.235.22.05.497.06 2.29.07 1.856.012 2.048.009 2.097-.04.05-.05.053-.69.053-7.94 0-5.374-.01-7.906-.033-7.952-.033-.06-.09-.063-2.03-.06-1.578.004-2.052.014-2.26.05Zm3 14.665-1.35-.016c-1.242-.013-1.375-.02-1.623-.083a2.81 2.81 0 0 1-2.08-2.167c-.074-.335-.074-8.579-.004-8.907a2.845 2.845 0 0 1 1.716-2.05c.438-.176.64-.196 2.058-.2l1.282-.003v13.426Z\"}}]})(props);\n};\nexport function BsNodeMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a5 5 0 0 1-9.975.5H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025A5 5 0 0 1 16 8zm-2 0a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5A.5.5 0 0 0 14 8z\"}}]})(props);\n};\nexport function BsNodeMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM6.025 7.5a5 5 0 1 1 0 1H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025zM1.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM8 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsNodePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13a5 5 0 1 0-4.975-5.5H4A1.5 1.5 0 0 0 2.5 6h-1A1.5 1.5 0 0 0 0 7.5v1A1.5 1.5 0 0 0 1.5 10h1A1.5 1.5 0 0 0 4 8.5h2.025A5 5 0 0 0 11 13zm.5-7.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsNodePlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM6.025 7.5a5 5 0 1 1 0 1H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025zM11 5a.5.5 0 0 1 .5.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2A.5.5 0 0 1 11 5zM1.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsNoiseReduction (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm.5-.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1.5-1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1-1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1-1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1-1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1-1a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-3 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm.5-.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm1-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM1 8a7 7 0 0 1 12.83-3.875.5.5 0 1 0 .15.235c.131.214.251.437.359.667a.5.5 0 1 0 .359.932c.133.438.225.894.27 1.364a.5.5 0 1 0 .021.282 7.096 7.096 0 0 1-.091 1.592.5.5 0 1 0-.172.75 6.95 6.95 0 0 1-.418 1.091.5.5 0 0 0-.3.555 7.056 7.056 0 0 1-.296.454.499.499 0 0 0-.712.453c0 .111.036.214.098.297a6.99 6.99 0 0 1-.3.3.5.5 0 0 0-.75.614 7.056 7.056 0 0 1-.455.298.503.503 0 0 0-.555.3 6.95 6.95 0 0 1-1.092.417.5.5 0 1 0-.749.172 7.04 7.04 0 0 1-1.592.091.5.5 0 1 0-.282-.021 6.971 6.971 0 0 1-1.364-.27A.498.498 0 0 0 5.5 14a.5.5 0 0 0-.473.339 6.976 6.976 0 0 1-.668-.36A.499.499 0 0 0 5 13.5a.5.5 0 1 0-.875.33A6.993 6.993 0 0 1 1 8Z\"}}]})(props);\n};\nexport function BsNutFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58zm5.018 9.696a3 3 0 1 1-3-5.196 3 3 0 0 1 3 5.196z\"}}]})(props);\n};\nexport function BsNut (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.42 2 3.428 6-3.428 6H4.58L1.152 8 4.58 2h6.84zM4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.848 5.933a2.5 2.5 0 1 0 2.5 4.33 2.5 2.5 0 0 0-2.5-4.33zm-1.78 3.915a3.5 3.5 0 1 1 6.061-3.5 3.5 3.5 0 0 1-6.062 3.5z\"}}]})(props);\n};\nexport function BsNvidia (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.635 7.146S3.08 5.012 5.97 4.791v-.774C2.77 4.273 0 6.983 0 6.983s1.57 4.536 5.97 4.952v-.824c-3.23-.406-4.335-3.965-4.335-3.965ZM5.97 9.475v.753c-2.44-.435-3.118-2.972-3.118-2.972S4.023 5.958 5.97 5.747v.828h-.004c-1.021-.123-1.82.83-1.82.83s.448 1.607 1.824 2.07ZM6 2l-.03 2.017A6.64 6.64 0 0 1 6.252 4c3.637-.123 6.007 2.983 6.007 2.983s-2.722 3.31-5.557 3.31c-.26 0-.504-.024-.732-.065v.883c.195.025.398.04.61.04 2.638 0 4.546-1.348 6.394-2.943.307.246 1.561.842 1.819 1.104-1.757 1.47-5.852 2.657-8.173 2.657a6.84 6.84 0 0 1-.65-.034V14H16l.03-12H6Zm-.03 3.747v-.956a6.4 6.4 0 0 1 .282-.015c2.616-.082 4.332 2.248 4.332 2.248S8.73 9.598 6.743 9.598c-.286 0-.542-.046-.773-.123v-2.9c1.018.123 1.223.572 1.835 1.593L9.167 7.02s-.994-1.304-2.67-1.304a4.9 4.9 0 0 0-.527.031Z\"}}]})(props);\n};\nexport function BsNvmeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H5v2h1V7Zm6 0H9v2h3V7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a.5.5 0 0 0-.5.5h-1A.5.5 0 0 0 0 5v1a.5.5 0 0 0 .5.5h1a.25.25 0 0 1 0 .5h-1a.5.5 0 0 0-.5.5V11a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5.5h13.5a.5.5 0 0 0 .5-.5V9a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1A.5.5 0 0 0 16 7V4.5a.5.5 0 0 0-.5-.5H2Zm2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3Zm4 0a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3Z\"}}]})(props);\n};\nexport function BsNvme (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 4.5A.5.5 0 0 1 2 4h13.5a.5.5 0 0 1 .5.5V7a.5.5 0 0 1-.5.5.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5v2.5a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5h-1A.5.5 0 0 1 0 11V7.5A.5.5 0 0 1 .5 7h1a.25.25 0 0 0 0-.5h-1A.5.5 0 0 1 0 6V5a.5.5 0 0 1 .5-.5h1Zm1 .5a.5.5 0 0 1-.5.5h-.5a1.25 1.25 0 1 1 0 2.5H1v2.5h1a.5.5 0 0 1 .5.5H15V9.415a1.5 1.5 0 0 1 0-2.83V5H2.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3ZM5 7v2h1V7H5Zm3-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3ZM9 7v2h3V7H9Z\"}}]})(props);\n};\nexport function BsOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.107 0a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146A.5.5 0 0 1 4.893 0h6.214z\"}}]})(props);\n};\nexport function BsOctagonHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM8 15h2.9l4.1-4.1V5.1L10.9 1H8v14z\"}}]})(props);\n};\nexport function BsOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}}]})(props);\n};\nexport function BsOpencollective (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillOpacity\":\".4\",\"d\":\"M12.995 8.195c0 .937-.312 1.912-.78 2.693l1.99 1.99c.976-1.327 1.6-2.966 1.6-4.683 0-1.795-.624-3.434-1.561-4.76l-2.068 2.028c.468.781.78 1.679.78 2.732h.04Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13.151a4.995 4.995 0 1 1 0-9.99c1.015 0 1.951.273 2.732.82l1.95-2.03a7.805 7.805 0 1 0 .04 12.449l-1.951-2.03a5.072 5.072 0 0 1-2.732.781H8Z\"}}]})(props);\n};\nexport function BsOpticalAudioFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm1 3a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 15a.5.5 0 0 1-.5-.5v-3.05a2.5 2.5 0 0 1 0-4.9V4.5a.5.5 0 0 1 .146-.354l2-2A.5.5 0 0 1 4.5 2h7a.5.5 0 0 1 .354.146l2 2A.5.5 0 0 1 14 4.5v2.05a2.5 2.5 0 0 1 0 4.9v3.05a.5.5 0 0 1-.5.5h-11ZM8 5a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z\"}}]})(props);\n};\nexport function BsOpticalAudio (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 9a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8 6.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-3.05a2.5 2.5 0 0 0 0-4.9V4.5a.5.5 0 0 0-.146-.354l-2-2A.5.5 0 0 0 11.5 2h-7a.5.5 0 0 0-.354.146l-2 2A.5.5 0 0 0 2 4.5v2.05a2.5 2.5 0 0 0 0 4.9v3.05Zm1-.5v-3a.5.5 0 0 0-.5-.5 1.5 1.5 0 1 1 0-3A.5.5 0 0 0 3 7V4.707L4.707 3h6.586L13 4.707V7a.5.5 0 0 0 .5.5 1.5 1.5 0 0 1 0 3 .5.5 0 0 0-.5.5v3H3Z\"}}]})(props);\n};\nexport function BsOption (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a.5.5 0 0 1 .5-.5h3.797a.5.5 0 0 1 .439.26L11 13h3.5a.5.5 0 0 1 0 1h-3.797a.5.5 0 0 1-.439-.26L5 3H1.5a.5.5 0 0 1-.5-.5zm10 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsOutlet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.34 2.994c.275-.338.68-.494 1.074-.494h7.172c.393 0 .798.156 1.074.494.578.708 1.84 2.534 1.84 5.006 0 2.472-1.262 4.297-1.84 5.006-.276.338-.68.494-1.074.494H4.414c-.394 0-.799-.156-1.074-.494C2.762 12.297 1.5 10.472 1.5 8c0-2.472 1.262-4.297 1.84-5.006zm1.074.506a.376.376 0 0 0-.299.126C3.599 4.259 2.5 5.863 2.5 8c0 2.137 1.099 3.74 1.615 4.374.06.073.163.126.3.126h7.17c.137 0 .24-.053.3-.126.516-.633 1.615-2.237 1.615-4.374 0-2.137-1.099-3.74-1.615-4.374a.376.376 0 0 0-.3-.126h-7.17z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5.5a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zM7 10v1h2v-1a1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsPCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.5 4.002V12h1.283V9.164h1.668C10.033 9.164 11 8.08 11 6.586c0-1.482-.955-2.584-2.538-2.584H5.5Zm2.77 4.072c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97H8.27Z\"}}]})(props);\n};\nexport function BsPCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.5 4.002h2.962C10.045 4.002 11 5.104 11 6.586c0 1.494-.967 2.578-2.55 2.578H6.784V12H5.5V4.002Zm2.77 4.072c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97H8.27Z\"}}]})(props);\n};\nexport function BsPSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.27 8.074c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97H8.27Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.5 4.002h2.962C10.045 4.002 11 5.104 11 6.586c0 1.494-.967 2.578-2.55 2.578H6.784V12H5.5V4.002Z\"}}]})(props);\n};\nexport function BsPSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4.002h2.962C10.045 4.002 11 5.104 11 6.586c0 1.494-.967 2.578-2.55 2.578H6.784V12H5.5V4.002Zm2.77 4.072c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97H8.27Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function BsPaintBucket (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.192 2.78c-.458-.677-.927-1.248-1.35-1.643a2.972 2.972 0 0 0-.71-.515c-.217-.104-.56-.205-.882-.02-.367.213-.427.63-.43.896-.003.304.064.664.173 1.044.196.687.556 1.528 1.035 2.402L.752 8.22c-.277.277-.269.656-.218.918.055.283.187.593.36.903.348.627.92 1.361 1.626 2.068.707.707 1.441 1.278 2.068 1.626.31.173.62.305.903.36.262.05.64.059.918-.218l5.615-5.615c.118.257.092.512.05.939-.03.292-.068.665-.073 1.176v.123h.003a1 1 0 0 0 1.993 0H14v-.057a1.01 1.01 0 0 0-.004-.117c-.055-1.25-.7-2.738-1.86-3.494a4.322 4.322 0 0 0-.211-.434c-.349-.626-.92-1.36-1.627-2.067-.707-.707-1.441-1.279-2.068-1.627-.31-.172-.62-.304-.903-.36-.262-.05-.64-.058-.918.219l-.217.216zM4.16 1.867c.381.356.844.922 1.311 1.632l-.704.705c-.382-.727-.66-1.402-.813-1.938a3.283 3.283 0 0 1-.131-.673c.091.061.204.15.337.274zm.394 3.965c.54.852 1.107 1.567 1.607 2.033a.5.5 0 1 0 .682-.732c-.453-.422-1.017-1.136-1.564-2.027l1.088-1.088c.054.12.115.243.183.365.349.627.92 1.361 1.627 2.068.706.707 1.44 1.278 2.068 1.626.122.068.244.13.365.183l-4.861 4.862a.571.571 0 0 1-.068-.01c-.137-.027-.342-.104-.608-.252-.524-.292-1.186-.8-1.846-1.46-.66-.66-1.168-1.32-1.46-1.846-.147-.265-.225-.47-.251-.607a.573.573 0 0 1-.01-.068l3.048-3.047zm2.87-1.935a2.44 2.44 0 0 1-.241-.561c.135.033.324.11.562.241.524.292 1.186.8 1.846 1.46.45.45.83.901 1.118 1.31a3.497 3.497 0 0 0-1.066.091 11.27 11.27 0 0 1-.76-.694c-.66-.66-1.167-1.322-1.458-1.847z\"}}]})(props);\n};\nexport function BsPaletteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.433 10.07C14.133 10.585 16 11.15 16 8a8 8 0 1 0-8 8c1.996 0 1.826-1.504 1.649-3.08-.124-1.101-.252-2.237.351-2.92.465-.527 1.42-.237 2.433.07zM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsPalette (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm4 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM5.5 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.15-1.866 2.585-3.567 2.07C11.42 9.763 10.465 9.473 10 10c-.603.683-.475 1.819-.351 2.92C9.826 14.495 9.996 16 8 16a8 8 0 1 1 8-8zm-8 7c.611 0 .654-.171.655-.176.078-.146.124-.464.07-1.119-.014-.168-.037-.37-.061-.591-.052-.464-.112-1.005-.118-1.462-.01-.707.083-1.61.704-2.314.369-.417.845-.578 1.272-.618.404-.038.812.026 1.16.104.343.077.702.186 1.025.284l.028.008c.346.105.658.199.953.266.653.148.904.083.991.024C14.717 9.38 15 9.161 15 8a7 7 0 1 0-7 7z\"}}]})(props);\n};\nexport function BsPalette2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 .5.5v5.277l4.147-4.131a.5.5 0 0 1 .707 0l3.535 3.536a.5.5 0 0 1 0 .708L10.261 10H15.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H3a2.99 2.99 0 0 1-2.121-.879A2.99 2.99 0 0 1 0 13.044m6-.21 7.328-7.3-2.829-2.828L6 7.188v5.647zM4.5 13a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zM15 15v-4H9.258l-4.015 4H15zM0 .5v12.495V.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.995V13a3.07 3.07 0 0 0 0-.005z\"}}]})(props);\n};\nexport function BsPaperclip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0V3z\"}}]})(props);\n};\nexport function BsParagraph (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 15a.5.5 0 0 1-.5-.5V2H9v12.5a.5.5 0 0 1-1 0V9H7a4 4 0 1 1 0-8h5.5a.5.5 0 0 1 0 1H11v12.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsPassFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 0a2 2 0 1 1-4 0H3.5A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0H10ZM4.5 5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1Zm0 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsPass (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a2 2 0 0 0 2-2h2.5A1.5 1.5 0 0 1 14 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-13A1.5 1.5 0 0 1 3.5 0H6a2 2 0 0 0 2 2Zm0 1a3.001 3.001 0 0 1-2.83-2H3.5a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5h-1.67A3.001 3.001 0 0 1 8 3Z\"}}]})(props);\n};\nexport function BsPassportFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.252a1.5 1.5 0 0 1 1.232-1.476l8-1.454A1.5 1.5 0 0 1 13 1.797v.47A2 2 0 0 1 14 4v10a2 2 0 0 1-2 2H4a1.995 1.995 0 0 1-1.51-.688 1.493 1.493 0 0 1-.49-1.11V3.253ZM5 8a3 3 0 1 0 6 0 3 3 0 0 0-6 0Zm0 4.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsPassport (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-.5 4a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.232 1.776A1.5 1.5 0 0 0 2 3.252v10.95c0 .445.191.838.49 1.11.367.422.908.688 1.51.688h8a2 2 0 0 0 2-2V4a2 2 0 0 0-1-1.732v-.47A1.5 1.5 0 0 0 11.232.321l-8 1.454ZM4 3h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsPatchCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsPatchCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsPatchExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsPatchMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsPatchPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchQuestionFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.933.87a2.89 2.89 0 0 1 4.134 0l.622.638.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636zM7.002 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm1.602-2.027c.04-.534.198-.815.846-1.26.674-.475 1.05-1.09 1.05-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745.336 0 .504-.24.554-.627z\"}}]})(props);\n};\nexport function BsPatchQuestion (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.05 9.6c.336 0 .504-.24.554-.627.04-.534.198-.815.847-1.26.673-.475 1.049-1.09 1.049-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}}]})(props);\n};\nexport function BsPauseBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.25-7C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsPauseBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsPauseCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsPauseCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.25a1.25 1.25 0 1 1 2.5 0v3.5a1.25 1.25 0 1 1-2.5 0v-3.5zm3.5 0a1.25 1.25 0 1 1 2.5 0v3.5a1.25 1.25 0 1 1-2.5 0v-3.5z\"}}]})(props);\n};\nexport function BsPauseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"}}]})(props);\n};\nexport function BsPause (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPaypal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.06 3.713c.12-1.071-.093-1.832-.702-2.526C12.628.356 11.312 0 9.626 0H4.734a.7.7 0 0 0-.691.59L2.005 13.509a.42.42 0 0 0 .415.486h2.756l-.202 1.28a.628.628 0 0 0 .62.726H8.14c.429 0 .793-.31.862-.731l.025-.13.48-3.043.03-.164.001-.007a.351.351 0 0 1 .348-.297h.38c1.266 0 2.425-.256 3.345-.91.379-.27.712-.603.993-1.005a4.942 4.942 0 0 0 .88-2.195c.242-1.246.13-2.356-.57-3.154a2.687 2.687 0 0 0-.76-.59l-.094-.061ZM6.543 8.82a.695.695 0 0 1 .321-.079H8.3c2.82 0 5.027-1.144 5.672-4.456l.003-.016c.217.124.4.27.548.438.546.623.679 1.535.45 2.71-.272 1.397-.866 2.307-1.663 2.874-.802.57-1.842.815-3.043.815h-.38a.873.873 0 0 0-.863.734l-.03.164-.48 3.043-.024.13-.001.004a.352.352 0 0 1-.348.296H5.595a.106.106 0 0 1-.105-.123l.208-1.32.845-5.214Z\"}}]})(props);\n};\nexport function BsPcDisplayHorizontal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v7A1.5 1.5 0 0 0 1.5 10H6v1H1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-5v-1h4.5A1.5 1.5 0 0 0 16 8.5v-7A1.5 1.5 0 0 0 14.5 0h-13Zm0 1h13a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5ZM12 12.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM1.5 12h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1ZM1 14.25a.25.25 0 0 1 .25-.25h5.5a.25.25 0 1 1 0 .5h-5.5a.25.25 0 0 1-.25-.25Z\"}}]})(props);\n};\nexport function BsPcDisplay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V1Zm1 13.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm2 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0ZM9.5 1a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM9 3.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5ZM1.5 2A1.5 1.5 0 0 0 0 3.5v7A1.5 1.5 0 0 0 1.5 12H6v2h-.5a.5.5 0 0 0 0 1H7v-4H1.5a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5H7V2H1.5Z\"}}]})(props);\n};\nexport function BsPcHorizontal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H1Zm11.5 1a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm2 0a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM1 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.25 9h5.5a.25.25 0 0 1 0 .5h-5.5a.25.25 0 0 1 0-.5Z\"}}]})(props);\n};\nexport function BsPc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H5Zm.5 14a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm2 0a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM5 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM5.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsPciCardNetwork (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 9.5v-2h.214a.5.5 0 0 0 .5-.5v-.5h2.572V7a.5.5 0 0 0 .5.5h.214v2h-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1h1a.5.5 0 0 1 .5.5V4h13.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H2v2.5a.5.5 0 0 1-1 0V2H.5a.5.5 0 0 1-.5-.5Zm6.714 4a.5.5 0 0 0-.5.5v.5H6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V7a.5.5 0 0 0-.5-.5h-.214V6a.5.5 0 0 0-.5-.5H6.714Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12.5h3.5v1a.5.5 0 0 1-.5.5H3.5a.5.5 0 0 1-.5-.5v-1Zm8 0H7v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1Z\"}}]})(props);\n};\nexport function BsPciCardSound (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.562 7.39 8 7.04v1.92l-.438-.35a.5.5 0 0 0-.312-.11H6.5v-1h.75a.5.5 0 0 0 .312-.11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1H1v12.5a.5.5 0 0 0 1 0V12h13.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H2V1.5a.5.5 0 0 0-.5-.5h-1Zm11.619 3.881c.1.115.194.238.28.367.484.726.768 1.7.768 2.752 0 1.051-.284 2.026-.768 2.752-.086.13-.18.252-.28.367l-.71-.71c.055-.064.107-.135.158-.212.36-.54.6-1.315.6-2.197 0-.882-.24-1.657-.6-2.198a2.57 2.57 0 0 0-.157-.212l.709-.709Zm-1.375 4.863L10 9c.057 0 .17-.035.291-.217.12-.178.209-.454.209-.783 0-.33-.09-.605-.209-.783C10.17 7.035 10.057 7 10 7l.744-.744c.15.113.278.254.38.406.242.364.376.839.376 1.338 0 .5-.134.974-.377 1.338a1.653 1.653 0 0 1-.379.406ZM9 6v4a.5.5 0 0 1-.812.39L7.075 9.5H6a.5.5 0 0 1-.5-.5V7a.5.5 0 0 1 .5-.5h1.075l1.113-.89A.5.5 0 0 1 9 6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 12.5H3v1a.5.5 0 0 0 .5.5H6a.5.5 0 0 0 .5-.5v-1Zm.5 1v-1h4v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsPciCard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1h1a.5.5 0 0 1 .5.5V4h13.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H2v2.5a.5.5 0 0 1-1 0V2H.5a.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12.5h3.5v1a.5.5 0 0 1-.5.5H3.5a.5.5 0 0 1-.5-.5v-1Zm4 0h4v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1Z\"}}]})(props);\n};\nexport function BsPeaceFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 8.5.015v7.778l5.5 5.5zm-.708.708L8.5 9.206v6.778a7.967 7.967 0 0 0 4.792-1.986zM7.5 15.985V9.207L2.708 14A7.967 7.967 0 0 0 7.5 15.985zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5z\"}}]})(props);\n};\nexport function BsPeace (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.018a7 7 0 0 0-4.79 11.566L7.5 7.793V1.018zm1 0v6.775l4.79 4.79A7 7 0 0 0 8.5 1.018zm4.084 12.273L8.5 9.207v5.775a6.97 6.97 0 0 0 4.084-1.691zM7.5 14.982V9.207l-4.084 4.084A6.97 6.97 0 0 0 7.5 14.982zM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsPenFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001z\"}}]})(props);\n};\nexport function BsPen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001zm-.644.766a.5.5 0 0 0-.707 0L1.95 11.756l-.764 3.057 3.057-.764L14.44 3.854a.5.5 0 0 0 0-.708l-1.585-1.585z\"}}]})(props);\n};\nexport function BsPencilFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"}}]})(props);\n};\nexport function BsPencilSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z\"}}]})(props);\n};\nexport function BsPencil (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z\"}}]})(props);\n};\nexport function BsPentagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.685.256a.5.5 0 0 1 .63 0l7.421 6.03a.5.5 0 0 1 .162.538l-2.788 8.827a.5.5 0 0 1-.476.349H3.366a.5.5 0 0 1-.476-.35L.102 6.825a.5.5 0 0 1 .162-.538l7.42-6.03Z\"}}]})(props);\n};\nexport function BsPentagonHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 1.288 6.578 5.345a.5.5 0 0 1 .161.539l-2.362 7.479a.5.5 0 0 1-.476.349H8V1.288Zm7.898 5.536a.5.5 0 0 0-.162-.538L8.316.256a.5.5 0 0 0-.631 0L.264 6.286a.5.5 0 0 0-.162.538l2.788 8.827a.5.5 0 0 0 .476.349h9.268a.5.5 0 0 0 .476-.35l2.788-8.826Z\"}}]})(props);\n};\nexport function BsPentagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.685 1.545a.5.5 0 0 1 .63 0l6.263 5.088a.5.5 0 0 1 .161.539l-2.362 7.479a.5.5 0 0 1-.476.349H4.099a.5.5 0 0 1-.476-.35L1.26 7.173a.5.5 0 0 1 .161-.54l6.263-5.087Zm8.213 5.28a.5.5 0 0 0-.162-.54L8.316.257a.5.5 0 0 0-.631 0L.264 6.286a.5.5 0 0 0-.162.538l2.788 8.827a.5.5 0 0 0 .476.349h9.268a.5.5 0 0 0 .476-.35l2.788-8.826Z\"}}]})(props);\n};\nexport function BsPeopleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7Zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5.784 6A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216ZM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}}]})(props);\n};\nexport function BsPeople (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8Zm-7.978-1A.261.261 0 0 1 7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002a.274.274 0 0 1-.014.002H7.022ZM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM6.936 9.28a5.88 5.88 0 0 0-1.23-.247A7.35 7.35 0 0 0 5 9c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816ZM4.92 10A5.493 5.493 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"}}]})(props);\n};\nexport function BsPercent (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.442 2.558a.625.625 0 0 1 0 .884l-10 10a.625.625 0 1 1-.884-.884l10-10a.625.625 0 0 1 .884 0zM4.5 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm7 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsPersonAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0Zm-2-6a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.256 14a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}}]})(props);\n};\nexport function BsPersonArmsUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5.93 6.704-.846 8.451a.768.768 0 0 0 1.523.203l.81-4.865a.59.59 0 0 1 1.165 0l.81 4.865a.768.768 0 0 0 1.523-.203l-.845-8.451A1.492 1.492 0 0 1 10.5 5.5L13 2.284a.796.796 0 0 0-1.239-.998L9.634 3.84a.72.72 0 0 1-.33.235c-.23.074-.665.176-1.304.176-.64 0-1.074-.102-1.305-.176a.72.72 0 0 1-.329-.235L4.239 1.286a.796.796 0 0 0-1.24.998l2.5 3.216c.317.316.475.758.43 1.204Z\"}}]})(props);\n};\nexport function BsPersonBadgeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5 2.755C12.146 12.825 10.623 12 8 12s-4.146.826-5 1.755V14a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.245z\"}}]})(props);\n};\nexport function BsPersonBadge (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z\"}}]})(props);\n};\nexport function BsPersonBoundingBox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsPersonCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.256 14a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}}]})(props);\n};\nexport function BsPersonCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsPersonDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Zm0-7a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.256 14a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}}]})(props);\n};\nexport function BsPersonDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V10.5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.256 14a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}}]})(props);\n};\nexport function BsPersonExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm.256 7a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsPersonFillAdd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0Zm-2-6a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}}]})(props);\n};\nexport function BsPersonFillCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}}]})(props);\n};\nexport function BsPersonFillDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 12h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Zm0-7a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}}]})(props);\n};\nexport function BsPersonFillDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.354 5.854 1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V10.5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}}]})(props);\n};\nexport function BsPersonFillExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 1 0V11a.5.5 0 0 0-.5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}}]})(props);\n};\nexport function BsPersonFillGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Zm9.886-3.54c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.045c-.613-.18-.613-1.048 0-1.229l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}}]})(props);\n};\nexport function BsPersonFillLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h5v-1a1.9 1.9 0 0 1 .01-.2 4.49 4.49 0 0 1 1.534-3.693C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Zm7 0a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsPersonFillSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.501 2.501 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}}]})(props);\n};\nexport function BsPersonFillUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 0 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}}]})(props);\n};\nexport function BsPersonFillX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h5.256A4.493 4.493 0 0 1 8 12.5a4.49 4.49 0 0 1 1.544-3.393C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 .708-.708Z\"}}]})(props);\n};\nexport function BsPersonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"}}]})(props);\n};\nexport function BsPersonGear (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm.256 7a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Zm3.63-4.54c.18-.613 1.048-.613 1.229 0l.043.148a.64.64 0 0 0 .921.382l.136-.074c.561-.306 1.175.308.87.869l-.075.136a.64.64 0 0 0 .382.92l.149.045c.612.18.612 1.048 0 1.229l-.15.043a.64.64 0 0 0-.38.921l.074.136c.305.561-.309 1.175-.87.87l-.136-.075a.64.64 0 0 0-.92.382l-.045.149c-.18.612-1.048.612-1.229 0l-.043-.15a.64.64 0 0 0-.921-.38l-.136.074c-.561.305-1.175-.309-.87-.87l.075-.136a.64.64 0 0 0-.382-.92l-.148-.045c-.613-.18-.613-1.048 0-1.229l.148-.043a.64.64 0 0 0 .382-.921l-.074-.136c-.306-.561.308-1.175.869-.87l.136.075a.64.64 0 0 0 .92-.382l.045-.148ZM14 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"}}]})(props);\n};\nexport function BsPersonHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h10s1 0 1-1-1-4-6-4-6 3-6 4Zm13.5-8.09c1.387-1.425 4.855 1.07 0 4.277-4.854-3.207-1.387-5.702 0-4.276Z\"}}]})(props);\n};\nexport function BsPersonHearts (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 1.246c.832-.855 2.913.642 0 2.566-2.913-1.924-.832-3.421 0-2.566ZM9 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-9 8c0 1 1 1 1 1h10s1 0 1-1-1-4-6-4-6 3-6 4Zm13.5-8.09c1.387-1.425 4.855 1.07 0 4.277-4.854-3.207-1.387-5.702 0-4.276ZM15 2.165c.555-.57 1.942.428 0 1.711-1.942-1.283-.555-2.281 0-1.71Z\"}}]})(props);\n};\nexport function BsPersonLinesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5 6s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zM11 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4zm2 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2zm0 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2z\"}}]})(props);\n};\nexport function BsPersonLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 5.996V14H3s-1 0-1-1 1-4 6-4c.564 0 1.077.038 1.544.107a4.524 4.524 0 0 0-.803.918A10.46 10.46 0 0 0 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h5ZM9 13a1 1 0 0 1 1-1v-1a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2Zm3-3a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Z\"}}]})(props);\n};\nexport function BsPersonPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPersonPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPersonRaisedHand (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6.207v9.043a.75.75 0 0 0 1.5 0V10.5a.5.5 0 0 1 1 0v4.75a.75.75 0 0 0 1.5 0v-8.5a.25.25 0 1 1 .5 0v2.5a.75.75 0 0 0 1.5 0V6.5a3 3 0 0 0-3-3H6.236a.998.998 0 0 1-.447-.106l-.33-.165A.83.83 0 0 1 5 2.488V.75a.75.75 0 0 0-1.5 0v2.083c0 .715.404 1.37 1.044 1.689L5.5 5c.32.32.5.754.5 1.207Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"}}]})(props);\n};\nexport function BsPersonRolodex (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.05a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 1a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h.5a.5.5 0 0 0 .5-.5.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5h.5a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H6.707L6 1.293A1 1 0 0 0 5.293 1H1Zm0 1h4.293L6 2.707A1 1 0 0 0 6.707 3H15v10h-.085a1.5 1.5 0 0 0-2.4-.63C11.885 11.223 10.554 10 8 10c-2.555 0-3.886 1.224-4.514 2.37a1.5 1.5 0 0 0-2.4.63H1V2Z\"}}]})(props);\n};\nexport function BsPersonSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.879 10.414a2.501 2.501 0 0 0-3.465 3.465l3.465-3.465Zm.707.707-3.465 3.465a2.501 2.501 0 0 0 3.465-3.465Zm-4.56-1.096a3.5 3.5 0 1 1 4.949 4.95 3.5 3.5 0 0 1-4.95-4.95ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm.256 7a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}}]})(props);\n};\nexport function BsPersonSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1v-1c0-1-1-4-6-4s-6 3-6 4v1a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsPersonStandingDress (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-.5 12.25V12h1v3.25a.75.75 0 0 0 1.5 0V12h1l-1-5v-.215a.285.285 0 0 1 .56-.078l.793 2.777a.711.711 0 1 0 1.364-.405l-1.065-3.461A3 3 0 0 0 8.784 3.5H7.216a3 3 0 0 0-2.868 2.118L3.283 9.079a.711.711 0 1 0 1.365.405l.793-2.777a.285.285 0 0 1 .56.078V7l-1 5h1v3.25a.75.75 0 0 0 1.5 0Z\"}}]})(props);\n};\nexport function BsPersonStanding (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM6 6.75v8.5a.75.75 0 0 0 1.5 0V10.5a.5.5 0 0 1 1 0v4.75a.75.75 0 0 0 1.5 0v-8.5a.25.25 0 1 1 .5 0v2.5a.75.75 0 0 0 1.5 0V6.5a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v2.75a.75.75 0 0 0 1.5 0v-2.5a.25.25 0 0 1 .5 0Z\"}}]})(props);\n};\nexport function BsPersonUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.854 1.5 1.5a.5.5 0 0 1-.708.708L13 11.707V14.5a.5.5 0 0 1-1 0v-2.793l-.646.647a.5.5 0 0 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0ZM11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.256 14a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}}]})(props);\n};\nexport function BsPersonVcardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm9 1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5ZM9 8a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4A.5.5 0 0 0 9 8Zm1 2.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm-1 2C9 10.567 7.21 9 5 9c-2.086 0-3.8 1.398-3.984 3.181A1 1 0 0 0 2 13h6.96c.026-.163.04-.33.04-.5ZM7 6a2 2 0 1 0-4 0 2 2 0 0 0 4 0Z\"}}]})(props);\n};\nexport function BsPersonVcard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm4-2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM9 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 9 8Zm1 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2ZM1 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8.96c.026-.163.04-.33.04-.5C9 10.567 7.21 9 5 9c-2.086 0-3.8 1.398-3.984 3.181A1.006 1.006 0 0 1 1 12V4Z\"}}]})(props);\n};\nexport function BsPersonVideo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.05a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2Zm10.798 11c-.453-1.27-1.76-3-4.798-3-3.037 0-4.345 1.73-4.798 3H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-1.202Z\"}}]})(props);\n};\nexport function BsPersonVideo2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 9.05a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2ZM1 3a1 1 0 0 1 1-1h2v2H1V3Zm4 10V2h9a1 1 0 0 1 1 1v9c0 .285-.12.543-.31.725C14.15 11.494 12.822 10 10 10c-3.037 0-4.345 1.73-4.798 3H5Zm-4-2h3v2H2a1 1 0 0 1-1-1v-1Zm3-1H1V8h3v2Zm0-3H1V5h3v2Z\"}}]})(props);\n};\nexport function BsPersonVideo3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 9.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-6 5.7c0 .8.8.8.8.8h6.4s.8 0 .8-.8-.8-3.2-4-3.2-4 2.4-4 3.2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h5.243c.122-.326.295-.668.526-1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v7.81c.353.23.656.496.91.783.059-.187.09-.386.09-.593V4a2 2 0 0 0-2-2H2Z\"}}]})(props);\n};\nexport function BsPersonWalking (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM6.44 3.752A.75.75 0 0 1 7 3.5h1.445c.742 0 1.32.643 1.243 1.38l-.43 4.083a1.75 1.75 0 0 1-.088.395l-.318.906.213.242a.75.75 0 0 1 .114.175l2 4.25a.75.75 0 1 1-1.357.638l-1.956-4.154-1.68-1.921A.75.75 0 0 1 6 8.96l.138-2.613-.435.489-.464 2.786a.75.75 0 1 1-1.48-.246l.5-3a.75.75 0 0 1 .18-.375l2-2.25Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 11.745v-1.418l1.204 1.375.261.524a.75.75 0 0 1-.12.231l-2.5 3.25a.75.75 0 1 1-1.19-.914l2.345-3.048Zm4.22-4.215-.494-.494.205-1.843a1.93 1.93 0 0 0 .006-.067l1.124 1.124h1.44a.75.75 0 0 1 0 1.5H11a.75.75 0 0 1-.531-.22Z\"}}]})(props);\n};\nexport function BsPersonWheelchair (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-.663 2.146a1.5 1.5 0 0 0-.47-2.115l-2.5-1.508a1.5 1.5 0 0 0-1.676.086l-2.329 1.75a.866.866 0 0 0 1.051 1.375L7.361 3.37l.922.71-2.038 2.445A4.732 4.732 0 0 0 2.628 7.67l1.064 1.065a3.25 3.25 0 0 1 4.574 4.574l1.064 1.063a4.732 4.732 0 0 0 1.09-3.998l1.043-.292-.187 2.991a.872.872 0 1 0 1.741.098l.206-4.121A1 1 0 0 0 12.224 8h-2.79l1.903-2.854ZM3.023 9.48a3.25 3.25 0 0 0 4.496 4.496l1.077 1.077a4.75 4.75 0 0 1-6.65-6.65l1.077 1.078Z\"}}]})(props);\n};\nexport function BsPersonWorkspace (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H4Zm4-5.95a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v9.5A1.5 1.5 0 0 0 1.5 14h.653a5.373 5.373 0 0 1 1.066-2H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v9h-2.219c.554.654.89 1.373 1.066 2h.653a1.5 1.5 0 0 0 1.5-1.5V3a2 2 0 0 0-2-2H2Z\"}}]})(props);\n};\nexport function BsPersonXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsPersonX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm.256 7a4.474 4.474 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10c.26 0 .507.009.74.025.226-.341.496-.65.804-.918C9.077 9.038 8.564 9 8 9c-5 0-6 3-6 4s1 1 1 1h5.256Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-.646-4.854.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 0 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 .708-.708Z\"}}]})(props);\n};\nexport function BsPerson (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z\"}}]})(props);\n};\nexport function BsPhoneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V2zm6 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsPhoneFlip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 1H5a1 1 0 0 0-1 1v6a.5.5 0 0 1-1 0V2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v6a.5.5 0 0 1-1 0V2a1 1 0 0 0-1-1Zm1 13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2a.5.5 0 0 0-1 0v2a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-2a.5.5 0 0 0-1 0v2ZM1.713 7.954a.5.5 0 1 0-.419-.908c-.347.16-.654.348-.882.57C.184 7.842 0 8.139 0 8.5c0 .546.408.94.823 1.201.44.278 1.043.51 1.745.696C3.978 10.773 5.898 11 8 11c.099 0 .197 0 .294-.002l-1.148 1.148a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708l1.145 1.144L8 10c-2.04 0-3.87-.221-5.174-.569-.656-.175-1.151-.374-1.47-.575C1.012 8.639 1 8.506 1 8.5c0-.003 0-.059.112-.17.115-.112.31-.242.6-.376Zm12.993-.908a.5.5 0 0 0-.419.908c.292.134.486.264.6.377.113.11.113.166.113.169 0 .003 0 .065-.13.187-.132.122-.352.26-.677.4-.645.28-1.596.523-2.763.687a.5.5 0 0 0 .14.99c1.212-.17 2.26-.43 3.02-.758.38-.164.713-.357.96-.587.246-.229.45-.537.45-.919 0-.362-.184-.66-.412-.883-.228-.223-.535-.411-.882-.571ZM7.5 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"}}]})(props);\n};\nexport function BsPhoneLandscapeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.5a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2zm11-6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsPhoneLandscape (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4.5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-6zm-1 6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.5a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsPhoneVibrateFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4zm5 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0zM1.807 4.734a.5.5 0 1 0-.884-.468A7.967 7.967 0 0 0 0 8c0 1.347.334 2.618.923 3.734a.5.5 0 1 0 .884-.468A6.967 6.967 0 0 1 1 8c0-1.18.292-2.292.807-3.266zm13.27-.468a.5.5 0 0 0-.884.468C14.708 5.708 15 6.819 15 8c0 1.18-.292 2.292-.807 3.266a.5.5 0 0 0 .884.468A7.967 7.967 0 0 0 16 8a7.967 7.967 0 0 0-.923-3.734zM3.34 6.182a.5.5 0 1 0-.93-.364A5.986 5.986 0 0 0 2 8c0 .769.145 1.505.41 2.182a.5.5 0 1 0 .93-.364A4.986 4.986 0 0 1 3 8c0-.642.12-1.255.34-1.818zm10.25-.364a.5.5 0 0 0-.93.364c.22.563.34 1.176.34 1.818 0 .642-.12 1.255-.34 1.818a.5.5 0 0 0 .93.364C13.856 9.505 14 8.769 14 8c0-.769-.145-1.505-.41-2.182z\"}}]})(props);\n};\nexport function BsPhoneVibrate (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4zM6 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM1.599 4.058a.5.5 0 0 1 .208.676A6.967 6.967 0 0 0 1 8c0 1.18.292 2.292.807 3.266a.5.5 0 0 1-.884.468A7.968 7.968 0 0 1 0 8c0-1.347.334-2.619.923-3.734a.5.5 0 0 1 .676-.208zm12.802 0a.5.5 0 0 1 .676.208A7.967 7.967 0 0 1 16 8a7.967 7.967 0 0 1-.923 3.734.5.5 0 0 1-.884-.468A6.967 6.967 0 0 0 15 8c0-1.18-.292-2.292-.807-3.266a.5.5 0 0 1 .208-.676zM3.057 5.534a.5.5 0 0 1 .284.648A4.986 4.986 0 0 0 3 8c0 .642.12 1.255.34 1.818a.5.5 0 1 1-.93.364A5.986 5.986 0 0 1 2 8c0-.769.145-1.505.41-2.182a.5.5 0 0 1 .647-.284zm9.886 0a.5.5 0 0 1 .648.284C13.855 6.495 14 7.231 14 8c0 .769-.145 1.505-.41 2.182a.5.5 0 0 1-.93-.364C12.88 9.255 13 8.642 13 8c0-.642-.12-1.255-.34-1.818a.5.5 0 0 1 .283-.648z\"}}]})(props);\n};\nexport function BsPhone (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h6zM5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsPieChartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.985 8.5H8.207l-5.5 5.5a8 8 0 0 0 13.277-5.5zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5zM8.5.015V7.5h7.485A8.001 8.001 0 0 0 8.5.015z\"}}]})(props);\n};\nexport function BsPieChart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.018a7 7 0 0 0-4.79 11.566L7.5 7.793V1.018zm1 0V7.5h6.482A7.001 7.001 0 0 0 8.5 1.018zM14.982 8.5H8.207l-4.79 4.79A7 7 0 0 0 14.982 8.5zM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsPiggyBankFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595Zm7.173 3.876a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199Zm-8.999-.65a.5.5 0 1 1-.276-.96A7.613 7.613 0 0 1 7.964 3.5c.763 0 1.497.11 2.18.315a.5.5 0 1 1-.287.958A6.602 6.602 0 0 0 7.964 4.5c-.64 0-1.255.09-1.826.254ZM5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"}}]})(props);\n};\nexport function BsPiggyBank (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm1.138-1.496A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 0 0 .286-.958A7.602 7.602 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zM2.516 6.26c.455-2.066 2.667-3.733 5.448-3.733 3.146 0 5.536 2.114 5.536 4.542 0 1.254-.624 2.41-1.67 3.248a.5.5 0 0 0-.165.535l.66 2.175h-.985l-.59-1.487a.5.5 0 0 0-.629-.288c-.661.23-1.39.359-2.157.359a6.558 6.558 0 0 1-2.157-.359.5.5 0 0 0-.635.304l-.525 1.471h-.979l.633-2.15a.5.5 0 0 0-.17-.534 4.649 4.649 0 0 1-1.284-1.541.5.5 0 0 0-.446-.275h-.56a.5.5 0 0 1-.492-.414l-.254-1.46h.933a.5.5 0 0 0 .488-.393zm12.621-.857a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199z\"}}]})(props);\n};\nexport function BsPinAngleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z\"}}]})(props);\n};\nexport function BsPinAngle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z\"}}]})(props);\n};\nexport function BsPinFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354z\"}}]})(props);\n};\nexport function BsPinMapFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsPinMap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zM4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsPin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354zm1.58 1.408-.002-.001.002.001zm-.002-.001.002.001A.5.5 0 0 1 6 2v5a.5.5 0 0 1-.276.447h-.002l-.012.007-.054.03a4.922 4.922 0 0 0-.827.58c-.318.278-.585.596-.725.936h7.792c-.14-.34-.407-.658-.725-.936a4.915 4.915 0 0 0-.881-.61l-.012-.006h-.002A.5.5 0 0 1 10 7V2a.5.5 0 0 1 .295-.458 1.775 1.775 0 0 0 .351-.271c.08-.08.155-.17.214-.271H5.14c.06.1.133.191.214.271a1.78 1.78 0 0 0 .37.282z\"}}]})(props);\n};\nexport function BsPinterest (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 0 0-2.915 15.452c-.07-.633-.134-1.606.027-2.297.146-.625.938-3.977.938-3.977s-.239-.479-.239-1.187c0-1.113.645-1.943 1.448-1.943.682 0 1.012.512 1.012 1.127 0 .686-.437 1.712-.663 2.663-.188.796.4 1.446 1.185 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.254-3.342-3.254-2.276 0-3.612 1.707-3.612 3.471 0 .688.265 1.425.595 1.826a.24.24 0 0 1 .056.23c-.061.252-.196.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.834-4.84 5.286-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.739 4.976-4.151 4.976-.811 0-1.573-.421-1.834-.919l-.498 1.902c-.181.695-.669 1.566-.995 2.097A8 8 0 1 0 8 0z\"}}]})(props);\n};\nexport function BsPipFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm7 6h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPip (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3z\"}}]})(props);\n};\nexport function BsPlayBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsPlayBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsPlayCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsPlayCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.271 5.055a.5.5 0 0 1 .52.038l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsPlayFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"}}]})(props);\n};\nexport function BsPlay (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.804 8 5 4.633v6.734L10.804 8zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692z\"}}]})(props);\n};\nexport function BsPlaystation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.858 11.451c-.313.395-1.079.676-1.079.676l-5.696 2.046v-1.509l4.192-1.493c.476-.17.549-.412.162-.538-.386-.127-1.085-.09-1.56.08l-2.794.984v-1.566l.161-.054s.807-.286 1.942-.412c1.135-.125 2.525.017 3.616.43 1.23.39 1.368.962 1.056 1.356ZM9.625 8.883v-3.86c0-.453-.083-.87-.508-.988-.326-.105-.528.198-.528.65v9.664l-2.606-.827V2c1.108.206 2.722.692 3.59.985 2.207.757 2.955 1.7 2.955 3.825 0 2.071-1.278 2.856-2.903 2.072Zm-8.424 3.625C-.061 12.15-.271 11.41.304 10.984c.532-.394 1.436-.69 1.436-.69l3.737-1.33v1.515l-2.69.963c-.474.17-.547.411-.161.538.386.126 1.085.09 1.56-.08l1.29-.469v1.356l-.257.043a8.454 8.454 0 0 1-4.018-.323Z\"}}]})(props);\n};\nexport function BsPlugFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsPlug (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0zM5 4v2.5A2.5 2.5 0 0 0 7.5 9h1A2.5 2.5 0 0 0 11 6.5V4H5z\"}}]})(props);\n};\nexport function BsPlugin (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 1 2.898 5.673c-.167-.121-.216-.406-.002-.62l1.8-1.8a3.5 3.5 0 0 0 4.572-.328l1.414-1.415a.5.5 0 0 0 0-.707l-.707-.707 1.559-1.563a.5.5 0 1 0-.708-.706l-1.559 1.562-1.414-1.414 1.56-1.562a.5.5 0 1 0-.707-.706l-1.56 1.56-.707-.706a.5.5 0 0 0-.707 0L5.318 5.975a3.5 3.5 0 0 0-.328 4.571l-1.8 1.8c-.58.58-.62 1.6.121 2.137A8 8 0 1 0 0 8a.5.5 0 0 0 1 0Z\"}}]})(props);\n};\nexport function BsPlusCircleDotted (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.176 0-.35.006-.523.017l.064.998a7.117 7.117 0 0 1 .918 0l.064-.998A8.113 8.113 0 0 0 8 0zM6.44.152c-.346.069-.684.16-1.012.27l.321.948c.287-.098.582-.177.884-.237L6.44.153zm4.132.271a7.946 7.946 0 0 0-1.011-.27l-.194.98c.302.06.597.14.884.237l.321-.947zm1.873.925a8 8 0 0 0-.906-.524l-.443.896c.275.136.54.29.793.459l.556-.831zM4.46.824c-.314.155-.616.33-.905.524l.556.83a7.07 7.07 0 0 1 .793-.458L4.46.824zM2.725 1.985c-.262.23-.51.478-.74.74l.752.66c.202-.23.418-.446.648-.648l-.66-.752zm11.29.74a8.058 8.058 0 0 0-.74-.74l-.66.752c.23.202.447.418.648.648l.752-.66zm1.161 1.735a7.98 7.98 0 0 0-.524-.905l-.83.556c.169.253.322.518.458.793l.896-.443zM1.348 3.555c-.194.289-.37.591-.524.906l.896.443c.136-.275.29-.54.459-.793l-.831-.556zM.423 5.428a7.945 7.945 0 0 0-.27 1.011l.98.194c.06-.302.14-.597.237-.884l-.947-.321zM15.848 6.44a7.943 7.943 0 0 0-.27-1.012l-.948.321c.098.287.177.582.237.884l.98-.194zM.017 7.477a8.113 8.113 0 0 0 0 1.046l.998-.064a7.117 7.117 0 0 1 0-.918l-.998-.064zM16 8a8.1 8.1 0 0 0-.017-.523l-.998.064a7.11 7.11 0 0 1 0 .918l.998.064A8.1 8.1 0 0 0 16 8zM.152 9.56c.069.346.16.684.27 1.012l.948-.321a6.944 6.944 0 0 1-.237-.884l-.98.194zm15.425 1.012c.112-.328.202-.666.27-1.011l-.98-.194c-.06.302-.14.597-.237.884l.947.321zM.824 11.54a8 8 0 0 0 .524.905l.83-.556a6.999 6.999 0 0 1-.458-.793l-.896.443zm13.828.905c.194-.289.37-.591.524-.906l-.896-.443c-.136.275-.29.54-.459.793l.831.556zm-12.667.83c.23.262.478.51.74.74l.66-.752a7.047 7.047 0 0 1-.648-.648l-.752.66zm11.29.74c.262-.23.51-.478.74-.74l-.752-.66c-.201.23-.418.447-.648.648l.66.752zm-1.735 1.161c.314-.155.616-.33.905-.524l-.556-.83a7.07 7.07 0 0 1-.793.458l.443.896zm-7.985-.524c.289.194.591.37.906.524l.443-.896a6.998 6.998 0 0 1-.793-.459l-.556.831zm1.873.925c.328.112.666.202 1.011.27l.194-.98a6.953 6.953 0 0 1-.884-.237l-.321.947zm4.132.271a7.944 7.944 0 0 0 1.012-.27l-.321-.948a6.954 6.954 0 0 1-.884.237l.194.98zm-2.083.135a8.1 8.1 0 0 0 1.046 0l-.064-.998a7.11 7.11 0 0 1-.918 0l-.064.998zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPlusLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z\"}}]})(props);\n};\nexport function BsPlusSlashMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m1.854 14.854 13-13a.5.5 0 0 0-.708-.708l-13 13a.5.5 0 0 0 .708.708ZM4 1a.5.5 0 0 1 .5.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2A.5.5 0 0 1 4 1Zm5 11a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 9 12Z\"}}]})(props);\n};\nexport function BsPlusSquareDotted (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0c-.166 0-.33.016-.487.048l.194.98A1.51 1.51 0 0 1 2.5 1h.458V0H2.5zm2.292 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zm1.833 0h-.916v1h.916V0zm1.834 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zM13.5 0h-.458v1h.458c.1 0 .199.01.293.029l.194-.981A2.51 2.51 0 0 0 13.5 0zm2.079 1.11a2.511 2.511 0 0 0-.69-.689l-.556.831c.164.11.305.251.415.415l.83-.556zM1.11.421a2.511 2.511 0 0 0-.689.69l.831.556c.11-.164.251-.305.415-.415L1.11.422zM16 2.5c0-.166-.016-.33-.048-.487l-.98.194c.018.094.028.192.028.293v.458h1V2.5zM.048 2.013A2.51 2.51 0 0 0 0 2.5v.458h1V2.5c0-.1.01-.199.029-.293l-.981-.194zM0 3.875v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 5.708v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 7.542v.916h1v-.916H0zm15 .916h1v-.916h-1v.916zM0 9.375v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .916v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .917v.458c0 .166.016.33.048.487l.98-.194A1.51 1.51 0 0 1 1 13.5v-.458H0zm16 .458v-.458h-1v.458c0 .1-.01.199-.029.293l.981.194c.032-.158.048-.32.048-.487zM.421 14.89c.183.272.417.506.69.689l.556-.831a1.51 1.51 0 0 1-.415-.415l-.83.556zm14.469.689c.272-.183.506-.417.689-.69l-.831-.556c-.11.164-.251.305-.415.415l.556.83zm-12.877.373c.158.032.32.048.487.048h.458v-1H2.5c-.1 0-.199-.01-.293-.029l-.194.981zM13.5 16c.166 0 .33-.016.487-.048l-.194-.98A1.51 1.51 0 0 1 13.5 15h-.458v1h.458zm-9.625 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zm1.834-1v1h.916v-1h-.916zm1.833 1h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsPlusSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPostageFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 1a1 1 0 0 0 1-1h1a1 1 0 0 0 2 0h1a1 1 0 0 0 2 0h1a1 1 0 1 0 2 0H15v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1h-1.5a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0H1v-1a1 1 0 1 0 0-2v-1a1 1 0 1 0 0-2V9a1 1 0 1 0 0-2V6a1 1 0 0 0 0-2V3a1 1 0 0 0 0-2V0h1.5a1 1 0 0 0 1 1ZM3 3v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsPostageHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7ZM8 11C2.175 7.236 6.336 4.31 8 5.982 9.664 4.309 13.825 7.236 8 11Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 0a1 1 0 0 1-2 0H1v1a1 1 0 0 1 0 2v1a1 1 0 0 1 0 2v1a1 1 0 0 1 0 2v1a1 1 0 1 1 0 2v1a1 1 0 1 1 0 2v1h1.5a1 1 0 1 1 2 0h1a1 1 0 1 1 2 0h1a1 1 0 1 1 2 0h1a1 1 0 1 1 2 0H15v-1a1 1 0 1 1 0-2v-1a1 1 0 1 1 0-2V9a1 1 0 1 1 0-2V6a1 1 0 1 1 0-2V3a1 1 0 1 1 0-2V0h-1.5a1 1 0 1 1-2 0h-1a1 1 0 1 1-2 0h-1a1 1 0 0 1-2 0h-1ZM4 14a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4Z\"}}]})(props);\n};\nexport function BsPostageHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 1a1 1 0 0 0 1-1h1a1 1 0 0 0 2 0h1a1 1 0 0 0 2 0h1a1 1 0 1 0 2 0H15v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1h-1.5a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0H1v-1a1 1 0 1 0 0-2v-1a1 1 0 1 0 0-2V9a1 1 0 1 0 0-2V6a1 1 0 0 0 0-2V3a1 1 0 0 0 0-2V0h1.5a1 1 0 0 0 1 1ZM3 3v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11C2.175 7.236 6.336 4.31 8 5.982 9.664 4.309 13.825 7.236 8 11Z\"}}]})(props);\n};\nexport function BsPostage (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 3a.75.75 0 0 0-.75.75v8.5c0 .414.336.75.75.75h6.5a.75.75 0 0 0 .75-.75v-8.5a.75.75 0 0 0-.75-.75h-6.5ZM11 12H5V4h6v8Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 1a1 1 0 0 0 1-1h1a1 1 0 0 0 2 0h1a1 1 0 0 0 2 0h1a1 1 0 1 0 2 0H15v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1a1 1 0 1 0 0 2v1h-1.5a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0h-1a1 1 0 1 0-2 0H1v-1a1 1 0 1 0 0-2v-1a1 1 0 1 0 0-2V9a1 1 0 1 0 0-2V6a1 1 0 0 0 0-2V3a1 1 0 0 0 0-2V0h1.5a1 1 0 0 0 1 1ZM3 3v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsPostcardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8h2V6h-2v2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm8.5.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7ZM2 5.5a.5.5 0 0 0 .5.5H6a.5.5 0 0 0 0-1H2.5a.5.5 0 0 0-.5.5ZM2.5 7a.5.5 0 0 0 0 1H6a.5.5 0 0 0 0-1H2.5ZM2 9.5a.5.5 0 0 0 .5.5H6a.5.5 0 0 0 0-1H2.5a.5.5 0 0 0-.5.5Zm8-4v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsPostcardHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2Zm6 2.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0Zm3.5.878c1.482-1.42 4.795 1.392 0 4.622-4.795-3.23-1.482-6.043 0-4.622ZM2 5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsPostcardHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm3.5.878c1.482-1.42 4.795 1.392 0 4.622-4.795-3.23-1.482-6.043 0-4.622ZM2.5 5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H2Z\"}}]})(props);\n};\nexport function BsPostcard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2ZM1 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4Zm7.5.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7ZM2 5.5a.5.5 0 0 1 .5-.5H6a.5.5 0 0 1 0 1H2.5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5H6a.5.5 0 0 1 0 1H2.5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5H6a.5.5 0 0 1 0 1H2.5a.5.5 0 0 1-.5-.5ZM10.5 5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3ZM13 8h-2V6h2v2Z\"}}]})(props);\n};\nexport function BsPower (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1v7h1V1h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.812a4.999 4.999 0 0 1 2.578-4.375l-.485-.874A6 6 0 1 0 11 3.616l-.501.865A5 5 0 1 1 3 8.812z\"}}]})(props);\n};\nexport function BsPrescription (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 6a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0V9h.293l2 2-1.147 1.146a.5.5 0 0 0 .708.708L9 11.707l1.146 1.147a.5.5 0 0 0 .708-.708L9.707 11l1.147-1.146a.5.5 0 0 0-.708-.708L9 10.293 7.695 8.987A1.5 1.5 0 0 0 7.5 6h-2ZM6 7h1.5a.5.5 0 0 1 0 1H6V7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v10.5a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 14.5V4a1 1 0 0 1-1-1V1Zm2 3v10.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V4H4ZM3 3h10V1H3v2Z\"}}]})(props);\n};\nexport function BsPrescription2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6h2v2h2v2H9v2H7v-2H5V8h2V6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v10.5a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 14.5V4a1 1 0 0 1-1-1V1Zm2 3v10.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V4H4ZM3 3h10V1H3v2Z\"}}]})(props);\n};\nexport function BsPrinterFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}}]})(props);\n};\nexport function BsPrinter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v2H2a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h1v1a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-1h1a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-1V3a2 2 0 0 0-2-2H5zM4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2H4V3zm1 5a2 2 0 0 0-2 2v1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v-1a2 2 0 0 0-2-2H5zm7 2v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1z\"}}]})(props);\n};\nexport function BsProjectorFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2 1 1 0 0 0 1 1h1a1 1 0 0 0 1-1h6a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1 2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2Zm.5 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1ZM14 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-12 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsProjector (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM2.5 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1H5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1 2 2 0 0 1-2-2V6Zm2-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H2Z\"}}]})(props);\n};\nexport function BsPuzzleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .036-.054l.003-.01v-.008a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003l-.003-.01a.214.214 0 0 0-.036-.053.859.859 0 0 0-.27-.194C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.036.054l-.003.01v.002l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855z\"}}]})(props);\n};\nexport function BsPuzzle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .039-.063v-.009a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003a.214.214 0 0 0-.039-.064.859.859 0 0 0-.27-.193C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.039.063v.003l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855zM4.605 3a.5.5 0 0 0-.498.55l.001.007.29 3.4A.5.5 0 0 1 3.9 7.5h-.782c-.696 0-1.182-.497-1.469-.872a.459.459 0 0 0-.118-.115.112.112 0 0 0-.025-.012L1.5 6.5h-.003a.213.213 0 0 0-.064.039.86.86 0 0 0-.193.27C1.1 7.09 1 7.51 1 8c0 .491.1.912.24 1.19.07.14.14.225.194.271a.213.213 0 0 0 .063.039H1.5l.006-.001a.112.112 0 0 0 .025-.012.459.459 0 0 0 .118-.115c.287-.375.773-.872 1.469-.872H3.9a.5.5 0 0 1 .498.542l-.29 3.408a.5.5 0 0 0 .497.55h1.878c-.048-.166-.195-.352-.463-.557-.274-.21-.52-.528-.52-.943 0-.568.447-.947.862-1.154C6.807 10.123 7.387 10 8 10s1.193.123 1.638.346c.415.207.862.586.862 1.154 0 .415-.246.733-.52.943-.268.205-.415.39-.463.557h1.878a.5.5 0 0 0 .498-.55l-.001-.007-.29-3.4A.5.5 0 0 1 12.1 8.5h.782c.696 0 1.182.497 1.469.872.05.065.091.099.118.115.013.008.021.01.025.012a.02.02 0 0 0 .006.001h.003a.214.214 0 0 0 .064-.039.86.86 0 0 0 .193-.27c.14-.28.24-.7.24-1.191 0-.492-.1-.912-.24-1.19a.86.86 0 0 0-.194-.271.215.215 0 0 0-.063-.039H14.5l-.006.001a.113.113 0 0 0-.025.012.459.459 0 0 0-.118.115c-.287.375-.773.872-1.469.872H12.1a.5.5 0 0 1-.498-.543l.29-3.407a.5.5 0 0 0-.497-.55H9.517c.048.166.195.352.463.557.274.21.52.528.52.943 0 .568-.447.947-.862 1.154C9.193 5.877 8.613 6 8 6s-1.193-.123-1.638-.346C5.947 5.447 5.5 5.068 5.5 4.5c0-.415.246-.733.52-.943.268-.205.415-.39.463-.557H4.605z\"}}]})(props);\n};\nexport function BsQrCodeScan (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h3a.5.5 0 0 1 0 1H1v2.5a.5.5 0 0 1-1 0v-3Zm12 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V1h-2.5a.5.5 0 0 1-.5-.5ZM.5 12a.5.5 0 0 1 .5.5V15h2.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5Zm15 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H15v-2.5a.5.5 0 0 1 .5-.5ZM4 4h1v1H4V4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2H2v5h5V2ZM3 3h3v3H3V3Zm2 8H4v1h1v-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9H2v5h5V9Zm-4 1h3v3H3v-3Zm8-6h1v1h-1V4Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2h5v5H9V2Zm1 1v3h3V3h-3ZM8 8v2h1v1H8v1h2v-2h1v2h1v-1h2v-1h-3V8H8Zm2 2H9V9h1v1Zm4 2h-1v1h-2v1h3v-2Zm-4 2v-1H8v1h2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9h2V8h-2v1Z\"}}]})(props);\n};\nexport function BsQrCode (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h2v2H2V2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0v6H0V0h6ZM5 1H1v4h4V1ZM4 12H2v2h2v-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10v6H0v-6h6Zm-5 1v4h4v-4H1Zm11-9h2v2h-2V2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 0v6h6V0h-6Zm5 1v4h-4V1h4ZM8 1V0h1v2H8v2H7V1h1Zm0 5V4h1v2H8ZM6 8V7h1V6h1v2h1V7h5v1h-4v1H7V8H6Zm0 0v1H2V8H1v1H0V7h3v1h3Zm10 1h-1V7h1v2Zm-1 0h-1v2h2v-1h-1V9Zm-4 0h2v1h-1v1h-1V9Zm2 3v-1h-1v1h-1v1H9v1h3v-2h1Zm0 0h3v1h-2v1h-1v-2Zm-4-1v1h1v-2H7v1h2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12h1v3h4v1H7v-4Zm9 2v2h-3v-1h2v-1h1Z\"}}]})(props);\n};\nexport function BsQuestionCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z\"}}]})(props);\n};\nexport function BsQuestionCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM5.495 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionDiamond (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215 0 1.344-.665 2.288-1.79 2.973-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712 1.03-.632 1.397-1.135 1.397-2.028 0-.979-.758-1.698-1.926-1.698-1.009 0-1.71.529-1.938 1.402-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09 0-.618-.473-1.092-1.095-1.092-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z\"}}]})(props);\n};\nexport function BsQuestionOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM5.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestion (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuora (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.73 12.476c-.554-1.091-1.204-2.193-2.473-2.193-.242 0-.484.04-.707.142l-.43-.863c.525-.45 1.373-.808 2.464-.808 1.697 0 2.568.818 3.26 1.86.41-.89.605-2.093.605-3.584 0-3.724-1.165-5.636-3.885-5.636-2.68 0-3.839 1.912-3.839 5.636 0 3.704 1.159 5.596 3.84 5.596.425 0 .811-.046 1.166-.15Zm.665 1.3a7.127 7.127 0 0 1-1.83.244C3.994 14.02.5 11.172.5 7.03.5 2.849 3.995 0 7.564 0c3.63 0 7.09 2.828 7.09 7.03 0 2.337-1.09 4.236-2.675 5.464.512.767 1.04 1.277 1.773 1.277.802 0 1.125-.62 1.179-1.105h1.043c.061.647-.262 3.334-3.178 3.334-1.767 0-2.7-1.024-3.4-2.224Z\"}}]})(props);\n};\nexport function BsQuote (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12a1 1 0 0 0 1-1V8.558a1 1 0 0 0-1-1h-1.388c0-.351.021-.703.062-1.054.062-.372.166-.703.31-.992.145-.29.331-.517.559-.683.227-.186.516-.279.868-.279V3c-.579 0-1.085.124-1.52.372a3.322 3.322 0 0 0-1.085.992 4.92 4.92 0 0 0-.62 1.458A7.712 7.712 0 0 0 9 7.558V11a1 1 0 0 0 1 1h2Zm-6 0a1 1 0 0 0 1-1V8.558a1 1 0 0 0-1-1H4.612c0-.351.021-.703.062-1.054.062-.372.166-.703.31-.992.145-.29.331-.517.559-.683.227-.186.516-.279.868-.279V3c-.579 0-1.085.124-1.52.372a3.322 3.322 0 0 0-1.085.992 4.92 4.92 0 0 0-.62 1.458A7.712 7.712 0 0 0 3 7.558V11a1 1 0 0 0 1 1h2Z\"}}]})(props);\n};\nexport function BsRCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.5 4.002V12h1.335V8.924H8.52L9.98 12h1.52L9.856 8.701c.828-.299 1.495-1.101 1.495-2.238 0-1.488-1.03-2.461-2.74-2.461H5.5Zm1.335 1.09v2.777h1.549c.995 0 1.573-.463 1.573-1.36 0-.913-.596-1.417-1.537-1.417H6.835Z\"}}]})(props);\n};\nexport function BsRCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.5 4.002h3.11c1.71 0 2.741.973 2.741 2.46 0 1.138-.667 1.94-1.495 2.24L11.5 12H9.98L8.52 8.924H6.836V12H5.5V4.002Zm1.335 1.09v2.777h1.549c.995 0 1.573-.463 1.573-1.36 0-.913-.596-1.417-1.537-1.417H6.835Z\"}}]})(props);\n};\nexport function BsRSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.835 5.092v2.777h1.549c.995 0 1.573-.463 1.573-1.36 0-.913-.596-1.417-1.537-1.417H6.835Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.5 4.002h3.11c1.71 0 2.741.973 2.741 2.46 0 1.138-.667 1.94-1.495 2.24L11.5 12H9.98L8.52 8.924H6.836V12H5.5V4.002Z\"}}]})(props);\n};\nexport function BsRSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4.002h3.11c1.71 0 2.741.973 2.741 2.46 0 1.138-.667 1.94-1.495 2.24L11.5 12H9.98L8.52 8.924H6.836V12H5.5V4.002Zm1.335 1.09v2.777h1.549c.995 0 1.573-.463 1.573-1.36 0-.913-.596-1.417-1.537-1.417H6.835Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z\"}}]})(props);\n};\nexport function BsRadar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.634 1.135A7 7 0 0 1 15 8a.5.5 0 0 1-1 0 6 6 0 1 0-6.5 5.98v-1.005A5 5 0 1 1 13 8a.5.5 0 0 1-1 0 4 4 0 1 0-4.5 3.969v-1.011A2.999 2.999 0 1 1 11 8a.5.5 0 0 1-1 0 2 2 0 1 0-2.5 1.936v-1.07a1 1 0 1 1 1 0V15.5a.5.5 0 0 1-1 0v-.518a7 7 0 0 1-.866-13.847Z\"}}]})(props);\n};\nexport function BsRadioactive (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1ZM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.653 5.496A2.986 2.986 0 0 0 8 5c-.61 0-1.179.183-1.653.496L4.694 2.992A5.972 5.972 0 0 1 8 2c1.222 0 2.358.365 3.306.992L9.653 5.496Zm1.342 2.324a2.986 2.986 0 0 1-.884 2.312 3.01 3.01 0 0 1-.769.552l1.342 2.683c.57-.286 1.09-.66 1.538-1.103a5.986 5.986 0 0 0 1.767-4.624l-2.994.18Zm-5.679 5.548 1.342-2.684A3 3 0 0 1 5.005 7.82l-2.994-.18a6 6 0 0 0 3.306 5.728ZM10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"}}]})(props);\n};\nexport function BsRainbow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a7 7 0 0 0-7 7 .5.5 0 0 1-1 0 8 8 0 1 1 16 0 .5.5 0 0 1-1 0 7 7 0 0 0-7-7zm0 2a5 5 0 0 0-5 5 .5.5 0 0 1-1 0 6 6 0 1 1 12 0 .5.5 0 0 1-1 0 5 5 0 0 0-5-5zm0 2a3 3 0 0 0-3 3 .5.5 0 0 1-1 0 4 4 0 1 1 8 0 .5.5 0 0 1-1 0 3 3 0 0 0-3-3zm0 2a1 1 0 0 0-1 1 .5.5 0 0 1-1 0 2 2 0 1 1 4 0 .5.5 0 0 1-1 0 1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsReceiptCutoff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zM11.5 4a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.354.646a.5.5 0 0 0-.801.13l-.5 1A.5.5 0 0 0 1 2v13H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H15V2a.5.5 0 0 0-.053-.224l-.5-1a.5.5 0 0 0-.8-.13L13 1.293l-.646-.647a.5.5 0 0 0-.708 0L11 1.293l-.646-.647a.5.5 0 0 0-.708 0L9 1.293 8.354.646a.5.5 0 0 0-.708 0L7 1.293 6.354.646a.5.5 0 0 0-.708 0L5 1.293 4.354.646a.5.5 0 0 0-.708 0L3 1.293 2.354.646zm-.217 1.198.51.51a.5.5 0 0 0 .707 0L4 1.707l.646.647a.5.5 0 0 0 .708 0L6 1.707l.646.647a.5.5 0 0 0 .708 0L8 1.707l.646.647a.5.5 0 0 0 .708 0L10 1.707l.646.647a.5.5 0 0 0 .708 0L12 1.707l.646.647a.5.5 0 0 0 .708 0l.509-.51.137.274V15H2V2.118l.137-.274z\"}}]})(props);\n};\nexport function BsReceipt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.92.506a.5.5 0 0 1 .434.14L3 1.293l.646-.647a.5.5 0 0 1 .708 0L5 1.293l.646-.647a.5.5 0 0 1 .708 0L7 1.293l.646-.647a.5.5 0 0 1 .708 0L9 1.293l.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .801.13l.5 1A.5.5 0 0 1 15 2v12a.5.5 0 0 1-.053.224l-.5 1a.5.5 0 0 1-.8.13L13 14.707l-.646.647a.5.5 0 0 1-.708 0L11 14.707l-.646.647a.5.5 0 0 1-.708 0L9 14.707l-.646.647a.5.5 0 0 1-.708 0L7 14.707l-.646.647a.5.5 0 0 1-.708 0L5 14.707l-.646.647a.5.5 0 0 1-.708 0L3 14.707l-.646.647a.5.5 0 0 1-.801-.13l-.5-1A.5.5 0 0 1 1 14V2a.5.5 0 0 1 .053-.224l.5-1a.5.5 0 0 1 .367-.27zm.217 1.338L2 2.118v11.764l.137.274.51-.51a.5.5 0 0 1 .707 0l.646.647.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.509.509.137-.274V2.118l-.137-.274-.51.51a.5.5 0 0 1-.707 0L12 1.707l-.646.647a.5.5 0 0 1-.708 0L10 1.707l-.646.647a.5.5 0 0 1-.708 0L8 1.707l-.646.647a.5.5 0 0 1-.708 0L6 1.707l-.646.647a.5.5 0 0 1-.708 0L4 1.707l-.646.647a.5.5 0 0 1-.708 0l-.509-.51z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm8-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception0 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4 5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8zm4 8a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-11z\"}}]})(props);\n};\nexport function BsRecordBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsRecordBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsRecordCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsRecordCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsRecordFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsRecord (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsRecord2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsRecord2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsRecycle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.302 1.256a1.5 1.5 0 0 0-2.604 0l-1.704 2.98a.5.5 0 0 0 .869.497l1.703-2.981a.5.5 0 0 1 .868 0l2.54 4.444-1.256-.337a.5.5 0 1 0-.26.966l2.415.647a.5.5 0 0 0 .613-.353l.647-2.415a.5.5 0 1 0-.966-.259l-.333 1.242-2.532-4.431zM2.973 7.773l-1.255.337a.5.5 0 1 1-.26-.966l2.416-.647a.5.5 0 0 1 .612.353l.647 2.415a.5.5 0 0 1-.966.259l-.333-1.242-2.545 4.454a.5.5 0 0 0 .434.748H5a.5.5 0 0 1 0 1H1.723A1.5 1.5 0 0 1 .421 12.24l2.552-4.467zm10.89 1.463a.5.5 0 1 0-.868.496l1.716 3.004a.5.5 0 0 1-.434.748h-5.57l.647-.646a.5.5 0 1 0-.708-.707l-1.5 1.5a.498.498 0 0 0 0 .707l1.5 1.5a.5.5 0 1 0 .708-.707l-.647-.647h5.57a1.5 1.5 0 0 0 1.302-2.244l-1.716-3.004z\"}}]})(props);\n};\nexport function BsReddit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.167 8a.831.831 0 0 0-.83.83c0 .459.372.84.83.831a.831.831 0 0 0 0-1.661zm1.843 3.647c.315 0 1.403-.038 1.976-.611a.232.232 0 0 0 0-.306.213.213 0 0 0-.306 0c-.353.363-1.126.487-1.67.487-.545 0-1.308-.124-1.671-.487a.213.213 0 0 0-.306 0 .213.213 0 0 0 0 .306c.564.563 1.652.61 1.977.61zm.992-2.807c0 .458.373.83.831.83.458 0 .83-.381.83-.83a.831.831 0 0 0-1.66 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.828-1.165c-.315 0-.602.124-.812.325-.801-.573-1.9-.945-3.121-.993l.534-2.501 1.738.372a.83.83 0 1 0 .83-.869.83.83 0 0 0-.744.468l-1.938-.41a.203.203 0 0 0-.153.028.186.186 0 0 0-.086.134l-.592 2.788c-1.24.038-2.358.41-3.17.992-.21-.2-.496-.324-.81-.324a1.163 1.163 0 0 0-.478 2.224c-.02.115-.029.23-.029.353 0 1.795 2.091 3.256 4.669 3.256 2.577 0 4.668-1.451 4.668-3.256 0-.114-.01-.238-.029-.353.401-.181.688-.592.688-1.069 0-.65-.525-1.165-1.165-1.165z\"}}]})(props);\n};\nexport function BsRegex (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 1 1 .707.707Zm9.9-.707a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.314.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707ZM6 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5-6.5a.5.5 0 0 0-1 0v2.117L8.257 5.57a.5.5 0 0 0-.514.858L9.528 7.5 7.743 8.571a.5.5 0 1 0 .514.858L10 8.383V10.5a.5.5 0 1 0 1 0V8.383l1.743 1.046a.5.5 0 0 0 .514-.858L11.472 7.5l1.785-1.071a.5.5 0 1 0-.514-.858L11 6.617V4.5Z\"}}]})(props);\n};\nexport function BsRepeat1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4v1.466a.25.25 0 0 0 .41.192l2.36-1.966a.25.25 0 0 0 0-.384l-2.36-1.966a.25.25 0 0 0-.41.192V3H5a5 5 0 0 0-4.48 7.223.5.5 0 0 0 .896-.446A4 4 0 0 1 5 4h6Zm4.48 1.777a.5.5 0 0 0-.896.446A4 4 0 0 1 11 12H5.001v-1.466a.25.25 0 0 0-.41-.192l-2.36 1.966a.25.25 0 0 0 0 .384l2.36 1.966a.25.25 0 0 0 .41-.192V13h6a5 5 0 0 0 4.48-7.223Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a.5.5 0 0 0-.854-.354l-1.75 1.75a.5.5 0 1 0 .708.708L8 6.707V10.5a.5.5 0 0 0 1 0v-5Z\"}}]})(props);\n};\nexport function BsRepeat (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5.466V4H5a4 4 0 0 0-3.584 5.777.5.5 0 1 1-.896.446A5 5 0 0 1 5 3h6V1.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192Zm3.81.086a.5.5 0 0 1 .67.225A5 5 0 0 1 11 13H5v1.466a.25.25 0 0 1-.41.192l-2.36-1.966a.25.25 0 0 1 0-.384l2.36-1.966a.25.25 0 0 1 .41.192V12h6a4 4 0 0 0 3.585-5.777.5.5 0 0 1 .225-.67Z\"}}]})(props);\n};\nexport function BsReplyAllFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.021 11.9 3.453 8.62a.719.719 0 0 1 0-1.238L8.021 4.1a.716.716 0 0 1 1.079.619V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 1-.106.7L1.114 7.945a.5.5 0 0 1-.042.028.147.147 0 0 0 0 .252.503.503 0 0 1 .042.028l4.012 2.954a.5.5 0 1 1-.593.805L.539 9.073a1.147 1.147 0 0 1 0-1.946l3.994-2.94a.5.5 0 0 1 .699.106z\"}}]})(props);\n};\nexport function BsReplyAll (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.098 5.013a.144.144 0 0 1 .202.134V6.3a.5.5 0 0 0 .5.5c.667 0 2.013.005 3.3.822.984.624 1.99 1.76 2.595 3.876-1.02-.983-2.185-1.516-3.205-1.799a8.74 8.74 0 0 0-1.921-.306 7.404 7.404 0 0 0-.798.008h-.013l-.005.001h-.001L8.8 9.9l-.05-.498a.5.5 0 0 0-.45.498v1.153c0 .108-.11.176-.202.134L4.114 8.254a.502.502 0 0 0-.042-.028.147.147 0 0 1 0-.252.497.497 0 0 0 .042-.028l3.984-2.933zM9.3 10.386c.068 0 .143.003.223.006.434.02 1.034.086 1.7.271 1.326.368 2.896 1.202 3.94 3.08a.5.5 0 0 0 .933-.305c-.464-3.71-1.886-5.662-3.46-6.66-1.245-.79-2.527-.942-3.336-.971v-.66a1.144 1.144 0 0 0-1.767-.96l-3.994 2.94a1.147 1.147 0 0 0 0 1.946l3.994 2.94a1.144 1.144 0 0 0 1.767-.96v-.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 0-.7-.106L.54 7.127a1.147 1.147 0 0 0 0 1.946l3.994 2.94a.5.5 0 1 0 .593-.805L1.114 8.254a.503.503 0 0 0-.042-.028.147.147 0 0 1 0-.252.5.5 0 0 0 .042-.028l4.012-2.954a.5.5 0 0 0 .106-.699z\"}}]})(props);\n};\nexport function BsReplyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}}]})(props);\n};\nexport function BsReply (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.598 5.013a.144.144 0 0 1 .202.134V6.3a.5.5 0 0 0 .5.5c.667 0 2.013.005 3.3.822.984.624 1.99 1.76 2.595 3.876-1.02-.983-2.185-1.516-3.205-1.799a8.74 8.74 0 0 0-1.921-.306 7.404 7.404 0 0 0-.798.008h-.013l-.005.001h-.001L7.3 9.9l-.05-.498a.5.5 0 0 0-.45.498v1.153c0 .108-.11.176-.202.134L2.614 8.254a.503.503 0 0 0-.042-.028.147.147 0 0 1 0-.252.499.499 0 0 0 .042-.028l3.984-2.933zM7.8 10.386c.068 0 .143.003.223.006.434.02 1.034.086 1.7.271 1.326.368 2.896 1.202 3.94 3.08a.5.5 0 0 0 .933-.305c-.464-3.71-1.886-5.662-3.46-6.66-1.245-.79-2.527-.942-3.336-.971v-.66a1.144 1.144 0 0 0-1.767-.96l-3.994 2.94a1.147 1.147 0 0 0 0 1.946l3.994 2.94a1.144 1.144 0 0 0 1.767-.96v-.667z\"}}]})(props);\n};\nexport function BsRewindBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2Zm7.729 1.055A.5.5 0 0 1 8 5.5v1.886l3.21-2.293A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8 8.614V10.5a.5.5 0 0 1-.79.407l-3.5-2.5a.5.5 0 0 1 0-.814l3.5-2.5a.5.5 0 0 1 .519-.038Z\"}}]})(props);\n};\nexport function BsRewindBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.21 5.093A.5.5 0 0 1 8 5.5v1.886l3.21-2.293A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8 8.614V10.5a.5.5 0 0 1-.79.407l-3.5-2.5a.5.5 0 0 1 0-.814l3.5-2.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4Z\"}}]})(props);\n};\nexport function BsRewindCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM7.729 5.055A.5.5 0 0 1 8 5.5v1.886l3.21-2.293A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8 8.614V10.5a.5.5 0 0 1-.79.407l-3.5-2.5a.5.5 0 0 1 0-.814l3.5-2.5a.5.5 0 0 1 .519-.038Z\"}}]})(props);\n};\nexport function BsRewindCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.729 5.055a.5.5 0 0 0-.52.038l-3.5 2.5a.5.5 0 0 0 0 .814l3.5 2.5A.5.5 0 0 0 8 10.5V8.614l3.21 2.293A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407L8 7.386V5.5a.5.5 0 0 0-.271-.445Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Z\"}}]})(props);\n};\nexport function BsRewindFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.404 7.304a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L8.404 7.304Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.404 7.304a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L.404 7.304Z\"}}]})(props);\n};\nexport function BsRewind (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.196 8 15 4.633v6.734L9.196 8Zm-.792-.696a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L8.404 7.304Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.196 8 7 4.633v6.734L1.196 8Zm-.792-.696a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L.404 7.304Z\"}}]})(props);\n};\nexport function BsRobot (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3 8.062C3 6.76 4.235 5.765 5.53 5.886a26.58 26.58 0 0 0 4.94 0C11.765 5.765 13 6.76 13 8.062v1.157a.933.933 0 0 1-.765.935c-.845.147-2.34.346-4.235.346-1.895 0-3.39-.2-4.235-.346A.933.933 0 0 1 3 9.219V8.062Zm4.542-.827a.25.25 0 0 0-.217.068l-.92.9a24.767 24.767 0 0 1-1.871-.183.25.25 0 0 0-.068.495c.55.076 1.232.149 2.02.193a.25.25 0 0 0 .189-.071l.754-.736.847 1.71a.25.25 0 0 0 .404.062l.932-.97a25.286 25.286 0 0 0 1.922-.188.25.25 0 0 0-.068-.495c-.538.074-1.207.145-1.98.189a.25.25 0 0 0-.166.076l-.754.785-.842-1.7a.25.25 0 0 0-.182-.135Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.866a1 1 0 1 0-1 0V3h-2A4.5 4.5 0 0 0 1 7.5V8a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1v1a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-1a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1v-.5A4.5 4.5 0 0 0 10.5 3h-2V1.866ZM14 7.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.5A3.5 3.5 0 0 1 5.5 4h5A3.5 3.5 0 0 1 14 7.5Z\"}}]})(props);\n};\nexport function BsRocketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.175 1.991c.81 1.312 1.583 3.43 1.778 6.819l1.5 1.83A2.5 2.5 0 0 1 14 12.202V15.5a.5.5 0 0 1-.9.3l-1.125-1.5c-.166-.222-.42-.4-.752-.57-.214-.108-.414-.192-.627-.282l-.196-.083C9.7 13.793 8.85 14 8 14c-.85 0-1.7-.207-2.4-.635-.068.03-.133.057-.198.084-.211.089-.411.173-.625.281-.332.17-.586.348-.752.57L2.9 15.8a.5.5 0 0 1-.9-.3v-3.298a2.5 2.5 0 0 1 .548-1.562l.004-.005L4.049 8.81c.197-3.323.969-5.434 1.774-6.756.466-.767.94-1.262 1.31-1.57a3.67 3.67 0 0 1 .601-.41A.549.549 0 0 1 8 0c.101 0 .17.027.25.064.037.017.086.041.145.075.118.066.277.167.463.315.373.297.85.779 1.317 1.537ZM9.5 6c0-1.105-.672-2-1.5-2s-1.5.895-1.5 2S7.172 8 8 8s1.5-.895 1.5-2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14.5c.5 0 .999-.046 1.479-.139L8.4 15.8a.5.5 0 0 1-.8 0l-1.079-1.439c.48.093.98.139 1.479.139Z\"}}]})(props);\n};\nexport function BsRocketTakeoffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.17 9.53c2.307-2.592 3.278-4.684 3.641-6.218.21-.887.214-1.58.16-2.065a3.578 3.578 0 0 0-.108-.563 2.22 2.22 0 0 0-.078-.23V.453c-.073-.164-.168-.234-.352-.295a2.35 2.35 0 0 0-.16-.045 3.797 3.797 0 0 0-.57-.093c-.49-.044-1.19-.03-2.08.188-1.536.374-3.618 1.343-6.161 3.604l-2.4.238h-.006a2.552 2.552 0 0 0-1.524.734L.15 7.17a.512.512 0 0 0 .433.868l1.896-.271c.28-.04.592.013.955.132.232.076.437.16.655.248l.203.083c.196.816.66 1.58 1.275 2.195.613.614 1.376 1.08 2.191 1.277l.082.202c.089.218.173.424.249.657.118.363.172.676.132.956l-.271 1.9a.512.512 0 0 0 .867.433l2.382-2.386c.41-.41.668-.949.732-1.526l.24-2.408Zm.11-3.699c-.797.8-1.93.961-2.528.362-.598-.6-.436-1.733.361-2.532.798-.799 1.93-.96 2.528-.361.599.599.437 1.732-.36 2.531Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.205 10.787a7.632 7.632 0 0 0 1.804 1.352c-1.118 1.007-4.929 2.028-5.054 1.903-.126-.127.737-4.189 1.839-5.18.346.69.837 1.35 1.411 1.925Z\"}}]})(props);\n};\nexport function BsRocketTakeoff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.752 6.193c.599.6 1.73.437 2.528-.362.798-.799.96-1.932.362-2.531-.599-.6-1.73-.438-2.528.361-.798.8-.96 1.933-.362 2.532Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.811 3.312c-.363 1.534-1.334 3.626-3.64 6.218l-.24 2.408a2.56 2.56 0 0 1-.732 1.526L8.817 15.85a.51.51 0 0 1-.867-.434l.27-1.899c.04-.28-.013-.593-.131-.956a9.42 9.42 0 0 0-.249-.657l-.082-.202c-.815-.197-1.578-.662-2.191-1.277-.614-.615-1.079-1.379-1.275-2.195l-.203-.083a9.556 9.556 0 0 0-.655-.248c-.363-.119-.675-.172-.955-.132l-1.896.27A.51.51 0 0 1 .15 7.17l2.382-2.386c.41-.41.947-.67 1.524-.734h.006l2.4-.238C9.005 1.55 11.087.582 12.623.208c.89-.217 1.59-.232 2.08-.188.244.023.435.06.57.093.067.017.12.033.16.045.184.06.279.13.351.295l.029.073a3.475 3.475 0 0 1 .157.721c.055.485.051 1.178-.159 2.065Zm-4.828 7.475.04-.04-.107 1.081a1.536 1.536 0 0 1-.44.913l-1.298 1.3.054-.38c.072-.506-.034-.993-.172-1.418a8.548 8.548 0 0 0-.164-.45c.738-.065 1.462-.38 2.087-1.006ZM5.205 5c-.625.626-.94 1.351-1.004 2.09a8.497 8.497 0 0 0-.45-.164c-.424-.138-.91-.244-1.416-.172l-.38.054 1.3-1.3c.245-.246.566-.401.91-.44l1.08-.107-.04.039Zm9.406-3.961c-.38-.034-.967-.027-1.746.163-1.558.38-3.917 1.496-6.937 4.521-.62.62-.799 1.34-.687 2.051.107.676.483 1.362 1.048 1.928.564.565 1.25.941 1.924 1.049.71.112 1.429-.067 2.048-.688 3.079-3.083 4.192-5.444 4.556-6.987.183-.771.18-1.345.138-1.713a2.835 2.835 0 0 0-.045-.283 3.078 3.078 0 0 0-.3-.041Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.009 12.139a7.632 7.632 0 0 1-1.804-1.352A7.568 7.568 0 0 1 3.794 8.86c-1.102.992-1.965 5.054-1.839 5.18.125.126 3.936-.896 5.054-1.902Z\"}}]})(props);\n};\nexport function BsRocket (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8c.828 0 1.5-.895 1.5-2S8.828 4 8 4s-1.5.895-1.5 2S7.172 8 8 8Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.953 8.81c-.195-3.388-.968-5.507-1.777-6.819C9.707 1.233 9.23.751 8.857.454a3.495 3.495 0 0 0-.463-.315A2.19 2.19 0 0 0 8.25.064.546.546 0 0 0 8 0a.549.549 0 0 0-.266.073 2.312 2.312 0 0 0-.142.08 3.67 3.67 0 0 0-.459.33c-.37.308-.844.803-1.31 1.57-.805 1.322-1.577 3.433-1.774 6.756l-1.497 1.826-.004.005A2.5 2.5 0 0 0 2 12.202V15.5a.5.5 0 0 0 .9.3l1.125-1.5c.166-.222.42-.4.752-.57.214-.108.414-.192.625-.281l.198-.084c.7.428 1.55.635 2.4.635.85 0 1.7-.207 2.4-.635.067.03.132.056.196.083.213.09.413.174.627.282.332.17.586.348.752.57l1.125 1.5a.5.5 0 0 0 .9-.3v-3.298a2.5 2.5 0 0 0-.548-1.562l-1.499-1.83ZM12 10.445v.055c0 .866-.284 1.585-.75 2.14.146.064.292.13.425.199.39.197.8.46 1.1.86L13 14v-1.798a1.5 1.5 0 0 0-.327-.935L12 10.445ZM4.75 12.64C4.284 12.085 4 11.366 4 10.5v-.054l-.673.82a1.5 1.5 0 0 0-.327.936V14l.225-.3c.3-.4.71-.664 1.1-.861.133-.068.279-.135.425-.199ZM8.009 1.073c.063.04.14.094.226.163.284.226.683.621 1.09 1.28C10.137 3.836 11 6.237 11 10.5c0 .858-.374 1.48-.943 1.893C9.517 12.786 8.781 13 8 13c-.781 0-1.517-.214-2.057-.607C5.373 11.979 5 11.358 5 10.5c0-4.182.86-6.586 1.677-7.928.409-.67.81-1.082 1.096-1.32.09-.076.17-.135.236-.18Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.479 14.361c-.48.093-.98.139-1.479.139-.5 0-.999-.046-1.479-.139L7.6 15.8a.5.5 0 0 0 .8 0l1.079-1.439Z\"}}]})(props);\n};\nexport function BsRouterFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 3.025a3.5 3.5 0 0 1 4.95 0 .5.5 0 1 0 .707-.707 4.5 4.5 0 0 0-6.364 0 .5.5 0 0 0 .707.707Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.94 4.44a1.5 1.5 0 0 1 2.12 0 .5.5 0 0 0 .708-.708 2.5 2.5 0 0 0-3.536 0 .5.5 0 0 0 .707.707Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.974 2.342a.5.5 0 1 0-.948.316L3.806 8H1.5A1.5 1.5 0 0 0 0 9.5v2A1.5 1.5 0 0 0 1.5 13H2a.5.5 0 0 0 .5.5h2A.5.5 0 0 0 5 13h6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5h.5a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 14.5 8h-2.306l1.78-5.342a.5.5 0 1 0-.948-.316L11.14 8H4.86L2.974 2.342ZM2.5 11a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm4.5-.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2.5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm1.5-.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsRouter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 3.025a3.5 3.5 0 0 1 4.95 0 .5.5 0 1 0 .707-.707 4.5 4.5 0 0 0-6.364 0 .5.5 0 0 0 .707.707Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.94 4.44a1.5 1.5 0 0 1 2.12 0 .5.5 0 0 0 .708-.708 2.5 2.5 0 0 0-3.536 0 .5.5 0 0 0 .707.707ZM2.5 11a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm4.5-.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm2.5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm1.5-.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm2 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.974 2.342a.5.5 0 1 0-.948.316L3.806 8H1.5A1.5 1.5 0 0 0 0 9.5v2A1.5 1.5 0 0 0 1.5 13H2a.5.5 0 0 0 .5.5h2A.5.5 0 0 0 5 13h6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5h.5a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 14.5 8h-2.306l1.78-5.342a.5.5 0 1 0-.948-.316L11.14 8H4.86L2.974 2.342ZM14.5 9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h13Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsRssFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2zm0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2zm.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsRss (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-3-8.5a1 1 0 0 1 1-1c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1zm0 4a1 1 0 0 1 1-1 6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1-1-1z\"}}]})(props);\n};\nexport function BsRulers (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5v-1H2v-1h4v-1H4v-1h2v-1H2v-1h4V9H4V8h2V7H2V6h4V2h1v4h1V4h1v2h1V2h1v4h1V4h1v2h1V2h1v4h1V1a1 1 0 0 0-1-1H1z\"}}]})(props);\n};\nexport function BsSafeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.778 9.414A2 2 0 1 1 6.95 6.586a2 2 0 0 1 2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A1.5 1.5 0 0 0 1 1.5V3H.5a.5.5 0 0 0 0 1H1v3.5H.5a.5.5 0 0 0 0 1H1V12H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 14.5 0h-12zm3.036 4.464 1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 1 1 .708-.708zM14 6.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsSafe (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 1.5A1.5 1.5 0 0 1 2.5 0h12A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V13H.5a.5.5 0 0 1 0-1H1V8.5H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1V1.5zM2.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5h-12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zM4.828 4.464a.5.5 0 0 1 .708 0l1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 0 1 0-.708zM6.95 6.586a2 2 0 1 0 2.828 2.828A2 2 0 0 0 6.95 6.586z\"}}]})(props);\n};\nexport function BsSafe2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.563 8H5.035a3.482 3.482 0 0 1 .662-1.596l1.08 1.08c-.094.16-.167.332-.214.516zm.921-1.223-1.08-1.08A3.482 3.482 0 0 1 8 5.035v1.528c-.184.047-.357.12-.516.214zM9 6.563V5.035a3.482 3.482 0 0 1 1.596.662l-1.08 1.08A1.988 1.988 0 0 0 9 6.563zm1.223.921 1.08-1.08c.343.458.577 1.003.662 1.596h-1.528a1.989 1.989 0 0 0-.214-.516zM10.437 9h1.528a3.483 3.483 0 0 1-.662 1.596l-1.08-1.08c.094-.16.167-.332.214-.516zm-.921 1.223 1.08 1.08A3.483 3.483 0 0 1 9 11.965v-1.528c.184-.047.357-.12.516-.214zM8 10.437v1.528a3.483 3.483 0 0 1-1.596-.662l1.08-1.08c.16.094.332.167.516.214zm-1.223-.921-1.08 1.08A3.482 3.482 0 0 1 5.035 9h1.528c.047.184.12.357.214.516zM7.5 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 14.5 1h-12zm6 3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z\"}}]})(props);\n};\nexport function BsSafe2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h12A1.5 1.5 0 0 1 16 2.5v12a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V14H.5a.5.5 0 0 1 0-1H1V9H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5zM2.5 2a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.035 8h1.528c.047-.184.12-.357.214-.516l-1.08-1.08A3.482 3.482 0 0 0 5.035 8zm1.369-2.303 1.08 1.08c.16-.094.332-.167.516-.214V5.035a3.482 3.482 0 0 0-1.596.662zM9 5.035v1.528c.184.047.357.12.516.214l1.08-1.08A3.482 3.482 0 0 0 9 5.035zm2.303 1.369-1.08 1.08c.094.16.167.332.214.516h1.528a3.483 3.483 0 0 0-.662-1.596zM11.965 9h-1.528c-.047.184-.12.357-.214.516l1.08 1.08A3.483 3.483 0 0 0 11.965 9zm-1.369 2.303-1.08-1.08c-.16.094-.332.167-.516.214v1.528a3.483 3.483 0 0 0 1.596-.662zM8 11.965v-1.528a1.989 1.989 0 0 1-.516-.214l-1.08 1.08A3.483 3.483 0 0 0 8 11.965zm-2.303-1.369 1.08-1.08A1.988 1.988 0 0 1 6.563 9H5.035c.085.593.319 1.138.662 1.596zM4 8.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0zm4.5-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsSaveFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v7.793L4.854 6.646a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.708-.708L8.5 9.293V1.5z\"}}]})(props);\n};\nexport function BsSave (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v7.293l2.646-2.647a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L7.5 9.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z\"}}]})(props);\n};\nexport function BsSave2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v6h-2a.5.5 0 0 0-.354.854l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5A.5.5 0 0 0 10.5 7.5h-2v-6z\"}}]})(props);\n};\nexport function BsSave2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v4.5h2a.5.5 0 0 1 .354.854l-2.5 2.5a.5.5 0 0 1-.708 0l-2.5-2.5A.5.5 0 0 1 5.5 6.5h2V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z\"}}]})(props);\n};\nexport function BsScissors (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.5c-.614-.884-.074-1.962.858-2.5L8 7.226 11.642 1c.932.538 1.472 1.616.858 2.5L8.81 8.61l1.556 2.661a2.5 2.5 0 1 1-.794.637L8 9.73l-1.572 2.177a2.5 2.5 0 1 1-.794-.637L7.19 8.61 3.5 3.5zm2.5 10a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm7 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsScooter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-.39l1.4 7a2.5 2.5 0 1 1-.98.195l-.189-.938-2.43 3.527A.5.5 0 0 1 9.5 13H4.95a2.5 2.5 0 1 1 0-1h4.287l2.831-4.11L11.09 3H9.5a.5.5 0 0 1-.5-.5ZM3.915 12a1.5 1.5 0 1 0 0 1H2.5a.5.5 0 0 1 0-1h1.415Zm8.817-.789A1.499 1.499 0 0 0 13.5 14a1.5 1.5 0 0 0 .213-2.985l.277 1.387a.5.5 0 0 1-.98.196l-.278-1.387Z\"}}]})(props);\n};\nexport function BsScrewdriver (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .995.995 0l3.064 2.19a.995.995 0 0 1 .417.809v.07c0 .264.105.517.291.704l5.677 5.676.909-.303a.995.995 0 0 1 1.018.24l3.338 3.339a.995.995 0 0 1 0 1.406L14.13 15.71a.995.995 0 0 1-1.406 0l-3.337-3.34a.995.995 0 0 1-.24-1.018l.302-.909-5.676-5.677a.995.995 0 0 0-.704-.291H3a.995.995 0 0 1-.81-.417L0 .995Zm11.293 9.595a.497.497 0 1 0-.703.703l2.984 2.984a.497.497 0 0 0 .703-.703l-2.984-2.984Z\"}}]})(props);\n};\nexport function BsSdCardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 0H5.914a1.5 1.5 0 0 0-1.06.44L2.439 2.853A1.5 1.5 0 0 0 2 3.914V14.5A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0Zm-7 2.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm2 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm2.75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 1.5 0Zm1.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Z\"}}]})(props);\n};\nexport function BsSdCard (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 3.5a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.914 0H12.5A1.5 1.5 0 0 1 14 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5V3.914c0-.398.158-.78.44-1.06L4.853.439A1.5 1.5 0 0 1 5.914 0zM13 1.5a.5.5 0 0 0-.5-.5H5.914a.5.5 0 0 0-.353.146L3.146 3.561A.5.5 0 0 0 3 3.914V14.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-13z\"}}]})(props);\n};\nexport function BsSearchHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 13a6.474 6.474 0 0 0 3.845-1.258h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.008 1.008 0 0 0-.115-.1A6.471 6.471 0 0 0 13 6.5 6.502 6.502 0 0 0 6.5 0a6.5 6.5 0 1 0 0 13Zm0-8.518c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.69 0-5.018Z\"}}]})(props);\n};\nexport function BsSearchHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 4.482c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.69 0-5.018Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a6.471 6.471 0 0 1-1.258 3.844c.04.03.078.062.115.098l3.85 3.85a1 1 0 0 1-1.414 1.415l-3.85-3.85a1.007 1.007 0 0 1-.1-.115h.002A6.5 6.5 0 1 1 13 6.5ZM6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Z\"}}]})(props);\n};\nexport function BsSearch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z\"}}]})(props);\n};\nexport function BsSegmentedNav (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm6 3h4V5H6v4zm9-1V6a1 1 0 0 0-1-1h-3v4h3a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsSendArrowDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854.146a.5.5 0 0 1 .11.54L13.026 8.03A4.5 4.5 0 0 0 8 12.5c0 .5 0 1.5-.773.36l-1.59-2.498L.644 7.184l-.002-.001-.41-.261a.5.5 0 0 1 .083-.886l.452-.18.001-.001L15.314.035a.5.5 0 0 1 .54.111ZM6.637 10.07l7.494-7.494.471-1.178-1.178.471L5.93 9.363l.338.215a.5.5 0 0 1 .154.154l.215.338Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-1.646a.5.5 0 0 1-.722-.016l-1.149-1.25a.5.5 0 1 1 .737-.676l.28.305V11a.5.5 0 0 1 1 0v1.793l.396-.397a.5.5 0 0 1 .708.708l-1.25 1.25Z\"}}]})(props);\n};\nexport function BsSendArrowDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854.146a.5.5 0 0 1 .11.54l-2.8 7a.5.5 0 1 1-.928-.372l1.895-4.738-7.494 7.494 1.376 2.162a.5.5 0 1 1-.844.537l-1.531-2.407L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM5.93 9.363l7.494-7.494L1.591 6.602l4.339 2.76Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-1.646a.5.5 0 0 1-.722-.016l-1.149-1.25a.5.5 0 1 1 .737-.676l.28.305V11a.5.5 0 0 1 1 0v1.793l.396-.397a.5.5 0 0 1 .708.708l-1.25 1.25Z\"}}]})(props);\n};\nexport function BsSendArrowUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854.146a.5.5 0 0 1 .11.54L13.026 8.03A4.5 4.5 0 0 0 8 12.5c0 .5 0 1.5-.773.36l-1.59-2.498L.644 7.184l-.002-.001-.41-.261a.5.5 0 0 1 .083-.886l.452-.18.001-.001L15.314.035a.5.5 0 0 1 .54.111ZM6.637 10.07l7.494-7.494.471-1.178-1.178.471L5.93 9.363l.338.215a.5.5 0 0 1 .154.154l.215.338Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.354a.5.5 0 0 0-.722.016l-1.149 1.25a.5.5 0 1 0 .737.676l.28-.305V14a.5.5 0 0 0 1 0v-1.793l.396.397a.5.5 0 0 0 .708-.708l-1.25-1.25Z\"}}]})(props);\n};\nexport function BsSendArrowUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854.146a.5.5 0 0 1 .11.54l-2.8 7a.5.5 0 1 1-.928-.372l1.895-4.738-7.494 7.494 1.376 2.162a.5.5 0 1 1-.844.537l-1.531-2.407L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM5.93 9.363l7.494-7.494L1.591 6.602l4.339 2.76Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.354-5.354a.5.5 0 0 0-.722.016l-1.149 1.25a.5.5 0 1 0 .737.676l.28-.305V14a.5.5 0 0 0 1 0v-1.793l.396.397a.5.5 0 0 0 .708-.708l-1.25-1.25Z\"}}]})(props);\n};\nexport function BsSendCheckFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1.993-1.679a.5.5 0 0 0-.686.172l-1.17 1.95-.547-.547a.5.5 0 0 0-.708.708l.774.773a.75.75 0 0 0 1.174-.144l1.335-2.226a.5.5 0 0 0-.172-.686Z\"}}]})(props);\n};\nexport function BsSendCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855a.75.75 0 0 0-.124 1.329l4.995 3.178 1.531 2.406a.5.5 0 0 0 .844-.536L6.637 10.07l7.494-7.494-1.895 4.738a.5.5 0 1 0 .928.372l2.8-7Zm-2.54 1.183L5.93 9.363 1.591 6.602l11.833-4.733Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1.993-1.679a.5.5 0 0 0-.686.172l-1.17 1.95-.547-.547a.5.5 0 0 0-.708.708l.774.773a.75.75 0 0 0 1.174-.144l1.335-2.226a.5.5 0 0 0-.172-.686Z\"}}]})(props);\n};\nexport function BsSendDashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsSendDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855a.75.75 0 0 0-.124 1.329l4.995 3.178 1.531 2.406a.5.5 0 0 0 .844-.536L6.637 10.07l7.494-7.494-1.895 4.738a.5.5 0 1 0 .928.372l2.8-7Zm-2.54 1.183L5.93 9.363 1.591 6.602l11.833-4.733Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsSendExclamationFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1.5a.5.5 0 0 1-1 0V11a.5.5 0 0 1 1 0Zm0 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsSendExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855a.75.75 0 0 0-.124 1.329l4.995 3.178 1.531 2.406a.5.5 0 0 0 .844-.536L6.637 10.07l7.494-7.494-1.895 4.738a.5.5 0 1 0 .928.372l2.8-7Zm-2.54 1.183L5.93 9.363 1.591 6.602l11.833-4.733Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm.5-5v1.5a.5.5 0 0 1-1 0V11a.5.5 0 0 1 1 0Zm0 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsSendFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 3.178 4.995.002.002.26.41a.5.5 0 0 0 .886-.083l6-15Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}}]})(props);\n};\nexport function BsSendPlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsSendPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855a.75.75 0 0 0-.124 1.329l4.995 3.178 1.531 2.406a.5.5 0 0 0 .844-.536L6.637 10.07l7.494-7.494-1.895 4.738a.5.5 0 1 0 .928.372l2.8-7Zm-2.54 1.183L5.93 9.363 1.591 6.602l11.833-4.733Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsSendSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.975 10.025a3.5 3.5 0 1 0-4.95 4.95 3.5 3.5 0 0 0 4.95-4.95Zm-4.243.707a2.501 2.501 0 0 1 3.147-.318l-3.465 3.465a2.501 2.501 0 0 1 .318-3.147Zm.39 3.854 3.464-3.465a2.501 2.501 0 0 1-3.465 3.465Z\"}}]})(props);\n};\nexport function BsSendSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855a.75.75 0 0 0-.124 1.329l4.995 3.178 1.531 2.406a.5.5 0 0 0 .844-.536L6.637 10.07l7.494-7.494-1.895 4.738a.5.5 0 1 0 .928.372l2.8-7Zm-2.54 1.183L5.93 9.363 1.591 6.602l11.833-4.733Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.975 10.025a3.5 3.5 0 1 0-4.95 4.95 3.5 3.5 0 0 0 4.95-4.95Zm-4.243.707a2.501 2.501 0 0 1 3.147-.318l-3.465 3.465a2.501 2.501 0 0 1 .318-3.147Zm.39 3.854 3.464-3.465a2.501 2.501 0 0 1-3.465 3.465Z\"}}]})(props);\n};\nexport function BsSendXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855H.766l-.452.18a.5.5 0 0 0-.082.887l.41.26.001.002 4.995 3.178 1.59 2.498C8 14 8 13 8 12.5a4.5 4.5 0 0 1 5.026-4.47L15.964.686Zm-1.833 1.89L6.637 10.07l-.215-.338a.5.5 0 0 0-.154-.154l-.338-.215 7.494-7.494 1.178-.471-.47 1.178Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsSendX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.964.686a.5.5 0 0 0-.65-.65L.767 5.855a.75.75 0 0 0-.124 1.329l4.995 3.178 1.531 2.406a.5.5 0 0 0 .844-.536L6.637 10.07l7.494-7.494-1.895 4.738a.5.5 0 1 0 .928.372l2.8-7Zm-2.54 1.183L5.93 9.363 1.591 6.602l11.833-4.733Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsSend (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576 6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76 7.494-7.493Z\"}}]})(props);\n};\nexport function BsServer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.333 2.667C1.333 1.194 4.318 0 8 0s6.667 1.194 6.667 2.667V4c0 1.473-2.985 2.667-6.667 2.667S1.333 5.473 1.333 4V2.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.333 6.334v3C1.333 10.805 4.318 12 8 12s6.667-1.194 6.667-2.667V6.334a6.51 6.51 0 0 1-1.458.79C11.81 7.684 9.967 8 8 8c-1.966 0-3.809-.317-5.208-.876a6.508 6.508 0 0 1-1.458-.79z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.667 11.668a6.51 6.51 0 0 1-1.458.789c-1.4.56-3.242.876-5.21.876-1.966 0-3.809-.316-5.208-.876a6.51 6.51 0 0 1-1.458-.79v1.666C1.333 14.806 4.318 16 8 16s6.667-1.194 6.667-2.667v-1.665z\"}}]})(props);\n};\nexport function BsShadows (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8 7a.5.5 0 0 1 0-1h3.5c.032 0 .063.003.093.009A7.032 7.032 0 0 0 12.9 13H8a.5.5 0 0 1 0-1h5.745c.22-.315.415-.65.581-1H8a.5.5 0 0 1 0-1h6.71a7.03 7.03 0 0 0 .22-1H8a.5.5 0 0 1 0-1h7c0-.34-.024-.673-.07-1H8a.5.5 0 0 1 0-1h6.71a6.949 6.949 0 0 0-.384-1H8a.5.5 0 0 1 0-1h5.745a7.035 7.035 0 0 0-.846-1H8a.5.5 0 0 1 0-1h3.608A7 7 0 1 0 8 15Z\"}}]})(props);\n};\nexport function BsShareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5z\"}}]})(props);\n};\nexport function BsShare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5zm-8.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]})(props);\n};\nexport function BsShieldCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsShieldExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsShieldFillCheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm2.146 5.146a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647z\"}}]})(props);\n};\nexport function BsShieldFillExclamation (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm-.55 8.502L7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0zM8.002 12a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsShieldFillMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zM6 7.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1H6z\"}}]})(props);\n};\nexport function BsShieldFillPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm-.5 5a.5.5 0 0 1 1 0v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5z\"}}]})(props);\n};\nexport function BsShieldFillX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zM6.854 5.146 8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsShieldFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShieldLockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsShieldLock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415z\"}}]})(props);\n};\nexport function BsShieldMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsShieldPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsShieldShaded (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 14.933a.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067v13.866zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShieldSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525L1.093 3.093zm12.215 8.215L3.128 1.128A61.369 61.369 0 0 1 5.073.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616zm.338 3.046-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsShieldSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525l-.745-.745a10.27 10.27 0 0 1-1.578 1.392c-.346.244-.652.42-.893.533-.12.057-.218.095-.293.118a.55.55 0 0 1-.101.025.615.615 0 0 1-.1-.025 2.348 2.348 0 0 1-.294-.118 6.141 6.141 0 0 1-.893-.533 10.725 10.725 0 0 1-2.287-2.233C3.053 10.228 1.879 7.594 2.06 4.06l-.967-.967zM3.98 1.98l-.852-.852A58.935 58.935 0 0 1 5.072.559C6.157.266 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616l-.77-.77c1.042-1.915 1.72-4.469 1.29-7.702a.48.48 0 0 0-.33-.39c-.65-.213-1.75-.56-2.836-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524a49.7 49.7 0 0 0-1.357.39zm9.666 12.374-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsShieldX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 5.146a.5.5 0 0 1 .708 0L8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsShield (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShiftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047z\"}}]})(props);\n};\nexport function BsShift (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047zM14.346 9.5 8 2.731 1.654 9.5H4.5a1 1 0 0 1 1 1v3h5v-3a1 1 0 0 1 1-1h2.846z\"}}]})(props);\n};\nexport function BsShopWindow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.371 2.371 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976l2.61-3.045zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0zM1.5 8.5A.5.5 0 0 1 2 9v6h12V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5zm2 .5a.5.5 0 0 1 .5.5V13h8V9.5a.5.5 0 0 1 1 0V13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsShop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.371 2.371 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976l2.61-3.045zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0zM1.5 8.5A.5.5 0 0 1 2 9v6h1v-5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v5h6V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5zM4 15h3v-5H4v5zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-3zm3 0h-2v3h2v-3z\"}}]})(props);\n};\nexport function BsShuffle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 3.5A.5.5 0 0 1 .5 3H1c2.202 0 3.827 1.24 4.874 2.418.49.552.865 1.102 1.126 1.532.26-.43.636-.98 1.126-1.532C9.173 4.24 10.798 3 13 3v1c-1.798 0-3.173 1.01-4.126 2.082A9.624 9.624 0 0 0 7.556 8a9.624 9.624 0 0 0 1.317 1.918C9.828 10.99 11.204 12 13 12v1c-2.202 0-3.827-1.24-4.874-2.418A10.595 10.595 0 0 1 7 9.05c-.26.43-.636.98-1.126 1.532C4.827 11.76 3.202 13 1 13H.5a.5.5 0 0 1 0-1H1c1.798 0 3.173-1.01 4.126-2.082A9.624 9.624 0 0 0 6.444 8a9.624 9.624 0 0 0-1.317-1.918C4.172 5.01 2.796 4 1 4H.5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.466V1.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192zm0 9v-3.932a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192z\"}}]})(props);\n};\nexport function BsSignDeadEndFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.116 6.28h.32c.395 0 .582.24.582.722 0 .48-.186.718-.581.718h-.321V6.28Zm3.636.066.268.845h-.552l.27-.845h.014Zm1.327-.066h.32c.394 0 .582.24.582.722 0 .48-.186.718-.582.718h-.32V6.28Zm-.792 3h.32c.395 0 .582.24.582.722 0 .48-.186.718-.581.718h-.32V9.28Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM4.782 6h.69c.596 0 .886.355.886.998S6.066 8 5.473 8h-.69V6ZM7.82 7.72V8H6.571V6H7.82v.28h-.917v.57h.863v.268h-.863v.602h.917Zm.397.28h-.34l.688-2h.371l.689 2h-.352l-.177-.554h-.702L8.216 8Zm1.53-2h.69c.596 0 .886.355.886.998S11.03 8 10.436 8h-.69V6Zm-2.923 4.72V11H5.575V9h1.248v.28h-.917v.57h.863v.268h-.863v.602h.917Zm.572.28h-.32V9h.294l.933 1.436h.014V9h.32v2h-.292l-.936-1.44h-.013V11Zm1.56-2h.69c.596 0 .886.355.886.998S10.238 11 9.645 11h-.69V9Z\"}}]})(props);\n};\nexport function BsSignDeadEnd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.783 6v2h.69c.593 0 .886-.359.886-1.002S6.07 6 5.473 6h-.69Zm.333.28h.32c.395 0 .582.24.582.722 0 .48-.186.718-.581.718h-.321V6.28ZM7.82 7.72h-.918v-.602h.863V6.85h-.863v-.57h.917V6H6.571v2H7.82v-.28Zm.573-.274L8.216 8h-.34l.688-2h.371l.689 2h-.352l-.177-.554h-.702Zm.627-.255-.268-.845h-.015l-.27.845h.553ZM9.746 6v2h.69c.593 0 .886-.359.886-1.002S11.032 6 10.436 6h-.69Zm.333.28h.32c.394 0 .582.24.582.722 0 .48-.186.718-.582.718h-.32V6.28Zm-4.173 4.44h.917V11H5.575V9h1.248v.28h-.917v.57h.863v.268h-.863v.602Zm1.489.28V9.56h.013L8.344 11h.292V9h-.32v1.436h-.014L7.369 9h-.293v2h.319Zm1.56 0V9h.69c.596 0 .886.355.886.998S10.238 11 9.645 11h-.69Zm.653-1.72h-.32v1.44h.32c.395 0 .581-.239.581-.718 0-.481-.187-.722-.581-.722Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignDoNotEnterFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.237 4.28h-.32v1.44h.32c.396 0 .582-.239.582-.718 0-.481-.188-.722-.582-.722Zm2.392.859v-.277c0-.413-.211-.617-.494-.617-.285 0-.495.204-.495.617v.277c0 .414.21.618.495.618.283 0 .494-.204.494-.618Zm4.163 0v-.277c0-.413-.211-.617-.494-.617-.285 0-.495.204-.495.617v.277c0 .414.21.618.495.618.283 0 .494-.204.494-.618Zm.006 5.828v-.694h.39c.231 0 .378.126.378.354 0 .225-.142.34-.387.34h-.38Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM3.584 6V4h.69c.596 0 .886.355.886.998S4.867 6 4.274 6h-.69Zm3.382-1.135v.272c0 .566-.318.903-.83.903-.513 0-.833-.337-.833-.903v-.272c0-.569.32-.904.832-.904.513 0 .83.337.83.904Zm1.021-.305V6h-.319V4h.293l.933 1.436h.015V4h.319v2h-.291L8 4.56h-.013Zm3.142.305v.272c0 .566-.318.903-.83.903-.513 0-.833-.337-.833-.903v-.272c0-.569.32-.904.832-.904.513 0 .83.337.83.904Zm.899-.58V6h-.333V4.285h-.584V4h1.503v.285h-.586ZM5.413 11.72V12H4.165v-2h1.248v.28h-.917v.57h.862v.268h-.862v.602h.917Zm.572.28h-.32v-2h.294l.933 1.436h.014v-1.435h.32V12h-.292l-.936-1.44h-.013V12Zm2.279 0H7.93v-1.715h-.584V10H8.85v.284h-.586V12Zm1.953-.28V12H8.97v-2h1.248v.28H9.3v.57h.863v.268H9.3v.602h.917ZM11.235 10c.42 0 .674.244.674.616a.575.575 0 0 1-.368.56l.404.824h-.373l-.36-.769h-.414V12h-.328v-2h.765ZM3.5 7h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsSignDoNotEnter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.584 6V4h.69c.596 0 .886.355.886.998S4.867 6 4.274 6h-.69Zm.653-1.72h-.32v1.44h.32c.396 0 .582-.239.582-.718 0-.481-.188-.722-.582-.722Zm2.729.585v.272c0 .566-.318.903-.83.903-.513 0-.833-.337-.833-.903v-.272c0-.569.32-.904.832-.904.513 0 .83.337.83.904Zm-.337.274v-.277c0-.413-.211-.617-.494-.617-.285 0-.495.204-.495.617v.277c0 .414.21.618.495.618.283 0 .494-.204.494-.618Zm1.358-.579V6h-.319V4h.293l.933 1.436h.015V4h.319v2h-.291L8 4.56h-.013Zm3.142.305v.272c0 .566-.318.903-.83.903-.513 0-.833-.337-.833-.903v-.272c0-.569.32-.904.832-.904.513 0 .83.337.83.904Zm-.337.274v-.277c0-.413-.211-.617-.494-.617-.285 0-.495.204-.495.617v.277c0 .414.21.618.495.618.283 0 .494-.204.494-.618Zm1.236-.854V6h-.333V4.285h-.584V4h1.503v.285h-.586ZM4.496 11.72h.917V12H4.165v-2h1.248v.28h-.917v.57h.862v.268h-.862v.602Zm1.489-1.16V12h-.32v-2h.294l.933 1.436h.014v-1.435h.32V12h-.292l-.936-1.44h-.013Zm2.279-.275V12H7.93v-1.715h-.584V10H8.85v.284h-.586ZM9.3 11.72h.917V12H8.97v-2h1.248v.28H9.3v.57h.863v.268H9.3v.602ZM10.47 10h.765c.42 0 .674.244.674.616a.575.575 0 0 1-.368.56l.404.824h-.373l-.36-.769h-.414V12h-.328v-2Zm.328.273v.694h.381c.245 0 .387-.115.387-.34 0-.228-.147-.354-.378-.354h-.39ZM3.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm0-1A7 7 0 1 1 8 1a7 7 0 0 1 0 14Z\"}}]})(props);\n};\nexport function BsSignIntersectionFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM7.25 4h1.5v3.25H12v1.5H8.75V12h-1.5V8.75H4v-1.5h3.25V4Z\"}}]})(props);\n};\nexport function BsSignIntersectionSideFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM6.25 4h1.5v3.25H11v1.5H7.75V12h-1.5V4Z\"}}]})(props);\n};\nexport function BsSignIntersectionSide (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 4v8h1.5V8.75H11v-1.5H7.75V4h-1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignIntersectionTFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM5 5h6v1.5H8.75V12h-1.5V6.5H5V5Z\"}}]})(props);\n};\nexport function BsSignIntersectionT (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v1.5h2.25V12h1.5V6.5H11V5H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignIntersectionYFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm1.443 4.762 1.014 1.106L8.75 8.83V12h-1.5V8.83L4.493 6.303l1.014-1.106L8 7.483l2.493-2.286Z\"}}]})(props);\n};\nexport function BsSignIntersectionY (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.493 5.197 8 7.483 5.507 5.197 4.493 6.303 7.25 8.83V12h1.5V8.83l2.757-2.527-1.014-1.106Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignIntersection (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.25 4v3.25H4v1.5h3.25V12h1.5V8.75H12v-1.5H8.75V4h-1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignMergeLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM7.25 6H6.034a.25.25 0 0 1-.192-.41l1.966-2.36a.25.25 0 0 1 .384 0l1.966 2.36a.25.25 0 0 1-.192.41H8.75v6h-1.5V8.823c-.551.686-1.229 1.363-1.88 2.015l-.016.016-.708-.708c.757-.756 1.48-1.48 2.016-2.196.25-.333.448-.649.588-.95V6Z\"}}]})(props);\n};\nexport function BsSignMergeLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.25 6v1c-.14.301-.338.617-.588.95-.537.716-1.259 1.44-2.016 2.196l.708.708.015-.016c.652-.652 1.33-1.33 1.881-2.015V12h1.5V6h1.216a.25.25 0 0 0 .192-.41L8.192 3.23a.25.25 0 0 0-.384 0L5.842 5.59a.25.25 0 0 0 .192.41H7.25Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignMergeRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM8.75 6v1c.14.301.338.617.588.95.537.716 1.259 1.44 2.016 2.196l-.708.708-.015-.016c-.652-.652-1.33-1.33-1.881-2.015V12h-1.5V6H6.034a.25.25 0 0 1-.192-.41l1.966-2.36a.25.25 0 0 1 .384 0l1.966 2.36a.25.25 0 0 1-.192.41H8.75Z\"}}]})(props);\n};\nexport function BsSignMergeRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 6v1c.14.301.338.617.588.95.537.716 1.259 1.44 2.016 2.196l-.708.708-.015-.016c-.652-.652-1.33-1.33-1.881-2.015V12h-1.5V6H6.034a.25.25 0 0 1-.192-.41l1.966-2.36a.25.25 0 0 1 .384 0l1.966 2.36a.25.25 0 0 1-.192.41H8.75Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignNoLeftTurnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13.292A8 8 0 0 1 13.293 2L9.195 6.099A2.501 2.501 0 0 0 8.5 6H7V4.534a.25.25 0 0 0-.41-.192L4.23 6.308a.25.25 0 0 0 0 .384l2.36 1.966a.265.265 0 0 0 .026.02L2 13.291Zm.708.708A8 8 0 0 0 14 2.707l-3.885 3.884C10.656 7.05 11 7.735 11 8.5V11h-1V8.5c0-.489-.234-.923-.596-1.197l-6.696 6.696Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.293 7 7 8.293V7h1.293Z\"}}]})(props);\n};\nexport function BsSignNoLeftTurn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8Zm3.416 5.29 5.988-5.987c.362.274.596.708.596 1.197V11h1V8.5c0-.765-.344-1.45-.885-1.908l3.176-3.176a7 7 0 0 1-9.874 9.874Zm-.707-.706a7 7 0 0 1 9.874-9.874L9.196 6.097A2.501 2.501 0 0 0 8.5 6H7V4.534a.25.25 0 0 0-.41-.192L4.23 6.308a.25.25 0 0 0 0 .384l2.36 1.966a.265.265 0 0 0 .026.02l-3.907 3.906ZM8.293 7 7 8.293V7h1.293Z\"}}]})(props);\n};\nexport function BsSignNoParkingFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.292 14A8 8 0 0 1 2 2.707l3.5 3.5V12h1.283V9.164h1.674L13.292 14Zm.708-.708-4.37-4.37C10.5 8.524 11 7.662 11 6.587c0-1.482-.955-2.584-2.538-2.584H5.5v.79L2.708 2.002A8 8 0 0 1 14 13.293Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.777 7.485v.59h.59l-.59-.59Zm1.949.535L6.777 6.07v-.966H8.27c.893 0 1.419.539 1.419 1.482 0 .769-.35 1.273-.963 1.433Z\"}}]})(props);\n};\nexport function BsSignNoParking (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm5.29-3.416L9.63 8.923C10.5 8.523 11 7.66 11 6.586c0-1.482-.955-2.584-2.538-2.584H5.5v.79L3.416 2.71a7 7 0 0 1 9.874 9.874Zm-.706.707A7 7 0 0 1 2.71 3.417l2.79 2.79V12h1.283V9.164h1.674l4.127 4.127ZM8.726 8.019 6.777 6.07v-.966H8.27c.893 0 1.419.539 1.419 1.482 0 .769-.35 1.273-.963 1.433Zm-1.949-.534.59.59h-.59v-.59Z\"}}]})(props);\n};\nexport function BsSignNoRightTurnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 2.707 2l4.097 4.098C7.025 6.034 7.259 6 7.5 6H9V4.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L9.41 8.658a.265.265 0 0 1-.026.02L14 13.291Zm-.708.708A8 8 0 0 1 2 2.707l3.885 3.884A2.495 2.495 0 0 0 5 8.5V11h1V8.5c0-.489.234-.923.596-1.197l6.696 6.696Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.707 7 9 8.293V7H7.707Z\"}}]})(props);\n};\nexport function BsSignNoRightTurn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-3.416 5.29L6.596 7.304A1.498 1.498 0 0 0 6 8.5V11H5V8.5c0-.765.344-1.45.885-1.908L2.709 3.416a7 7 0 0 0 9.874 9.874Zm.707-.706A7 7 0 0 0 3.417 2.71l3.388 3.388C7.025 6.034 7.259 6 7.5 6H9V4.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L9.41 8.658a.265.265 0 0 1-.026.02l3.907 3.906ZM7.707 7 9 8.293V7H7.707Z\"}}]})(props);\n};\nexport function BsSignRailroadFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.224 3.162 8 6.94l3.777-3.777L9.049.435Zm3.274 7.425v-.862h.467c.28 0 .467.154.467.44 0 .28-.182.421-.475.421h-.459Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.838 4.223 9.06 8l3.777 3.777 2.727-2.728c.58-.58.58-1.519 0-2.098l-2.727-2.728Zm.03 2.361c.591 0 .935.334.935.844a.79.79 0 0 1-.485.748l.536 1.074h-.59l-.467-.994h-.473v.994h-.521V6.584h1.064Zm-1.091 6.254L8 9.06l-3.777 3.777 2.728 2.727c.58.58 1.519.58 2.098 0l2.728-2.727Zm-8.953-5.84v.861h.46c.292 0 .474-.14.474-.421 0-.286-.188-.44-.467-.44h-.467Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.162 11.777 6.94 8 3.162 4.223.435 6.951c-.58.58-.58 1.519 0 2.098l2.727 2.728Zm-.86-5.193h1.065c.592 0 .936.334.936.844 0 .39-.242.654-.485.748l.536 1.074h-.59l-.467-.994h-.473v.994h-.521V6.584Z\"}}]})(props);\n};\nexport function BsSignRailroad (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.303 6.584h1.064c.592 0 .936.334.936.844a.79.79 0 0 1-.485.748l.536 1.074h-.59l-.467-.994h-.473v.994h-.521V6.584Zm.521.414v.861h.46c.292 0 .474-.14.474-.421 0-.286-.188-.44-.467-.44h-.467Zm-8.771-.414h1.064c.592 0 .936.334.936.844 0 .39-.242.654-.485.748l.536 1.074h-.59l-.467-.994h-.473v.994h-.521V6.584Zm.521.414v.861h.46c.292 0 .474-.14.474-.421 0-.286-.188-.44-.467-.44h-.467Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.4.7a.495.495 0 0 0-.7 0L4.923 3.861 8 6.939l3.078-3.077L8.35 1.134Zm3.788 3.788L9.061 8l3.077 3.078 2.728-2.728a.495.495 0 0 0 0-.7l-2.728-2.727Zm-1.06 7.215L8 9.061l-3.077 3.077 2.727 2.728a.495.495 0 0 0 .7 0l2.727-2.728Zm-7.216-1.06L6.939 8 3.862 4.923 1.134 7.65a.495.495 0 0 0 0 .7l2.728 2.728Z\"}}]})(props);\n};\nexport function BsSignStopFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.371 8.277v-.553c0-.827-.422-1.234-.987-1.234-.572 0-.99.407-.99 1.234v.553c0 .83.418 1.237.99 1.237.565 0 .987-.408.987-1.237Zm2.586-.24c.463 0 .735-.272.735-.744s-.272-.741-.735-.741h-.774v1.485h.774Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.893 0a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146A.5.5 0 0 0 11.107 0H4.893ZM3.16 10.08c-.931 0-1.447-.493-1.494-1.132h.653c.065.346.396.583.891.583.524 0 .83-.246.83-.62 0-.303-.203-.467-.637-.572l-.656-.164c-.61-.147-.978-.51-.978-1.078 0-.706.597-1.184 1.444-1.184.853 0 1.386.475 1.436 1.087h-.645c-.064-.32-.352-.542-.797-.542-.472 0-.77.246-.77.6 0 .261.196.437.553.522l.654.161c.673.164 1.06.487 1.06 1.11 0 .736-.574 1.228-1.544 1.228Zm3.427-3.51V10h-.665V6.57H4.753V6h3.006v.568H6.587Zm4.458 1.16v.544c0 1.131-.636 1.805-1.661 1.805-1.026 0-1.664-.674-1.664-1.805V7.73c0-1.136.638-1.807 1.664-1.807 1.025 0 1.66.674 1.66 1.807ZM11.52 6h1.535c.82 0 1.316.55 1.316 1.292 0 .747-.501 1.289-1.321 1.289h-.865V10h-.665V6.001Z\"}}]})(props);\n};\nexport function BsSignStopLightsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM6 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4Z\"}}]})(props);\n};\nexport function BsSignStopLights (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4Zm2 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435Zm-1.4.7a.495.495 0 0 1 .7 0l6.516 6.515a.495.495 0 0 1 0 .7L8.35 14.866a.495.495 0 0 1-.7 0L1.134 8.35a.495.495 0 0 1 0-.7L7.65 1.134Z\"}}]})(props);\n};\nexport function BsSignStop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.16 10.08c-.931 0-1.447-.493-1.494-1.132h.653c.065.346.396.583.891.583.524 0 .83-.246.83-.62 0-.303-.203-.467-.637-.572l-.656-.164c-.61-.147-.978-.51-.978-1.078 0-.706.597-1.184 1.444-1.184.853 0 1.386.475 1.436 1.087h-.645c-.064-.32-.352-.542-.797-.542-.472 0-.77.246-.77.6 0 .261.196.437.553.522l.654.161c.673.164 1.06.487 1.06 1.11 0 .736-.574 1.228-1.544 1.228Zm3.427-3.51V10h-.665V6.57H4.753V6h3.006v.568H6.587Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.045 7.73v.544c0 1.131-.636 1.805-1.661 1.805-1.026 0-1.664-.674-1.664-1.805V7.73c0-1.136.638-1.807 1.664-1.807 1.025 0 1.66.674 1.66 1.807Zm-.674.547v-.553c0-.827-.422-1.234-.987-1.234-.572 0-.99.407-.99 1.234v.553c0 .83.418 1.237.99 1.237.565 0 .987-.408.987-1.237Zm1.15-2.276h1.535c.82 0 1.316.55 1.316 1.292 0 .747-.501 1.289-1.321 1.289h-.865V10h-.665V6.001Zm1.436 2.036c.463 0 .735-.272.735-.744s-.272-.741-.735-.741h-.774v1.485h.774Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.893 0a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146A.5.5 0 0 0 11.107 0H4.893ZM1 5.1 5.1 1h5.8L15 5.1v5.8L10.9 15H5.1L1 10.9V5.1Z\"}}]})(props);\n};\nexport function BsSignTurnLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM7 8.466a.25.25 0 0 1-.41.192L4.23 6.692a.25.25 0 0 1 0-.384l2.36-1.966a.25.25 0 0 1 .41.192V6h1.5A2.5 2.5 0 0 1 11 8.5V11h-1V8.5A1.5 1.5 0 0 0 8.5 7H7v1.466Z\"}}]})(props);\n};\nexport function BsSignTurnLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8.5A2.5 2.5 0 0 0 8.5 6H7V4.534a.25.25 0 0 0-.41-.192L4.23 6.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 7 8.466V7h1.5A1.5 1.5 0 0 1 10 8.5V11h1V8.5Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134Z\"}}]})(props);\n};\nexport function BsSignTurnRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM9 8.466V7H7.5A1.5 1.5 0 0 0 6 8.5V11H5V8.5A2.5 2.5 0 0 1 7.5 6H9V4.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L9.41 8.658A.25.25 0 0 1 9 8.466Z\"}}]})(props);\n};\nexport function BsSignTurnRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8.5A2.5 2.5 0 0 1 7.5 6H9V4.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L9.41 8.658A.25.25 0 0 1 9 8.466V7H7.5A1.5 1.5 0 0 0 6 8.5V11H5V8.5Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134Z\"}}]})(props);\n};\nexport function BsSignTurnSlightLeftFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435ZM6.864 8.368a.25.25 0 0 1-.451-.039l-1.06-2.882a.25.25 0 0 1 .192-.333l3.026-.523a.25.25 0 0 1 .26.371l-.667 1.154.621.373A2.5 2.5 0 0 1 10 8.632V11H9V8.632a1.5 1.5 0 0 0-.728-1.286l-.607-.364-.8 1.386Z\"}}]})(props);\n};\nexport function BsSignTurnSlightLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.665 6.982-.8 1.386a.25.25 0 0 1-.451-.039l-1.06-2.882a.25.25 0 0 1 .192-.333l3.026-.523a.25.25 0 0 1 .26.371l-.667 1.154.621.373A2.5 2.5 0 0 1 10 8.632V11H9V8.632a1.5 1.5 0 0 0-.728-1.286l-.607-.364Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134Z\"}}]})(props);\n};\nexport function BsSignTurnSlightRightFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.385 6.547.8 1.386a.25.25 0 0 0 .451-.039l1.06-2.882a.25.25 0 0 0-.192-.333l-3.026-.523a.25.25 0 0 0-.26.371l.667 1.154-.621.373A2.5 2.5 0 0 0 6 8.632V11h1V8.632a1.5 1.5 0 0 1 .728-1.286l.607-.364Z\"}}]})(props);\n};\nexport function BsSignTurnSlightRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.335 6.982.8 1.386a.25.25 0 0 0 .451-.039l1.06-2.882a.25.25 0 0 0-.192-.333l-3.026-.523a.25.25 0 0 0-.26.371l.667 1.154-.621.373A2.5 2.5 0 0 0 6 8.632V11h1V8.632a1.5 1.5 0 0 1 .728-1.286l.607-.364Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435Zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134Z\"}}]})(props);\n};\nexport function BsSignYieldFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.48 5.323h-.28v1.353h.28c.372 0 .54-.222.54-.674 0-.45-.169-.68-.54-.68Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.022 14.434a1.131 1.131 0 0 0 1.96 0l6.857-11.667c.457-.778-.092-1.767-.98-1.767H1.144c-.889 0-1.437.99-.98 1.767l6.857 11.667ZM5.506 6.232V7H5.11v-.76L4.44 5h.44l.424.849h.016L5.748 5h.428l-.67 1.232ZM6.628 5v2h-.396V5h.396Zm.684 1.676h.895V7H6.919V5h1.288v.324h-.895v.513h.842v.303h-.842v.536Zm1.521-.013h.848V7H8.437V5h.396v1.663Zm.97.337V5h.73c.608 0 .895.364.895.995 0 .636-.291 1.005-.895 1.005h-.73Z\"}}]})(props);\n};\nexport function BsSignYield (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.506 6.232V7H5.11v-.76L4.44 5h.44l.424.849h.016L5.748 5h.428l-.67 1.232ZM6.628 5v2h-.396V5h.396Zm.684 1.676h.895V7H6.919V5h1.288v.324h-.895v.513h.842v.303h-.842v.536Zm1.521-.013h.848V7H8.437V5h.396v1.663Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.804 7V5h.73c.607 0 .894.364.894.995 0 .636-.291 1.005-.895 1.005h-.73Zm.676-1.677h-.28v1.353h.28c.372 0 .54-.222.54-.674 0-.45-.169-.68-.54-.68Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 14.434a1.131 1.131 0 0 0 1.96 0l6.857-11.667c.457-.778-.092-1.767-.98-1.767H1.144c-.889 0-1.437.99-.98 1.767l6.857 11.667Zm.98-.434a.13.13 0 0 1-.064-.016.146.146 0 0 1-.054-.057L1.027 2.26a.177.177 0 0 1-.002-.183.164.164 0 0 1 .054-.06A.116.116 0 0 1 1.145 2h13.713a.12.12 0 0 1 .066.017c.018.01.038.03.055.06a.176.176 0 0 1-.003.183L8.12 13.927a.146.146 0 0 1-.054.057.13.13 0 0 1-.063.016Z\"}}]})(props);\n};\nexport function BsSignal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.08.234.179.727a7.264 7.264 0 0 0-2.01.832l-.383-.643A7.9 7.9 0 0 1 6.079.234zm3.84 0L9.742.96a7.265 7.265 0 0 1 2.01.832l.388-.643A7.957 7.957 0 0 0 9.92.234zm-8.77 3.63a7.944 7.944 0 0 0-.916 2.215l.727.18a7.264 7.264 0 0 1 .832-2.01l-.643-.386zM.75 8a7.3 7.3 0 0 1 .081-1.086L.091 6.8a8 8 0 0 0 0 2.398l.74-.112A7.262 7.262 0 0 1 .75 8zm11.384 6.848-.384-.64a7.23 7.23 0 0 1-2.007.831l.18.728a7.965 7.965 0 0 0 2.211-.919zM15.251 8c0 .364-.028.727-.082 1.086l.74.112a7.966 7.966 0 0 0 0-2.398l-.74.114c.054.36.082.722.082 1.086zm.516 1.918-.728-.18a7.252 7.252 0 0 1-.832 2.012l.643.387a7.933 7.933 0 0 0 .917-2.219zm-6.68 5.25c-.72.11-1.453.11-2.173 0l-.112.742a7.99 7.99 0 0 0 2.396 0l-.112-.741zm4.75-2.868a7.229 7.229 0 0 1-1.537 1.534l.446.605a8.07 8.07 0 0 0 1.695-1.689l-.604-.45zM12.3 2.163c.587.432 1.105.95 1.537 1.537l.604-.45a8.06 8.06 0 0 0-1.69-1.691l-.45.604zM2.163 3.7A7.242 7.242 0 0 1 3.7 2.163l-.45-.604a8.06 8.06 0 0 0-1.691 1.69l.604.45zm12.688.163-.644.387c.377.623.658 1.3.832 2.007l.728-.18a7.931 7.931 0 0 0-.916-2.214zM6.913.831a7.254 7.254 0 0 1 2.172 0l.112-.74a7.985 7.985 0 0 0-2.396 0l.112.74zM2.547 14.64 1 15l.36-1.549-.729-.17-.361 1.548a.75.75 0 0 0 .9.902l1.548-.357-.17-.734zM.786 12.612l.732.168.25-1.073A7.187 7.187 0 0 1 .96 9.74l-.727.18a8 8 0 0 0 .736 1.902l-.184.79zm3.5 1.623-1.073.25.17.731.79-.184c.6.327 1.239.574 1.902.737l.18-.728a7.197 7.197 0 0 1-1.962-.811l-.007.005zM8 1.5a6.502 6.502 0 0 0-6.498 6.502 6.516 6.516 0 0 0 .998 3.455l-.625 2.668L4.54 13.5a6.502 6.502 0 0 0 6.93-11A6.516 6.516 0 0 0 8 1.5\"}}]})(props);\n};\nexport function BsSignpost2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsSignpost2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586a1 1 0 0 0-2 0zM13.5 3l.75 1-.75 1H2V3h11.5zm.5 5v2H2.5l-.75-1 .75-1H14z\"}}]})(props);\n};\nexport function BsSignpostFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsSignpostSplitFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h2V6h5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.8 2.4A1 1 0 0 0 14 2H9v-.586a1 1 0 0 0-2 0V7H2a1 1 0 0 0-.8.4L.225 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4h5v5z\"}}]})(props);\n};\nexport function BsSignpostSplit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7V1.414a1 1 0 0 1 2 0V2h5a1 1 0 0 1 .8.4l.975 1.3a.5.5 0 0 1 0 .6L14.8 5.6a1 1 0 0 1-.8.4H9v10H7v-5H2a1 1 0 0 1-.8-.4L.225 9.3a.5.5 0 0 1 0-.6L1.2 7.4A1 1 0 0 1 2 7h5zm1 3V8H2l-.75 1L2 10h6zm0-5h6l.75-1L14 3H8v2z\"}}]})(props);\n};\nexport function BsSignpost (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414a1 1 0 0 0-2 0zM12.532 5l1.666 2-1.666 2H2V5h10.532z\"}}]})(props);\n};\nexport function BsSimFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5zM8.5 6V4h2a.5.5 0 0 1 .5.5V6H8.5zM5 7h6v2H5V7zm3.5 3H11v1.5a.5.5 0 0 1-.5.5h-2v-2zm-1 0v2h-2a.5.5 0 0 1-.5-.5V10h2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5V3.414a1.5 1.5 0 0 0-.44-1.06L11.647.439A1.5 1.5 0 0 0 10.586 0H3.5zm2 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7A1.5 1.5 0 0 1 5.5 3z\"}}]})(props);\n};\nexport function BsSimSlashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.646.44.897.896-1.703 1.703A1.506 1.506 0 0 0 10.5 3h-5A1.5 1.5 0 0 0 4 4.5v5.379l-2 2V1.5A1.5 1.5 0 0 1 3.5 0h7.086a1.5 1.5 0 0 1 1.06.44ZM8.5 5.378 9.879 4H8.5v1.379ZM5 8.879 6.879 7H5v1.879Zm6-1.758L9.121 9H11V7.121Zm-3.5 3.5L6.121 12H7.5v-1.379ZM5.5 13c-.117 0-.23-.013-.34-.039L2.502 15.62c.265.236.615.38.998.38h9a1.5 1.5 0 0 0 1.5-1.5V4.121l-2 2V11.5a1.5 1.5 0 0 1-1.5 1.5h-5ZM5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5ZM8.5 10H11v1.5a.5.5 0 0 1-.5.5h-2v-2Zm6.354-8.146a.5.5 0 0 0-.708-.708l-13 13a.5.5 0 0 0 .708.708l13-13Z\"}}]})(props);\n};\nexport function BsSimSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.646.44.897.896-.707.707-.897-.897A.5.5 0 0 0 10.586 1H3.5a.5.5 0 0 0-.5.5v9.379l-1 1V1.5A1.5 1.5 0 0 1 3.5 0h7.086a1.5 1.5 0 0 1 1.06.44ZM10.5 3c.117 0 .23.013.34.039L9.879 4H8.5v1.379L6.879 7H5v1.879l-1 1V4.5A1.5 1.5 0 0 1 5.5 3h5ZM12 6.121l-1 1V9H9.121L7.5 10.621V12H6.121l-.961.961c.11.026.223.039.34.039h5a1.5 1.5 0 0 0 1.5-1.5V6.121ZM3.5 15a.498.498 0 0 1-.288-.091l-.71.71c.265.237.615.381.998.381h9a1.5 1.5 0 0 0 1.5-1.5V4.121l-1 1V14.5a.5.5 0 0 1-.5.5h-9Zm2-11a.5.5 0 0 0-.5.5V6h2.5V4h-2Zm5.5 6v1.5a.5.5 0 0 1-.5.5h-2v-2H11Zm3.854-8.146a.5.5 0 0 0-.708-.708l-13 13a.5.5 0 0 0 .708.708l13-13Z\"}}]})(props);\n};\nexport function BsSim (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5A1.5 1.5 0 0 1 3.5 0h7.086a1.5 1.5 0 0 1 1.06.44l1.915 1.914A1.5 1.5 0 0 1 14 3.414V14.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-13zM3.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V3.414a.5.5 0 0 0-.146-.353l-1.915-1.915A.5.5 0 0 0 10.586 1H3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a.5.5 0 0 0-.5.5V6h2.5V4h-2zm3 0v2H11V4.5a.5.5 0 0 0-.5-.5h-2zM11 7H5v2h6V7zm0 3H8.5v2h2a.5.5 0 0 0 .5-.5V10zm-3.5 2v-2H5v1.5a.5.5 0 0 0 .5.5h2zM4 4.5A1.5 1.5 0 0 1 5.5 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7z\"}}]})(props);\n};\nexport function BsSinaWeibo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.878 1.093a4.23 4.23 0 0 1 4.031 1.305 4.225 4.225 0 0 1 .886 4.14v.001a.612.612 0 0 1-1.166-.377 3.01 3.01 0 0 0-3.495-3.873.611.611 0 1 1-.256-1.196ZM3.753 9.465c.548-1.11 1.972-1.74 3.233-1.411 1.304.338 1.971 1.568 1.437 2.764-.541 1.221-2.095 1.875-3.416 1.449-1.271-.411-1.812-1.67-1.254-2.802Zm2.658.567c.16.066.365-.009.458-.168.088-.16.03-.34-.129-.397-.156-.062-.353.013-.446.168-.09.154-.041.333.117.397Zm-1.607 1.314c.413.188.963.009 1.219-.4.252-.413.12-.883-.296-1.062-.41-.172-.94.005-1.194.402-.256.4-.135.874.271 1.06Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.014 7.238.005.001c.919.285 1.941.974 1.939 2.188 0 2.007-2.895 4.535-7.246 4.535C3.393 13.962 0 12.352 0 9.708c0-1.385.876-2.985 2.384-4.493C4.4 3.199 6.751 2.28 7.634 3.165c.39.392.427 1.065.177 1.87-.132.405.38.182.38.182 1.63-.682 3.051-.722 3.57.02.278.397.252.951-.004 1.594-.116.293.035.34.257.407Zm-10.4 3.101c.172 1.738 2.46 2.936 5.109 2.674 2.647-.26 4.656-1.883 4.482-3.623-.17-1.738-2.458-2.937-5.107-2.674-2.647.263-4.656 1.883-4.484 3.623Zm11.681-6.484a2.056 2.056 0 0 0-1.962-.634.526.526 0 1 0 .219 1.031 1.008 1.008 0 0 1 1.17 1.296.528.528 0 0 0 1.005.325 2.062 2.062 0 0 0-.432-2.018Z\"}}]})(props);\n};\nexport function BsSkipBackwardBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm11.21-6.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipBackwardBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.21 5.093A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8.5 8.972V10.5a.5.5 0 0 1-.79.407L5 8.972V10.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0v1.528l2.71-1.935a.5.5 0 0 1 .79.407v1.528l2.71-1.935z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipBackwardCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.79-2.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipBackwardCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.729 5.055a.5.5 0 0 0-.52.038L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.271-.445z\"}}]})(props);\n};\nexport function BsSkipBackwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 0 0 4v8a.5.5 0 0 0 1 0V8.753l6.267 3.636c.54.313 1.233-.066 1.233-.697v-2.94l6.267 3.636c.54.314 1.233-.065 1.233-.696V4.308c0-.63-.693-1.01-1.233-.696L8.5 7.248v-2.94c0-.63-.692-1.01-1.233-.696L1 7.248V4a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsSkipBackward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 1 1 4v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v2.94l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L8.5 8.752v2.94c0 .653-.713.998-1.233.696L1 8.752V12a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm7 1.133L1.696 8 7.5 11.367V4.633zm7.5 0L9.196 8 15 11.367V4.633z\"}}]})(props);\n};\nexport function BsSkipEndBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsSkipEndBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.79 5.093 9.5 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .79-.407z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipEndCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsSkipEndCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.271 5.055a.5.5 0 0 1 .52.038L9.5 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsSkipEndFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.693 3.3 4 3.678 4 4.308v7.384c0 .63.692 1.01 1.233.697L11.5 8.753V12a.5.5 0 0 0 1 0V4z\"}}]})(props);\n};\nexport function BsSkipEnd (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.713 3.31 4 3.655 4 4.308v7.384c0 .653.713.998 1.233.696L11.5 8.752V12a.5.5 0 0 0 1 0V4zM5 4.633 10.804 8 5 11.367V4.633z\"}}]})(props);\n};\nexport function BsSkipForwardBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Zm4.79-6.907A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093Z\"}}]})(props);\n};\nexport function BsSkipForwardBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipForwardCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}}]})(props);\n};\nexport function BsSkipForwardCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.271 5.055a.5.5 0 0 1 .52.038L7.5 7.028V5.5a.5.5 0 0 1 .79-.407L11 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935a.5.5 0 0 1-.79-.407V8.972l-2.71 1.935A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsSkipForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.753l-6.267 3.636c-.54.313-1.233-.066-1.233-.697v-2.94l-6.267 3.636C.693 12.703 0 12.324 0 11.693V4.308c0-.63.693-1.01 1.233-.696L7.5 7.248v-2.94c0-.63.693-1.01 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsSkipForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.752l-6.267 3.636c-.52.302-1.233-.043-1.233-.696v-2.94l-6.267 3.636C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696L7.5 7.248v-2.94c0-.653.713-.998 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5zM1 4.633v6.734L6.804 8 1 4.633zm7.5 0v6.734L14.304 8 8.5 4.633z\"}}]})(props);\n};\nexport function BsSkipStartBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9.71-6.907L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipStartBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.71 5.093a.5.5 0 0 1 .79.407v5a.5.5 0 0 1-.79.407L7 8.972V10.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0v1.528l2.71-1.935z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipStartCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM9.71 5.093 7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipStartCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.229 5.055a.5.5 0 0 0-.52.038L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.271-.445z\"}}]})(props);\n};\nexport function BsSkipStartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.54-.313 1.232.066 1.232.696v7.384c0 .63-.692 1.01-1.232.697L5 8.753V12a.5.5 0 0 1-1 0V4z\"}}]})(props);\n};\nexport function BsSkipStart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L5 8.752V12a.5.5 0 0 1-1 0V4zm7.5.633L5.696 8l5.804 3.367V4.633z\"}}]})(props);\n};\nexport function BsSkype (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.671 0c.88 0 1.733.247 2.468.702a7.423 7.423 0 0 1 6.02 2.118 7.372 7.372 0 0 1 2.167 5.215c0 .344-.024.687-.072 1.026a4.662 4.662 0 0 1 .6 2.281 4.645 4.645 0 0 1-1.37 3.294A4.673 4.673 0 0 1 11.18 16c-.84 0-1.658-.226-2.37-.644a7.423 7.423 0 0 1-6.114-2.107A7.374 7.374 0 0 1 .529 8.035c0-.363.026-.724.08-1.081a4.644 4.644 0 0 1 .76-5.59A4.68 4.68 0 0 1 4.67 0zm.447 7.01c.18.309.43.572.729.769a7.07 7.07 0 0 0 1.257.653c.492.205.873.38 1.145.523.229.112.437.264.615.448.135.142.21.331.21.528a.872.872 0 0 1-.335.723c-.291.196-.64.289-.99.264a2.618 2.618 0 0 1-1.048-.206 11.44 11.44 0 0 1-.532-.253 1.284 1.284 0 0 0-.587-.15.717.717 0 0 0-.501.176.63.63 0 0 0-.195.491.796.796 0 0 0 .148.482 1.2 1.2 0 0 0 .456.354 5.113 5.113 0 0 0 2.212.419 4.554 4.554 0 0 0 1.624-.265 2.296 2.296 0 0 0 1.08-.801c.267-.39.402-.855.386-1.327a2.09 2.09 0 0 0-.279-1.101 2.53 2.53 0 0 0-.772-.792A7.198 7.198 0 0 0 8.486 7.3a1.05 1.05 0 0 0-.145-.058 18.182 18.182 0 0 1-1.013-.447 1.827 1.827 0 0 1-.54-.387.727.727 0 0 1-.2-.508.805.805 0 0 1 .385-.723 1.76 1.76 0 0 1 .968-.247c.26-.003.52.03.772.096.274.079.542.177.802.293.105.049.22.075.336.076a.6.6 0 0 0 .453-.19.69.69 0 0 0 .18-.496.717.717 0 0 0-.17-.476 1.374 1.374 0 0 0-.556-.354 3.69 3.69 0 0 0-.708-.183 5.963 5.963 0 0 0-1.022-.078 4.53 4.53 0 0 0-1.536.258 2.71 2.71 0 0 0-1.174.784 1.91 1.91 0 0 0-.45 1.287c-.01.37.076.736.25 1.063z\"}}]})(props);\n};\nexport function BsSlack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.362 10.11c0 .926-.756 1.681-1.681 1.681S0 11.036 0 10.111C0 9.186.756 8.43 1.68 8.43h1.682v1.68zm.846 0c0-.924.756-1.68 1.681-1.68s1.681.756 1.681 1.68v4.21c0 .924-.756 1.68-1.68 1.68a1.685 1.685 0 0 1-1.682-1.68v-4.21zM5.89 3.362c-.926 0-1.682-.756-1.682-1.681S4.964 0 5.89 0s1.68.756 1.68 1.68v1.682H5.89zm0 .846c.924 0 1.68.756 1.68 1.681S6.814 7.57 5.89 7.57H1.68C.757 7.57 0 6.814 0 5.89c0-.926.756-1.682 1.68-1.682h4.21zm6.749 1.682c0-.926.755-1.682 1.68-1.682.925 0 1.681.756 1.681 1.681s-.756 1.681-1.68 1.681h-1.681V5.89zm-.848 0c0 .924-.755 1.68-1.68 1.68A1.685 1.685 0 0 1 8.43 5.89V1.68C8.43.757 9.186 0 10.11 0c.926 0 1.681.756 1.681 1.68v4.21zm-1.681 6.748c.926 0 1.682.756 1.682 1.681S11.036 16 10.11 16s-1.681-.756-1.681-1.68v-1.682h1.68zm0-.847c-.924 0-1.68-.755-1.68-1.68 0-.925.756-1.681 1.68-1.681h4.21c.924 0 1.68.756 1.68 1.68 0 .926-.756 1.681-1.68 1.681h-4.21z\"}}]})(props);\n};\nexport function BsSlashCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.646-2.646a.5.5 0 0 0-.708-.708l-6 6a.5.5 0 0 0 .708.708l6-6z\"}}]})(props);\n};\nexport function BsSlashCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708z\"}}]})(props);\n};\nexport function BsSlashLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.854 2.146a.5.5 0 0 1 0 .708l-11 11a.5.5 0 0 1-.708-.708l11-11a.5.5 0 0 1 .708 0Z\"}}]})(props);\n};\nexport function BsSlashSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm9.354 5.354-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsSlashSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsSlash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsSliders (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM9.05 3a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0V3h9.05zM4.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM2.05 8a2.5 2.5 0 0 1 4.9 0H16v1H6.95a2.5 2.5 0 0 1-4.9 0H0V8h2.05zm9.45 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-2.45 1a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0v-1h9.05z\"}}]})(props);\n};\nexport function BsSliders2Vertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1H3V1.5a.5.5 0 0 0-1 0V10H.5a.5.5 0 0 0-.5.5ZM2.5 12a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm3-6.5A.5.5 0 0 0 6 6h1.5v8.5a.5.5 0 0 0 1 0V6H10a.5.5 0 0 0 0-1H6a.5.5 0 0 0-.5.5ZM8 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2A.5.5 0 0 0 8 1Zm3 9.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1H14V1.5a.5.5 0 0 0-1 0V10h-1.5a.5.5 0 0 0-.5.5Zm2.5 1.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsSliders2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4H1.5a.5.5 0 0 1 0-1H10V1.5a.5.5 0 0 1 .5-.5ZM12 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-6.5 2A.5.5 0 0 1 6 6v1.5h8.5a.5.5 0 0 1 0 1H6V10a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5ZM1 8a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 1 8Zm9.5 2a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V13H1.5a.5.5 0 0 1 0-1H10v-1.5a.5.5 0 0 1 .5-.5Zm1.5 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsSmartwatch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5a.5.5 0 0 0-1 0v3H6a.5.5 0 0 0 0 1h2.5a.5.5 0 0 0 .5-.5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.667v.383A2.5 2.5 0 0 0 2 4.5v7a2.5 2.5 0 0 0 2 2.45v.383C4 15.253 4.746 16 5.667 16h4.666c.92 0 1.667-.746 1.667-1.667v-.383a2.5 2.5 0 0 0 2-2.45V8h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H14v-.5a2.5 2.5 0 0 0-2-2.45v-.383C12 .747 11.254 0 10.333 0H5.667C4.747 0 4 .746 4 1.667zM4.5 3h7A1.5 1.5 0 0 1 13 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-7A1.5 1.5 0 0 1 4.5 3z\"}}]})(props);\n};\nexport function BsSnapchat (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.943 11.526c-.111-.303-.323-.465-.564-.599a1.416 1.416 0 0 0-.123-.064l-.219-.111c-.752-.399-1.339-.902-1.746-1.498a3.387 3.387 0 0 1-.3-.531c-.034-.1-.032-.156-.008-.207a.338.338 0 0 1 .097-.1c.129-.086.262-.173.352-.231.162-.104.289-.187.371-.245.309-.216.525-.446.66-.702a1.397 1.397 0 0 0 .069-1.16c-.205-.538-.713-.872-1.329-.872a1.829 1.829 0 0 0-.487.065c.006-.368-.002-.757-.035-1.139-.116-1.344-.587-2.048-1.077-2.61a4.294 4.294 0 0 0-1.095-.881C9.764.216 8.92 0 7.999 0c-.92 0-1.76.216-2.505.641-.412.232-.782.53-1.097.883-.49.562-.96 1.267-1.077 2.61-.033.382-.04.772-.036 1.138a1.83 1.83 0 0 0-.487-.065c-.615 0-1.124.335-1.328.873a1.398 1.398 0 0 0 .067 1.161c.136.256.352.486.66.701.082.058.21.14.371.246l.339.221a.38.38 0 0 1 .109.11c.026.053.027.11-.012.217a3.363 3.363 0 0 1-.295.52c-.398.583-.968 1.077-1.696 1.472-.385.204-.786.34-.955.8-.128.348-.044.743.28 1.075.119.125.257.23.409.31a4.43 4.43 0 0 0 1 .4.66.66 0 0 1 .202.09c.118.104.102.26.259.488.079.118.18.22.296.3.33.229.701.243 1.095.258.355.014.758.03 1.217.18.19.064.389.186.618.328.55.338 1.305.802 2.566.802 1.262 0 2.02-.466 2.576-.806.227-.14.424-.26.609-.321.46-.152.863-.168 1.218-.181.393-.015.764-.03 1.095-.258a1.14 1.14 0 0 0 .336-.368c.114-.192.11-.327.217-.42a.625.625 0 0 1 .19-.087 4.446 4.446 0 0 0 1.014-.404c.16-.087.306-.2.429-.336l.004-.005c.304-.325.38-.709.256-1.047Zm-1.121.602c-.684.378-1.139.337-1.493.565-.3.193-.122.61-.34.76-.269.186-1.061-.012-2.085.326-.845.279-1.384 1.082-2.903 1.082-1.519 0-2.045-.801-2.904-1.084-1.022-.338-1.816-.14-2.084-.325-.218-.15-.041-.568-.341-.761-.354-.228-.809-.187-1.492-.563-.436-.24-.189-.39-.044-.46 2.478-1.199 2.873-3.05 2.89-3.188.022-.166.045-.297-.138-.466-.177-.164-.962-.65-1.18-.802-.36-.252-.52-.503-.402-.812.082-.214.281-.295.49-.295a.93.93 0 0 1 .197.022c.396.086.78.285 1.002.338.027.007.054.01.082.011.118 0 .16-.06.152-.195-.026-.433-.087-1.277-.019-2.066.094-1.084.444-1.622.859-2.097.2-.229 1.137-1.22 2.93-1.22 1.792 0 2.732.987 2.931 1.215.416.475.766 1.013.859 2.098.068.788.009 1.632-.019 2.065-.01.142.034.195.152.195a.35.35 0 0 0 .082-.01c.222-.054.607-.253 1.002-.338a.912.912 0 0 1 .197-.023c.21 0 .409.082.49.295.117.309-.04.56-.401.812-.218.152-1.003.638-1.18.802-.184.169-.16.3-.139.466.018.14.413 1.991 2.89 3.189.147.073.394.222-.041.464Z\"}}]})(props);\n};\nexport function BsSnow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793V8.866l-3.4 1.963-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495L7 8 3.6 6.037l-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849L7.5 7.134V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 1 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v3.927l3.4-1.963.496-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l3.4 1.963 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-3.4-1.963v3.927l1.353 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsSnow2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793v-1.086l-.646.647a.5.5 0 0 1-.707-.708L7.5 10.293V8.866l-1.236.713-.495 1.85a.5.5 0 1 1-.966-.26l.237-.882-.94.542-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495.94-.542-.882-.237a.5.5 0 1 1 .258-.966l1.85.495L7 8l-1.236-.713-1.849.495a.5.5 0 1 1-.258-.966l.883-.237-.94-.542-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 0 1 .966-.258l.495 1.849.94.542-.236-.883a.5.5 0 0 1 .966-.258l.495 1.849 1.236.713V5.707L6.147 4.354a.5.5 0 1 1 .707-.708l.646.647V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 0 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v1.086l.647-.647a.5.5 0 1 1 .707.708L8.5 5.707v1.427l1.236-.713.495-1.85a.5.5 0 1 1 .966.26l-.236.882.94-.542.495-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495-.94.542.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l1.236.713 1.849-.495a.5.5 0 0 1 .259.966l-.883.237.94.542 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-.94-.542.236.883a.5.5 0 0 1-.966.258L9.736 9.58 8.5 8.866v1.427l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647v1.086l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsSnow3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793v-1.51l-2.053-1.232-1.348.778-.495 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.883-.237a.5.5 0 1 1 .258-.966l1.85.495L5 9.155v-2.31l-1.4-.808-1.85.495a.5.5 0 1 1-.259-.966l.884-.237-1.12-.646a.5.5 0 0 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849 1.348.778L7.5 4.717v-1.51L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 0 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v1.51l2.053 1.232 1.348-.778.495-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495-1.4.808v2.31l1.4.808 1.849-.495a.5.5 0 1 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-1.348-.778L8.5 11.283v1.51l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5zm2-6.783V6.783l-2-1.2-2 1.2v2.434l2 1.2 2-1.2z\"}}]})(props);\n};\nexport function BsSortAlphaDownAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 7H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 12.629 9.664 14H8.598l1.789-5.332h1.234L13.402 14h-1.12l-.419-1.371h-1.781zm1.57-.785L11 9.688h-.047l-.652 2.156h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortAlphaDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortAlphaUpAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 7H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 12.629 9.664 14H8.598l1.789-5.332h1.234L13.402 14h-1.12l-.419-1.371h-1.781zm1.57-.785L11 9.688h-.047l-.652 2.156h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortAlphaUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortDownAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 12.293V3.5zm4 .5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsSortDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsSortNumericDownAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 7.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.836 1.973-1.836 1.09 0 2.063.637 2.063 2.688 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 8.668V14H11.39V9.684h-.051l-1.211.859v-.969l1.262-.906h1.046zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortNumericDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 1.668V7H11.39V2.684h-.051l-1.211.859v-.969l1.262-.906h1.046z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 14.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.835 1.973-1.835 1.09 0 2.063.636 2.063 2.687 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortNumericUpAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 7.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.836 1.973-1.836 1.09 0 2.063.637 2.063 2.688 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 8.668V14H11.39V9.684h-.051l-1.211.859v-.969l1.262-.906h1.046zM4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortNumericUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 1.668V7H11.39V2.684h-.051l-1.211.859v-.969l1.262-.906h1.046z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 14.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.835 1.973-1.835 1.09 0 2.063.636 2.063 2.687 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortUpAlt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsSortUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsSoundwave (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5 2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5zm-2 2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zm-6 1.5A.5.5 0 0 1 5 6v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm8 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm-10 1A.5.5 0 0 1 3 7v2a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5zm12 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsSourceforge (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.13 8.43c0-2.604-.929-3.79-1.42-4.24a.14.14 0 0 0-.232.123c.095 1.472-1.762 1.84-1.762 4.144v.013c0 1.404 1.065 2.55 2.376 2.55s2.377-1.146 2.377-2.55v-.013c0-.655-.246-1.282-.492-1.745-.055-.096-.191-.055-.178.027.451 1.99-.669 3.217-.669 1.69Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.303 13.923a.252.252 0 0 1-.164-.068L.061 7.789c-.081-.082-.081-.232 0-.327l6.42-6.407A.287.287 0 0 1 6.63 1h1.844c.109 0 .177.068.204.136a.22.22 0 0 1-.054.246L2.602 7.407a.304.304 0 0 0 0 .436l4.766 4.771c.082.082.082.232 0 .328l-.915.927a.287.287 0 0 1-.15.054Zm1.216 1.063a.22.22 0 0 1-.15-.382l6.036-6.025a.321.321 0 0 0 .096-.218.271.271 0 0 0-.096-.218l-4.78-4.771c-.082-.082-.082-.232 0-.327l.929-.927a.226.226 0 0 1 .163-.068c.069 0 .11.04.15.081l6.065 6.067c.04.04.068.095.068.163a.225.225 0 0 1-.068.164l-6.42 6.407A.226.226 0 0 1 9.35 15H7.52v-.014Z\"}}]})(props);\n};\nexport function BsSpeakerFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-2.5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm6 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 7a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z\"}}]})(props);\n};\nexport function BsSpeaker (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zM8 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-3.5 1.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"}}]})(props);\n};\nexport function BsSpeedometer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a.5.5 0 0 1 .5.5V4a.5.5 0 0 1-1 0V2.5A.5.5 0 0 1 8 2zM3.732 3.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 8a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 8zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 7.31A.91.91 0 1 0 8.85 8.569l3.434-4.297a.389.389 0 0 0-.029-.518z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.664 15.889A8 8 0 1 1 9.336.11a8 8 0 0 1-2.672 15.78zm-4.665-4.283A11.945 11.945 0 0 1 8 10c2.186 0 4.236.585 6.001 1.606a7 7 0 1 0-12.002 0z\"}}]})(props);\n};\nexport function BsSpeedometer2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-1 0V4.5A.5.5 0 0 1 8 4zM3.732 5.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 10a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 10zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 9.31a.91.91 0 1 0 1.302 1.258l3.434-4.297a.389.389 0 0 0-.029-.518z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10a8 8 0 1 1 15.547 2.661c-.442 1.253-1.845 1.602-2.932 1.25C11.309 13.488 9.475 13 8 13c-1.474 0-3.31.488-4.615.911-1.087.352-2.49.003-2.932-1.25A7.988 7.988 0 0 1 0 10zm8-7a7 7 0 0 0-6.603 9.329c.203.575.923.876 1.68.63C4.397 12.533 6.358 12 8 12s3.604.532 4.923.96c.757.245 1.477-.056 1.68-.631A7 7 0 0 0 8 3z\"}}]})(props);\n};\nexport function BsSpellcheck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.217 11.068c1.216 0 1.948-.869 1.948-2.31v-.702c0-1.44-.727-2.305-1.929-2.305-.742 0-1.328.347-1.499.889h-.063V3.983h-1.29V11h1.27v-.791h.064c.21.532.776.86 1.499.86zm-.43-1.025c-.66 0-1.113-.518-1.113-1.28V8.12c0-.825.42-1.343 1.098-1.343.684 0 1.075.518 1.075 1.416v.45c0 .888-.386 1.401-1.06 1.401zm-5.583 1.035c.767 0 1.201-.356 1.406-.737h.059V11h1.216V7.519c0-1.314-.947-1.783-2.11-1.783C1.355 5.736.75 6.42.69 7.27h1.216c.064-.323.313-.552.84-.552.527 0 .864.249.864.771v.464H2.346C1.145 7.953.5 8.568.5 9.496c0 .977.693 1.582 1.704 1.582zm.42-.947c-.44 0-.845-.235-.845-.718 0-.395.269-.684.84-.684h.991v.538c0 .503-.444.864-.986.864zm8.897.567c-.577-.4-.9-1.088-.9-1.983v-.65c0-1.42.894-2.338 2.305-2.338 1.352 0 2.119.82 2.139 1.806h-1.187c-.04-.351-.283-.776-.918-.776-.674 0-1.045.517-1.045 1.328v.625c0 .468.121.834.343 1.067l-.737.92z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.469 9.414a.75.75 0 0 1 .117 1.055l-4 5a.75.75 0 0 1-1.116.061l-2.5-2.5a.75.75 0 1 1 1.06-1.06l1.908 1.907 3.476-4.346a.75.75 0 0 1 1.055-.117z\"}}]})(props);\n};\nexport function BsSpotify (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.669 11.538a.498.498 0 0 1-.686.165c-1.879-1.147-4.243-1.407-7.028-.77a.499.499 0 0 1-.222-.973c3.048-.696 5.662-.397 7.77.892a.5.5 0 0 1 .166.686zm.979-2.178a.624.624 0 0 1-.858.205c-2.15-1.321-5.428-1.704-7.972-.932a.625.625 0 0 1-.362-1.194c2.905-.881 6.517-.454 8.986 1.063a.624.624 0 0 1 .206.858zm.084-2.268C10.154 5.56 5.9 5.419 3.438 6.166a.748.748 0 1 1-.434-1.432c2.825-.857 7.523-.692 10.492 1.07a.747.747 0 1 1-.764 1.288z\"}}]})(props);\n};\nexport function BsSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsSquareHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15V1h6a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H8zm6 1a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12z\"}}]})(props);\n};\nexport function BsSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsStackOverflow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.412 14.572V10.29h1.428V16H1v-5.71h1.428v4.282h9.984z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.857 13.145h7.137v-1.428H3.857v1.428zM10.254 0 9.108.852l4.26 5.727 1.146-.852L10.254 0zm-3.54 3.377 5.484 4.567.913-1.097L7.627 2.28l-.914 1.097zM4.922 6.55l6.47 3.013.603-1.294-6.47-3.013-.603 1.294zm-.925 3.344 6.985 1.469.294-1.398-6.985-1.468-.294 1.397z\"}}]})(props);\n};\nexport function BsStack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.12 10.163 1.715.858c.22.11.22.424 0 .534L8.267 15.34a.598.598 0 0 1-.534 0L.165 11.555a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.66zM7.733.063a.598.598 0 0 1 .534 0l7.568 3.784a.3.3 0 0 1 0 .535L8.267 8.165a.598.598 0 0 1-.534 0L.165 4.382a.299.299 0 0 1 0-.535L7.733.063z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.12 6.576 1.715.858c.22.11.22.424 0 .534l-7.568 3.784a.598.598 0 0 1-.534 0L.165 7.968a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.659z\"}}]})(props);\n};\nexport function BsStarFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"}}]})(props);\n};\nexport function BsStarHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.354 5.119 7.538.792A.516.516 0 0 1 8 .5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.537.537 0 0 1 16 6.32a.548.548 0 0 1-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256a.52.52 0 0 1-.146.05c-.342.06-.668-.254-.6-.642l.83-4.73L.173 6.765a.55.55 0 0 1-.172-.403.58.58 0 0 1 .085-.302.513.513 0 0 1 .37-.245l4.898-.696zM8 12.027a.5.5 0 0 1 .232.056l3.686 1.894-.694-3.957a.565.565 0 0 1 .162-.505l2.907-2.77-4.052-.576a.525.525 0 0 1-.393-.288L8.001 2.223 8 2.226v9.8z\"}}]})(props);\n};\nexport function BsStar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.523 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.565.565 0 0 0-.163-.505L1.71 6.745l4.052-.576a.525.525 0 0 0 .393-.288L8 2.223l1.847 3.658a.525.525 0 0 0 .393.288l4.052.575-2.906 2.77a.565.565 0 0 0-.163.506l.694 3.957-3.686-1.894a.503.503 0 0 0-.461 0z\"}}]})(props);\n};\nexport function BsStars (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828l.645-1.937zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.734 1.734 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.734 1.734 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.734 1.734 0 0 0 3.407 2.31l.387-1.162zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L10.863.1z\"}}]})(props);\n};\nexport function BsSteam (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.329 10.333A8.01 8.01 0 0 0 7.99 16C12.414 16 16 12.418 16 8s-3.586-8-8.009-8A8.006 8.006 0 0 0 0 7.468l.003.006 4.304 1.769A2.198 2.198 0 0 1 5.62 8.88l1.96-2.844-.001-.04a3.046 3.046 0 0 1 3.042-3.043 3.046 3.046 0 0 1 3.042 3.043 3.047 3.047 0 0 1-3.111 3.044l-2.804 2a2.223 2.223 0 0 1-3.075 2.11 2.217 2.217 0 0 1-1.312-1.568L.33 10.333Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.868 12.683a1.715 1.715 0 0 0 1.318-3.165 1.705 1.705 0 0 0-1.263-.02l1.023.424a1.261 1.261 0 1 1-.97 2.33l-.99-.41a1.7 1.7 0 0 0 .882.84Zm3.726-6.687a2.03 2.03 0 0 0 2.027 2.029 2.03 2.03 0 0 0 2.027-2.029 2.03 2.03 0 0 0-2.027-2.027 2.03 2.03 0 0 0-2.027 2.027Zm2.03-1.527a1.524 1.524 0 1 1-.002 3.048 1.524 1.524 0 0 1 .002-3.048Z\"}}]})(props);\n};\nexport function BsStickiesFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5A1.5 1.5 0 0 0 0 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V10.5z\"}}]})(props);\n};\nexport function BsStickies (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zM3 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V9h-4.5A1.5 1.5 0 0 0 9 10.5V15H3.5a.5.5 0 0 1-.5-.5v-11zm7 11.293V10.5a.5.5 0 0 1 .5-.5h4.293L10 14.793z\"}}]})(props);\n};\nexport function BsStickyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V9.5z\"}}]})(props);\n};\nexport function BsSticky (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zM2 2.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V8H9.5A1.5 1.5 0 0 0 8 9.5V14H2.5a.5.5 0 0 1-.5-.5v-11zm7 11.293V9.5a.5.5 0 0 1 .5-.5h4.293L9 13.793z\"}}]})(props);\n};\nexport function BsStopBtnFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.5-7A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsStopBtn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsStopCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsStopCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3z\"}}]})(props);\n};\nexport function BsStopFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5A1.5 1.5 0 0 1 5 3.5z\"}}]})(props);\n};\nexport function BsStop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 5A1.5 1.5 0 0 1 5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5zM5 4.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5a.5.5 0 0 0-.5-.5H5z\"}}]})(props);\n};\nexport function BsStoplightsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 0a2 2 0 0 0-2 2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-1c1.2-.4 1.833-1.5 2-2h-2V8c1.2-.4 1.833-1.5 2-2h-2V4c1.2-.4 1.833-1.5 2-2h-2a2 2 0 0 0-2-2H6zm3.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsStoplights (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm1.5 2.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2h2c-.167.5-.8 1.6-2 2v2h2c-.167.5-.8 1.6-2 2v2h2c-.167.5-.8 1.6-2 2v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1c-1.2-.4-1.833-1.5-2-2h2V8c-1.2-.4-1.833-1.5-2-2h2V4c-1.2-.4-1.833-1.5-2-2h2zm2-1a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6z\"}}]})(props);\n};\nexport function BsStopwatchFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07A7.001 7.001 0 0 0 8 16a7 7 0 0 0 5.29-11.584.531.531 0 0 0 .013-.012l.354-.354.353.354a.5.5 0 1 0 .707-.707l-1.414-1.415a.5.5 0 1 0-.707.707l.354.354-.354.354a.717.717 0 0 0-.012.012A6.973 6.973 0 0 0 9 2.071V1h.5a.5.5 0 0 0 0-1h-3zm2 5.6V9a.5.5 0 0 1-.5.5H4.5a.5.5 0 0 1 0-1h3V5.6a.5.5 0 1 1 1 0z\"}}]})(props);\n};\nexport function BsStopwatch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.6a.5.5 0 1 0-1 0v2.9h-3a.5.5 0 0 0 0 1H8a.5.5 0 0 0 .5-.5V5.6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A.5.5 0 0 1 7 .5h2a.5.5 0 0 1 0 1v.57c1.36.196 2.594.78 3.584 1.64a.715.715 0 0 1 .012-.013l.354-.354-.354-.353a.5.5 0 0 1 .707-.708l1.414 1.415a.5.5 0 1 1-.707.707l-.353-.354-.354.354a.512.512 0 0 1-.013.012A7 7 0 1 1 7 2.071V1.5a.5.5 0 0 1-.5-.5zM8 3a6 6 0 1 0 .001 12A6 6 0 0 0 8 3z\"}}]})(props);\n};\nexport function BsStrava (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.731 0 2 9.125h2.788L6.73 5.497l1.93 3.628h2.766L6.731 0zm4.694 9.125-1.372 2.756L8.66 9.125H6.547L10.053 16l3.484-6.875h-2.112z\"}}]})(props);\n};\nexport function BsStripe (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6.226 5.385c-.584 0-.937.164-.937.593 0 .468.607.674 1.36.93 1.228.415 2.844.963 2.851 2.993C11.5 11.868 9.924 13 7.63 13a7.662 7.662 0 0 1-3.009-.626V9.758c.926.506 2.095.88 3.01.88.617 0 1.058-.165 1.058-.671 0-.518-.658-.755-1.453-1.041C6.026 8.49 4.5 7.94 4.5 6.11 4.5 4.165 5.988 3 8.226 3a7.29 7.29 0 0 1 2.734.505v2.583c-.838-.45-1.896-.703-2.734-.703Z\"}}]})(props);\n};\nexport function BsSubscript (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.266 12.496.96-2.853H7.76l.96 2.853H10L6.62 3H5.38L2 12.496h1.266Zm2.748-8.063 1.419 4.23h-2.88l1.426-4.23h.035Zm6.132 7.203v-.075c0-.332.234-.618.619-.618.354 0 .618.256.618.58 0 .362-.271.649-.52.898l-1.788 1.832V15h3.59v-.958h-1.923v-.045l.973-1.04c.415-.438.867-.845.867-1.547 0-.8-.701-1.41-1.787-1.41-1.23 0-1.795.8-1.795 1.576v.06h1.146Z\"}}]})(props);\n};\nexport function BsSubstack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3.604H1v1.891h14v-1.89ZM1 7.208V16l7-3.926L15 16V7.208H1ZM15 0H1v1.89h14V0Z\"}}]})(props);\n};\nexport function BsSubtract (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsSuitClubFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z\"}}]})(props);\n};\nexport function BsSuitClub (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a3.25 3.25 0 0 0-3.25 3.25c0 .186 0 .29.016.41.014.12.045.27.12.527l.19.665-.692-.028a3.25 3.25 0 1 0 2.357 5.334.5.5 0 0 1 .844.518l-.003.005-.006.015-.024.055a21.893 21.893 0 0 1-.438.92 22.38 22.38 0 0 1-1.266 2.197c-.013.018-.02.05.001.09.01.02.021.03.03.036A.036.036 0 0 0 5.9 15h4.2c.01 0 .016-.002.022-.006a.092.092 0 0 0 .029-.035c.02-.04.014-.073.001-.091a22.875 22.875 0 0 1-1.704-3.117l-.024-.054-.006-.015-.002-.004a.5.5 0 0 1 .838-.524c.601.7 1.516 1.168 2.496 1.168a3.25 3.25 0 1 0-.139-6.498l-.699.03.199-.671c.14-.47.14-.745.139-.927V4.25A3.25 3.25 0 0 0 8 1zm2.207 12.024c.225.405.487.848.78 1.294C11.437 15 10.975 16 10.1 16H5.9c-.876 0-1.338-1-.887-1.683.291-.442.552-.88.776-1.283a4.25 4.25 0 1 1-2.007-8.187 2.79 2.79 0 0 1-.009-.064c-.023-.187-.023-.348-.023-.52V4.25a4.25 4.25 0 0 1 8.5 0c0 .14 0 .333-.04.596a4.25 4.25 0 0 1-.46 8.476 4.186 4.186 0 0 1-1.543-.298z\"}}]})(props);\n};\nexport function BsSuitDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z\"}}]})(props);\n};\nexport function BsSuitDiamond (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.384 1.226a.463.463 0 0 0-.768 0l-4.56 6.468a.537.537 0 0 0 0 .612l4.56 6.469a.463.463 0 0 0 .768 0l4.56-6.469a.537.537 0 0 0 0-.612l-4.56-6.468zM6.848.613a1.39 1.39 0 0 1 2.304 0l4.56 6.468a1.61 1.61 0 0 1 0 1.838l-4.56 6.468a1.39 1.39 0 0 1-2.304 0L2.288 8.92a1.61 1.61 0 0 1 0-1.838L6.848.613z\"}}]})(props);\n};\nexport function BsSuitHeartFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z\"}}]})(props);\n};\nexport function BsSuitHeart (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6.236-.894-1.789c-.222-.443-.607-1.08-1.152-1.595C5.418 2.345 4.776 2 4 2 2.324 2 1 3.326 1 4.92c0 1.211.554 2.066 1.868 3.37.337.334.721.695 1.146 1.093C5.122 10.423 6.5 11.717 8 13.447c1.5-1.73 2.878-3.024 3.986-4.064.425-.398.81-.76 1.146-1.093C14.446 6.986 15 6.131 15 4.92 15 3.326 13.676 2 12 2c-.777 0-1.418.345-1.954.852-.545.515-.93 1.152-1.152 1.595L8 6.236zm.392 8.292a.513.513 0 0 1-.784 0c-1.601-1.902-3.05-3.262-4.243-4.381C1.3 8.208 0 6.989 0 4.92 0 2.755 1.79 1 4 1c1.6 0 2.719 1.05 3.404 2.008.26.365.458.716.596.992a7.55 7.55 0 0 1 .596-.992C9.281 2.049 10.4 1 12 1c2.21 0 4 1.755 4 3.92 0 2.069-1.3 3.288-3.365 5.227-1.193 1.12-2.642 2.48-4.243 4.38z\"}}]})(props);\n};\nexport function BsSuitSpadeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z\"}}]})(props);\n};\nexport function BsSuitSpade (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .429.243c1.359 2.265 2.925 3.682 4.25 4.882.096.086.19.17.282.255C14.308 6.604 15.5 7.747 15.5 9.5a4 4 0 0 1-5.406 3.746c.235.39.491.782.722 1.131.434.659-.01 1.623-.856 1.623H6.04c-.845 0-1.29-.964-.856-1.623.263-.397.51-.777.728-1.134A4 4 0 0 1 .5 9.5c0-1.753 1.192-2.896 2.539-4.12l.281-.255c1.326-1.2 2.892-2.617 4.251-4.882A.5.5 0 0 1 8 0zM3.711 6.12C2.308 7.396 1.5 8.253 1.5 9.5a3 3 0 0 0 5.275 1.956.5.5 0 0 1 .868.43c-.094.438-.33.932-.611 1.428a29.247 29.247 0 0 1-1.013 1.614.03.03 0 0 0-.005.018.074.074 0 0 0 .024.054h3.924a.074.074 0 0 0 .024-.054.03.03 0 0 0-.005-.018c-.3-.455-.658-1.005-.96-1.535-.294-.514-.57-1.064-.664-1.507a.5.5 0 0 1 .868-.43A3 3 0 0 0 14.5 9.5c0-1.247-.808-2.104-2.211-3.38L12 5.86c-1.196-1.084-2.668-2.416-4-4.424-1.332 2.008-2.804 3.34-4 4.422l-.289.261z\"}}]})(props);\n};\nexport function BsSuitcaseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V3h1.5A1.5 1.5 0 0 1 13 4.5v9a1.5 1.5 0 0 1-1.004 1.416A1 1 0 1 1 10 15H6a1 1 0 1 1-1.997-.084A1.5 1.5 0 0 1 3 13.5v-9A1.5 1.5 0 0 1 4.5 3H6V.5ZM9 1H7v2h2V1ZM6 5.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm2.5 0a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm2.5 0a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Z\"}}]})(props);\n};\nexport function BsSuitcaseLgFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0a2 2 0 0 0-2 2H1.5A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14H2a.5.5 0 0 0 1 0h10a.5.5 0 0 0 1 0h.5a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2H11a2 2 0 0 0-2-2H7ZM6 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1H6ZM3 13V3h1v10H3Zm9 0V3h1v10h-1Z\"}}]})(props);\n};\nexport function BsSuitcaseLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2h3.5A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5H14a.5.5 0 0 1-1 0H3a.5.5 0 0 1-1 0h-.5A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2H5Zm1 0h4a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1ZM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5H3V3H1.5ZM15 12.5v-9a.5.5 0 0 0-.5-.5H13v10h1.5a.5.5 0 0 0 .5-.5Zm-3 .5V3H4v10h8Z\"}}]})(props);\n};\nexport function BsSuitcase (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 6 5Zm2 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5Zm2 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 10 5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0-.5.5V3H5a2 2 0 0 0-2 2v8a2 2 0 0 0 1.031 1.75A1.003 1.003 0 0 0 5 16a1 1 0 0 0 1-1h4a1 1 0 1 0 1.969-.25A2 2 0 0 0 13 13V5a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-.5-.5h-3ZM9 3H7V1h2v2Zm3 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v8Z\"}}]})(props);\n};\nexport function BsSuitcase2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0-.5.5V3H4.5A1.5 1.5 0 0 0 3 4.5v9a1.5 1.5 0 0 0 1.003 1.416A1 1 0 1 0 6 15h4a1 1 0 1 0 1.996-.084A1.5 1.5 0 0 0 13 13.5v-9A1.5 1.5 0 0 0 11.5 3H10V.5a.5.5 0 0 0-.5-.5h-3ZM9 3H7V1h2v2ZM4 7V6h8v1H4Z\"}}]})(props);\n};\nexport function BsSuitcase2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0-.5.5V3H5a2 2 0 0 0-2 2v8a2 2 0 0 0 1.031 1.75A1.003 1.003 0 0 0 5 16a1 1 0 0 0 1-1h4a1 1 0 1 0 1.969-.25A2 2 0 0 0 13 13V5a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-.5-.5h-3ZM9 3H7V1h2v2Zm3 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7h8v6ZM5 4h6a1 1 0 0 1 1 1v1H4V5a1 1 0 0 1 1-1Z\"}}]})(props);\n};\nexport function BsSunFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsSun (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsSunglasses (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 0 0-2 2v.5H.5a.5.5 0 0 0 0 1H1V9a2 2 0 0 0 2 2h1a3 3 0 0 0 3-3 1 1 0 1 1 2 0 3 3 0 0 0 3 3h1a2 2 0 0 0 2-2v-.5h.5a.5.5 0 0 0 0-1H15V7a2 2 0 0 0-2-2h-2a2 2 0 0 0-1.888 1.338A1.99 1.99 0 0 0 8 6a1.99 1.99 0 0 0-1.112.338A2 2 0 0 0 5 5H3zm0 1h.941c.264 0 .348.356.112.474l-.457.228a2 2 0 0 0-.894.894l-.228.457C2.356 8.289 2 8.205 2 7.94V7a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsSunriseFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunrise (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM8 7a3 3 0 0 1 2.599 4.5H5.4A3 3 0 0 1 8 7zm3.71 4.5a4 4 0 1 0-7.418 0H.499a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunsetFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunset (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM8 7a3 3 0 0 1 2.599 4.5H5.4A3 3 0 0 1 8 7zm3.71 4.5a4 4 0 1 0-7.418 0H.499a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSuperscript (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4.266 12.496.96-2.853H8.76l.96 2.853H11L7.62 3H6.38L3 12.496h1.266Zm2.748-8.063 1.419 4.23h-2.88l1.426-4.23h.035Zm5.132-1.797v-.075c0-.332.234-.618.619-.618.354 0 .618.256.618.58 0 .362-.271.649-.52.898l-1.788 1.832V6h3.59v-.958h-1.923v-.045l.973-1.04c.415-.438.867-.845.867-1.547 0-.8-.701-1.41-1.787-1.41C11.565 1 11 1.8 11 2.576v.06h1.146Z\"}}]})(props);\n};\nexport function BsSymmetryHorizontal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 7a.5.5 0 0 0 .24-.939l-11-6A.5.5 0 0 0 2 .5v6a.5.5 0 0 0 .5.5h11zm.485 2.376a.5.5 0 0 1-.246.563l-11 6A.5.5 0 0 1 2 15.5v-6a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .485.376zM11.539 10H3v4.658L11.54 10z\"}}]})(props);\n};\nexport function BsSymmetryVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 0-.939-.24l-6 11A.5.5 0 0 0 .5 14h6a.5.5 0 0 0 .5-.5v-11zm2.376-.484a.5.5 0 0 1 .563.245l6 11A.5.5 0 0 1 15.5 14h-6a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .376-.484zM10 4.46V13h4.658L10 4.46z\"}}]})(props);\n};\nexport function BsTable (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 2h-4v3h4V4zm0 4h-4v3h4V8zm0 4h-4v3h3a1 1 0 0 0 1-1v-2zm-5 3v-3H6v3h4zm-5 0v-3H1v2a1 1 0 0 0 1 1h3zm-4-4h4V8H1v3zm0-4h4V4H1v3zm5-3v3h4V4H6zm4 4H6v3h4V8z\"}}]})(props);\n};\nexport function BsTabletFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsTabletLandscapeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2zm11-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsTabletLandscape (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm-1 8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsTablet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsTagFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsTag (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 1 6.586V2a1 1 0 0 1 1-1zm0 5.586 7 7L13.586 9l-7-7H2v4.586z\"}}]})(props);\n};\nexport function BsTagsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z\"}}]})(props);\n};\nexport function BsTags (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v4.586l7 7L14.586 9l-7-7H3zM2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM1 7.086a1 1 0 0 0 .293.707L8.75 15.25l-.043.043a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 0 7.586V3a1 1 0 0 1 1-1v5.086z\"}}]})(props);\n};\nexport function BsTaxiFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1a1 1 0 0 0-1 1v1h-.181A2.5 2.5 0 0 0 2.52 4.515l-.792 1.848a.807.807 0 0 1-.38.404c-.5.25-.855.715-.965 1.262L.05 9.708a2.5 2.5 0 0 0-.049.49v.413c0 .814.39 1.543 1 1.997V14.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.338c1.292.048 2.745.088 4 .088s2.708-.04 4-.088V14.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.892c.61-.454 1-1.183 1-1.997v-.413c0-.165-.016-.329-.049-.49l-.335-1.68a1.807 1.807 0 0 0-.964-1.261.807.807 0 0 1-.381-.404l-.792-1.848A2.5 2.5 0 0 0 11.181 3H11V2a1 1 0 0 0-1-1H6ZM4.309 4h7.382a.5.5 0 0 1 .447.276l.956 1.913a.51.51 0 0 1-.497.731c-.91-.073-3.35-.17-4.597-.17-1.247 0-3.688.097-4.597.17a.51.51 0 0 1-.497-.731l.956-1.913A.5.5 0 0 1 4.309 4ZM4 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm10 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-9 0a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z\"}}]})(props);\n};\nexport function BsTaxiFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.862 5.276 3.906 7.19a.51.51 0 0 0 .497.731c.91-.073 2.35-.17 3.597-.17 1.247 0 2.688.097 3.597.17a.51.51 0 0 0 .497-.731l-.956-1.913A.5.5 0 0 0 10.691 5H5.309a.5.5 0 0 0-.447.276ZM4 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm10 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-9 0a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1a1 1 0 0 0-1 1v1h-.181A2.5 2.5 0 0 0 2.52 4.515l-.792 1.848a.807.807 0 0 1-.38.404c-.5.25-.855.715-.965 1.262L.05 9.708a2.5 2.5 0 0 0-.049.49v.413c0 .814.39 1.543 1 1.997V14.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.338c1.292.048 2.745.088 4 .088s2.708-.04 4-.088V14.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1.892c.61-.454 1-1.183 1-1.997v-.413c0-.165-.016-.329-.049-.49l-.335-1.68a1.807 1.807 0 0 0-.964-1.261.807.807 0 0 1-.381-.404l-.792-1.848A2.5 2.5 0 0 0 11.181 3H11V2a1 1 0 0 0-1-1H6ZM4.819 4h6.362a1.5 1.5 0 0 1 1.379.91l.792 1.847a1.8 1.8 0 0 0 .853.904c.222.112.381.32.43.564l.336 1.679c.02.097.029.195.029.294v.413a1.48 1.48 0 0 1-1.408 1.484c-1.555.07-3.786.155-5.592.155-1.806 0-4.037-.084-5.592-.155A1.479 1.479 0 0 1 1 10.611v-.413c0-.099.01-.197.03-.294l.335-1.68a.807.807 0 0 1 .43-.563c.383-.19.685-.511.853-.904l.792-1.848A1.5 1.5 0 0 1 4.82 4Z\"}}]})(props);\n};\nexport function BsTelegram (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.287 5.906c-.778.324-2.334.994-4.666 2.01-.378.15-.577.298-.595.442-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294.26.006.549-.1.868-.32 2.179-1.471 3.304-2.214 3.374-2.23.05-.012.12-.026.166.016.047.041.042.12.037.141-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8.154 8.154 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629.093.06.183.125.27.187.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.426 1.426 0 0 0-.013-.315.337.337 0 0 0-.114-.217.526.526 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09z\"}}]})(props);\n};\nexport function BsTelephoneFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneForwardFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.761.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneForward (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.762.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneInboundFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsTelephoneInbound (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0zm-12.2 1.182a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneMinusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephoneMinus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneOutboundFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephoneOutbound (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephonePlusFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsTelephonePlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsTelephoneXFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm9.261 1.135a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.146 1.646a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephone (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTencentQq (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.048 3.323c.022.277-.13.523-.338.55-.21.026-.397-.176-.419-.453-.022-.277.13-.523.338-.55.21-.026.397.176.42.453Zm2.265-.24c-.603-.146-.894.256-.936.333-.027.048-.008.117.037.15.045.035.092.025.119-.003.361-.39.751-.172.829-.129l.011.007c.053.024.147.028.193-.098.023-.063.017-.11-.006-.142-.016-.023-.089-.08-.247-.118Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.727 6.719c0-.022.01-.375.01-.557 0-3.07-1.45-6.156-5.015-6.156-3.564 0-5.014 3.086-5.014 6.156 0 .182.01.535.01.557l-.72 1.795a25.85 25.85 0 0 0-.534 1.508c-.68 2.187-.46 3.093-.292 3.113.36.044 1.401-1.647 1.401-1.647 0 .979.504 2.256 1.594 3.179-.408.126-.907.319-1.228.556-.29.213-.253.43-.201.518.228.386 3.92.246 4.985.126 1.065.12 4.756.26 4.984-.126.052-.088.088-.305-.2-.518-.322-.237-.822-.43-1.23-.557 1.09-.922 1.594-2.2 1.594-3.178 0 0 1.041 1.69 1.401 1.647.168-.02.388-.926-.292-3.113a25.78 25.78 0 0 0-.534-1.508l-.72-1.795ZM9.773 5.53a.095.095 0 0 1-.009.096c-.109.159-1.554.943-3.033.943h-.017c-1.48 0-2.925-.784-3.034-.943a.098.098 0 0 1-.018-.055c0-.015.004-.028.01-.04.13-.287 1.43-.606 3.042-.606h.017c1.611 0 2.912.319 3.042.605Zm-4.32-.989c-.483.022-.896-.529-.922-1.229-.026-.7.344-1.286.828-1.308.483-.022.896.529.922 1.23.027.7-.344 1.286-.827 1.307Zm2.538 0c-.484-.022-.854-.607-.828-1.308.027-.7.44-1.25.923-1.23.483.023.853.608.827 1.309-.026.7-.439 1.251-.922 1.23ZM2.928 8.99c.213.042.426.081.639.117v2.336s1.104.222 2.21.068V9.363c.326.018.64.026.937.023h.017c1.117.013 2.474-.136 3.786-.396.097.622.151 1.386.097 2.284-.146 2.45-1.6 3.99-3.846 4.012h-.091c-2.245-.023-3.7-1.562-3.846-4.011-.054-.9 0-1.663.097-2.285Z\"}}]})(props);\n};\nexport function BsTerminalDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v4a.5.5 0 0 1-1 0V4a1 1 0 0 0-1-1H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.146 5.146a.5.5 0 0 1 .708 0L5.177 6.47a.75.75 0 0 1 0 1.06L3.854 8.854a.5.5 0 1 1-.708-.708L4.293 7 3.146 5.854a.5.5 0 0 1 0-.708ZM5.5 9a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5ZM16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsTerminalFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm9.5 5.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-6.354-.354a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146z\"}}]})(props);\n};\nexport function BsTerminalPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v4a.5.5 0 0 1-1 0V4a1 1 0 0 0-1-1H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.146 5.146a.5.5 0 0 1 .708 0L5.177 6.47a.75.75 0 0 1 0 1.06L3.854 8.854a.5.5 0 1 1-.708-.708L4.293 7 3.146 5.854a.5.5 0 0 1 0-.708ZM5.5 9a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5ZM16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsTerminalSplit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.146 3.146a.5.5 0 0 1 .708 0l.823.824a.75.75 0 0 1 0 1.06l-.823.824a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708ZM4 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 4 6Zm6.354-2.854a.5.5 0 0 0-.708.708l.647.646-.647.646a.5.5 0 1 0 .708.708l.823-.824a.75.75 0 0 0 0-1.06l-.823-.824ZM12 5.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3Zm2-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h5.5V2H2Zm6.5 0v12H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H8.5Z\"}}]})(props);\n};\nexport function BsTerminalX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v4a.5.5 0 0 1-1 0V4a1 1 0 0 0-1-1H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.146 5.146a.5.5 0 0 1 .708 0L5.177 6.47a.75.75 0 0 1 0 1.06L3.854 8.854a.5.5 0 1 1-.708-.708L4.293 7 3.146 5.854a.5.5 0 0 1 0-.708ZM5.5 9a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5ZM16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsTerminal (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3A.5.5 0 0 1 6 9zM3.854 4.146a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsTextCenter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextIndentLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm.646 2.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L4.293 8 2.646 6.354a.5.5 0 0 1 0-.708zM7 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm-5 3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextIndentRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm10.646 2.146a.5.5 0 0 1 .708.708L11.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zM2 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextLeft (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextParagraph (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextRight (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextWrap (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm0 4a.5.5 0 0 1 .5-.5h9a2.5 2.5 0 0 1 0 5h-1.293l.647.646a.5.5 0 0 1-.708.708l-1.5-1.5a.5.5 0 0 1 0-.708l1.5-1.5a.5.5 0 0 1 .708.708l-.647.646H11.5a1.5 1.5 0 0 0 0-3h-9a.5.5 0 0 1-.5-.5Zm0 4a.5.5 0 0 1 .5-.5H7a.5.5 0 0 1 0 1H2.5a.5.5 0 0 1-.5-.5Z\"}}]})(props);\n};\nexport function BsTextareaResize (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A2.5 2.5 0 0 1 2.5 2h11A2.5 2.5 0 0 1 16 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 11.5v-7zM2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11zm10.854 4.646a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708l3-3a.5.5 0 0 1 .708 0zm0 2.5a.5.5 0 0 1 0 .708l-.5.5a.5.5 0 0 1-.708-.708l.5-.5a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsTextareaT (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2.5A1.5 1.5 0 0 1 3 1h10a1.5 1.5 0 0 1 1.5 1.5v3.563a2 2 0 0 1 0 3.874V13.5A1.5 1.5 0 0 1 13 15H3a1.5 1.5 0 0 1-1.5-1.5V9.937a2 2 0 0 1 0-3.874V2.5zm1 3.563a2 2 0 0 1 0 3.874V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V9.937a2 2 0 0 1 0-3.874V2.5A.5.5 0 0 0 13 2H3a.5.5 0 0 0-.5.5v3.563zM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.434 4H4.566L4.5 5.994h.386c.21-1.252.612-1.446 2.173-1.495l.343-.011v6.343c0 .537-.116.665-1.049.748V12h3.294v-.421c-.938-.083-1.054-.21-1.054-.748V4.488l.348.01c1.56.05 1.963.244 2.173 1.496h.386L11.434 4z\"}}]})(props);\n};\nexport function BsTextarea (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2.5A1.5 1.5 0 0 1 3 1h10a1.5 1.5 0 0 1 1.5 1.5v3.563a2 2 0 0 1 0 3.874V13.5A1.5 1.5 0 0 1 13 15H3a1.5 1.5 0 0 1-1.5-1.5V9.937a2 2 0 0 1 0-3.874V2.5zm1 3.563a2 2 0 0 1 0 3.874V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V9.937a2 2 0 0 1 0-3.874V2.5A.5.5 0 0 0 13 2H3a.5.5 0 0 0-.5.5v3.563zM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsThermometerHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V6.5a.5.5 0 0 1 1 0v4.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerHigh (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V2.5a.5.5 0 0 1 1 0v8.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerLow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V9.5a.5.5 0 0 1 1 0v1.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerSnow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5a1.5 1.5 0 1 1-2-1.415V9.5a.5.5 0 0 1 1 0v1.585A1.5 1.5 0 0 1 5 12.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM3.5 1A1.5 1.5 0 0 0 2 2.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0L5 10.486V2.5A1.5 1.5 0 0 0 3.5 1zm5 1a.5.5 0 0 1 .5.5v1.293l.646-.647a.5.5 0 0 1 .708.708L9 5.207v1.927l1.669-.963.495-1.85a.5.5 0 1 1 .966.26l-.237.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.884.237a.5.5 0 1 1-.26.966l-1.848-.495L9.5 8l1.669.963 1.849-.495a.5.5 0 1 1 .258.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.237.883a.5.5 0 1 1-.966.258L10.67 9.83 9 8.866v1.927l1.354 1.353a.5.5 0 0 1-.708.708L9 12.207V13.5a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsThermometerSun (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5a1.5 1.5 0 1 1-2-1.415V2.5a.5.5 0 0 1 1 0v8.585A1.5 1.5 0 0 1 5 12.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM3.5 1A1.5 1.5 0 0 0 2 2.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0L5 10.486V2.5A1.5 1.5 0 0 0 3.5 1zm5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5zm4.243 1.757a.5.5 0 0 1 0 .707l-.707.708a.5.5 0 1 1-.708-.708l.708-.707a.5.5 0 0 1 .707 0zM8 5.5a.5.5 0 0 1 .5-.5 3 3 0 1 1 0 6 .5.5 0 0 1 0-1 2 2 0 0 0 0-4 .5.5 0 0 1-.5-.5zM12.5 8a.5.5 0 0 1 .5-.5h1a.5.5 0 1 1 0 1h-1a.5.5 0 0 1-.5-.5zm-1.172 2.828a.5.5 0 0 1 .708 0l.707.708a.5.5 0 0 1-.707.707l-.708-.707a.5.5 0 0 1 0-.708zM8.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsThermometer (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a2.5 2.5 0 0 0-2.5 2.5v7.55a3.5 3.5 0 1 0 5 0V2.5A2.5 2.5 0 0 0 8 0zM6.5 2.5a1.5 1.5 0 1 1 3 0v7.987l.167.15a2.5 2.5 0 1 1-3.333 0l.166-.15V2.5z\"}}]})(props);\n};\nexport function BsThreadsFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.81 9.204c0-.41.197-1.062 1.727-1.062.469 0 .758.034 1.146.121-.124 1.606-.91 1.818-1.674 1.818-.418 0-1.2-.218-1.2-.877Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.59 16h10.82A2.59 2.59 0 0 0 16 13.41V2.59A2.59 2.59 0 0 0 13.41 0H2.59A2.59 2.59 0 0 0 0 2.59v10.82A2.59 2.59 0 0 0 2.59 16ZM5.866 5.91c.567-.81 1.315-1.126 2.35-1.126.73 0 1.351.246 1.795.711.443.466.696 1.132.754 1.983.245.103.472.224.678.363.832.559 1.29 1.395 1.29 2.353 0 2.037-1.67 3.806-4.692 3.806-2.595 0-5.291-1.51-5.291-6.004C2.75 3.526 5.361 2 8.033 2c1.234 0 4.129.182 5.217 3.777l-1.02.264c-.842-2.56-2.607-2.968-4.224-2.968-2.675 0-4.187 1.628-4.187 5.093 0 3.107 1.69 4.757 4.222 4.757 2.083 0 3.636-1.082 3.636-2.667 0-1.079-.906-1.595-.953-1.595-.177.925-.651 2.482-2.733 2.482-1.213 0-2.26-.838-2.26-1.936 0-1.568 1.488-2.136 2.663-2.136.44 0 .97.03 1.247.086 0-.478-.404-1.296-1.426-1.296-.911 0-1.16.288-1.45.624l-.024.027c-.202-.135-.875-.601-.875-.601Z\"}}]})(props);\n};\nexport function BsThreads (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.321 6.016c-.27-.18-1.166-.802-1.166-.802.756-1.081 1.753-1.502 3.132-1.502.975 0 1.803.327 2.394.948.591.621.928 1.509 1.005 2.644.328.138.63.299.905.484 1.109.745 1.719 1.86 1.719 3.137 0 2.716-2.226 5.075-6.256 5.075C4.594 16 1 13.987 1 7.994 1 2.034 4.482 0 8.044 0 9.69 0 13.55.243 15 5.036l-1.36.353C12.516 1.974 10.163 1.43 8.006 1.43c-3.565 0-5.582 2.171-5.582 6.79 0 4.143 2.254 6.343 5.63 6.343 2.777 0 4.847-1.443 4.847-3.556 0-1.438-1.208-2.127-1.27-2.127-.236 1.234-.868 3.31-3.644 3.31-1.618 0-3.013-1.118-3.013-2.582 0-2.09 1.984-2.847 3.55-2.847.586 0 1.294.04 1.663.114 0-.637-.54-1.728-1.9-1.728-1.25 0-1.566.405-1.967.868ZM8.716 8.19c-2.04 0-2.304.87-2.304 1.416 0 .878 1.043 1.168 1.6 1.168 1.02 0 2.067-.282 2.232-2.423a6.217 6.217 0 0 0-1.528-.161Z\"}}]})(props);\n};\nexport function BsThreeDotsVertical (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsThreeDots (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsThunderboltFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 0-1 1v7.293A1 1 0 0 0 .293 12L2 13.707a1 1 0 0 0 .707.293h10.586a1 1 0 0 0 .707-.293L15.707 12a1 1 0 0 0 .293-.707V4a1 1 0 0 0-1-1H1Zm2.5 3h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsThunderbolt (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 0-1 1v7.293A1 1 0 0 0 .293 12L2 13.707a1 1 0 0 0 .707.293h10.586a1 1 0 0 0 .707-.293L15.707 12a1 1 0 0 0 .293-.707V4a1 1 0 0 0-1-1H1Zm0 1h14v7.293L13.293 13H2.707L1 11.293V4Z\"}}]})(props);\n};\nexport function BsTicketDetailedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A1.5 1.5 0 0 1 1.5 3h13A1.5 1.5 0 0 1 16 4.5V6a.5.5 0 0 1-.5.5 1.5 1.5 0 0 0 0 3 .5.5 0 0 1 .5.5v1.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5V10a.5.5 0 0 1 .5-.5 1.5 1.5 0 1 0 0-3A.5.5 0 0 1 0 6V4.5Zm4 1a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5Zm0 5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5ZM4 8a1 1 0 0 0 1 1h6a1 1 0 1 0 0-2H5a1 1 0 0 0-1 1Z\"}}]})(props);\n};\nexport function BsTicketDetailed (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM5 7a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2H5Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A1.5 1.5 0 0 1 1.5 3h13A1.5 1.5 0 0 1 16 4.5V6a.5.5 0 0 1-.5.5 1.5 1.5 0 0 0 0 3 .5.5 0 0 1 .5.5v1.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5V10a.5.5 0 0 1 .5-.5 1.5 1.5 0 1 0 0-3A.5.5 0 0 1 0 6V4.5ZM1.5 4a.5.5 0 0 0-.5.5v1.05a2.5 2.5 0 0 1 0 4.9v1.05a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-1.05a2.5 2.5 0 0 1 0-4.9V4.5a.5.5 0 0 0-.5-.5h-13Z\"}}]})(props);\n};\nexport function BsTicketFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 3A1.5 1.5 0 0 0 0 4.5V6a.5.5 0 0 0 .5.5 1.5 1.5 0 1 1 0 3 .5.5 0 0 0-.5.5v1.5A1.5 1.5 0 0 0 1.5 13h13a1.5 1.5 0 0 0 1.5-1.5V10a.5.5 0 0 0-.5-.5 1.5 1.5 0 0 1 0-3A.5.5 0 0 0 16 6V4.5A1.5 1.5 0 0 0 14.5 3h-13Z\"}}]})(props);\n};\nexport function BsTicketPerforatedFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A1.5 1.5 0 0 1 1.5 3h13A1.5 1.5 0 0 1 16 4.5V6a.5.5 0 0 1-.5.5 1.5 1.5 0 0 0 0 3 .5.5 0 0 1 .5.5v1.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5V10a.5.5 0 0 1 .5-.5 1.5 1.5 0 1 0 0-3A.5.5 0 0 1 0 6V4.5Zm4-1v1h1v-1H4Zm1 3v-1H4v1h1Zm7 0v-1h-1v1h1Zm-1-2h1v-1h-1v1Zm-6 3H4v1h1v-1Zm7 1v-1h-1v1h1Zm-7 1H4v1h1v-1Zm7 1v-1h-1v1h1Zm-8 1v1h1v-1H4Zm7 1h1v-1h-1v1Z\"}}]})(props);\n};\nexport function BsTicketPerforated (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4.85v.9h1v-.9H4Zm7 0v.9h1v-.9h-1Zm-7 1.8v.9h1v-.9H4Zm7 0v.9h1v-.9h-1Zm-7 1.8v.9h1v-.9H4Zm7 0v.9h1v-.9h-1Zm-7 1.8v.9h1v-.9H4Zm7 0v.9h1v-.9h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 3A1.5 1.5 0 0 0 0 4.5V6a.5.5 0 0 0 .5.5 1.5 1.5 0 1 1 0 3 .5.5 0 0 0-.5.5v1.5A1.5 1.5 0 0 0 1.5 13h13a1.5 1.5 0 0 0 1.5-1.5V10a.5.5 0 0 0-.5-.5 1.5 1.5 0 0 1 0-3A.5.5 0 0 0 16 6V4.5A1.5 1.5 0 0 0 14.5 3h-13ZM1 4.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v1.05a2.5 2.5 0 0 0 0 4.9v1.05a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-1.05a2.5 2.5 0 0 0 0-4.9V4.5Z\"}}]})(props);\n};\nexport function BsTicket (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A1.5 1.5 0 0 1 1.5 3h13A1.5 1.5 0 0 1 16 4.5V6a.5.5 0 0 1-.5.5 1.5 1.5 0 0 0 0 3 .5.5 0 0 1 .5.5v1.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5V10a.5.5 0 0 1 .5-.5 1.5 1.5 0 1 0 0-3A.5.5 0 0 1 0 6V4.5ZM1.5 4a.5.5 0 0 0-.5.5v1.05a2.5 2.5 0 0 1 0 4.9v1.05a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-1.05a2.5 2.5 0 0 1 0-4.9V4.5a.5.5 0 0 0-.5-.5h-13Z\"}}]})(props);\n};\nexport function BsTiktok (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 0h1.98c.144.715.54 1.617 1.235 2.512C12.895 3.389 13.797 4 15 4v2c-1.753 0-3.07-.814-4-1.829V11a5 5 0 1 1-5-5v2a3 3 0 1 0 3 3V0Z\"}}]})(props);\n};\nexport function BsToggleOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z\"}}]})(props);\n};\nexport function BsToggleOn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsToggle2Off (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11c.628-.836 1-1.874 1-3a4.978 4.978 0 0 0-1-3h4a3 3 0 1 1 0 6H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 5 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsToggle2On (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5H3a3 3 0 0 0 0 6h4a4.995 4.995 0 0 1-.584-1H3a2 2 0 1 1 0-4h3.416c.156-.357.352-.692.584-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A5 5 0 1 1 6 8a5 5 0 0 1 10 0z\"}}]})(props);\n};\nexport function BsToggles (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 9a3.5 3.5 0 1 0 0 7h7a3.5 3.5 0 1 0 0-7h-7zm7 6a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm-7-14a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zm2.45 0A3.49 3.49 0 0 1 8 3.5 3.49 3.49 0 0 1 6.95 6h4.55a2.5 2.5 0 0 0 0-5H6.95zM4.5 0h7a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7z\"}}]})(props);\n};\nexport function BsToggles2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.465 10H12a2 2 0 1 1 0 4H9.465c.34-.588.535-1.271.535-2 0-.729-.195-1.412-.535-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 1a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm.535-10a3.975 3.975 0 0 1-.409-1H4a1 1 0 0 1 0-2h2.126c.091-.355.23-.69.41-1H4a2 2 0 1 0 0 4h2.535z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4a4 4 0 1 1-8 0 4 4 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsTools (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.27 3.27a.997.997 0 0 0 1.414 0l1.586-1.586a.997.997 0 0 0 0-1.414l-3.27-3.27a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814L1 0Zm9.646 10.646a.5.5 0 0 1 .708 0l2.914 2.915a.5.5 0 0 1-.707.707l-2.915-2.914a.5.5 0 0 1 0-.708ZM3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026L3 11Z\"}}]})(props);\n};\nexport function BsTornado (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.125 2.45A.892.892 0 0 1 1 2c0-.26.116-.474.258-.634a1.9 1.9 0 0 1 .513-.389c.387-.21.913-.385 1.52-.525C4.514.17 6.18 0 8 0c1.821 0 3.486.17 4.709.452.607.14 1.133.314 1.52.525.193.106.374.233.513.389.141.16.258.374.258.634 0 1.011-.35 1.612-.634 2.102-.04.07-.08.137-.116.203a2.55 2.55 0 0 0-.313.809 2.938 2.938 0 0 0-.011.891.5.5 0 0 1 .428.849c-.06.06-.133.126-.215.195.204 1.116.088 1.99-.3 2.711-.453.84-1.231 1.383-2.02 1.856-.204.123-.412.243-.62.364-1.444.832-2.928 1.689-3.735 3.706a.5.5 0 0 1-.748.226l-.001-.001-.002-.001-.004-.003-.01-.008a2.142 2.142 0 0 1-.147-.115 4.095 4.095 0 0 1-1.179-1.656 3.786 3.786 0 0 1-.247-1.296A.498.498 0 0 1 5 12.5v-.018a.62.62 0 0 1 .008-.079.728.728 0 0 1 .188-.386c.09-.489.272-1.014.573-1.574a.5.5 0 0 1 .073-.918 3.29 3.29 0 0 1 .617-.144l.15-.193c.285-.356.404-.639.437-.861a.948.948 0 0 0-.122-.619c-.249-.455-.815-.903-1.613-1.43-.193-.127-.398-.258-.609-.394l-.119-.076a12.307 12.307 0 0 1-1.241-.334.5.5 0 0 1-.285-.707l-.23-.18C2.117 4.01 1.463 3.32 1.125 2.45zm1.973 1.051c.113.104.233.207.358.308.472.381.99.722 1.515 1.06 1.54.317 3.632.5 5.43.14a.5.5 0 0 1 .197.981c-1.216.244-2.537.26-3.759.157.399.326.744.682.963 1.081.203.373.302.79.233 1.247-.05.33-.182.657-.39.985.075.017.148.035.22.053l.006.002c.481.12.863.213 1.47.01a.5.5 0 1 1 .317.95c-.888.295-1.505.141-2.023.012l-.006-.002a3.894 3.894 0 0 0-.644-.123c-.37.55-.598 1.05-.726 1.497.142.045.296.11.465.194a.5.5 0 1 1-.448.894 3.11 3.11 0 0 0-.148-.07c.012.345.084.643.18.895.14.369.342.666.528.886.992-1.903 2.583-2.814 3.885-3.56.203-.116.399-.228.584-.34.775-.464 1.34-.89 1.653-1.472.212-.393.33-.9.26-1.617A6.74 6.74 0 0 1 10 8.5a.5.5 0 0 1 0-1 5.76 5.76 0 0 0 3.017-.872.515.515 0 0 1-.007-.03c-.135-.673-.14-1.207-.056-1.665.084-.46.253-.81.421-1.113l.131-.23c.065-.112.126-.22.182-.327-.29.107-.62.202-.98.285C11.487 3.83 9.822 4 8 4c-1.821 0-3.486-.17-4.709-.452-.065-.015-.13-.03-.193-.047zM13.964 2a1.12 1.12 0 0 0-.214-.145c-.272-.148-.697-.297-1.266-.428C11.354 1.166 9.769 1 8 1c-1.769 0-3.354.166-4.484.427-.569.13-.994.28-1.266.428A1.12 1.12 0 0 0 2.036 2c.04.038.109.087.214.145.272.148.697.297 1.266.428C4.646 2.834 6.231 3 8 3c1.769 0 3.354-.166 4.484-.427.569-.13.994-.28 1.266-.428A1.12 1.12 0 0 0 13.964 2z\"}}]})(props);\n};\nexport function BsTrainFreightFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.736 0a1.5 1.5 0 0 0-.67.158L1.828 1.776A1.5 1.5 0 0 0 1 3.118v5.51l2-.6V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3.028l2 .6v-5.51a1.5 1.5 0 0 0-.83-1.342L10.936.158A1.5 1.5 0 0 0 10.264 0H5.736ZM15 9.672l-5.503-1.65A.5.5 0 0 0 9.353 8H8.5v8h4a2.5 2.5 0 0 0 2.5-2.5V9.672ZM7.5 16V8h-.853a.5.5 0 0 0-.144.021L1 9.672V13.5A2.5 2.5 0 0 0 3.5 16h4Zm-1-14h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1ZM12 5v2.728l-2.216-.665A1.5 1.5 0 0 0 9.354 7H8.5V5H12ZM7.5 5v2h-.853a1.5 1.5 0 0 0-.431.063L4 7.728V5h3.5Zm-4 5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm9 0a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM5 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm7 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"}}]})(props);\n};\nexport function BsTrainFreightFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.065.158A1.5 1.5 0 0 1 5.736 0h4.528a1.5 1.5 0 0 1 .67.158l3.237 1.618a1.5 1.5 0 0 1 .83 1.342V13.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 13.5V3.118a1.5 1.5 0 0 1 .828-1.342L5.065.158ZM2 9.372V13.5A1.5 1.5 0 0 0 3.5 15h4V8h-.853a.5.5 0 0 0-.144.021L2 9.372ZM8.5 15h4a1.5 1.5 0 0 0 1.5-1.5V9.372l-4.503-1.35A.5.5 0 0 0 9.353 8H8.5v7ZM14 8.328v-5.21a.5.5 0 0 0-.276-.447l-3.236-1.618A.5.5 0 0 0 10.264 1H5.736a.5.5 0 0 0-.223.053L2.277 2.67A.5.5 0 0 0 2 3.118v5.21l1-.3V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3.028l1 .3Zm-2-.6V5H8.5v2h.853a1.5 1.5 0 0 1 .431.063L12 7.728ZM7.5 7V5H4v2.728l2.216-.665A1.5 1.5 0 0 1 6.646 7H7.5Zm-1-5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm-3 8a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm9 0a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM5 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm7 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"}}]})(props);\n};\nexport function BsTrainFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.621.515C8.647.02 7.353.02 5.38.515c-.924.23-1.982.766-2.78 1.22C1.566 2.322 1 3.432 1 4.582V13.5A2.5 2.5 0 0 0 3.5 16h9a2.5 2.5 0 0 0 2.5-2.5V4.583c0-1.15-.565-2.26-1.6-2.849-.797-.453-1.855-.988-2.779-1.22ZM6.5 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Zm-2 2h7A1.5 1.5 0 0 1 13 5.5v2A1.5 1.5 0 0 1 11.5 9h-7A1.5 1.5 0 0 1 3 7.5v-2A1.5 1.5 0 0 1 4.5 4Zm.5 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm8 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3-1a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM4 5.5a.5.5 0 0 1 .5-.5h3v3h-3a.5.5 0 0 1-.5-.5v-2ZM8.5 8V5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3Z\"}}]})(props);\n};\nexport function BsTrainFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.621 1.485c1.815-.454 2.943-.454 4.758 0 .784.196 1.743.673 2.527 1.119.688.39 1.094 1.148 1.094 1.979V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V4.583c0-.831.406-1.588 1.094-1.98.784-.445 1.744-.922 2.527-1.118Zm5-.97C8.647.02 7.353.02 5.38.515c-.924.23-1.982.766-2.78 1.22C1.566 2.322 1 3.432 1 4.582V13.5A2.5 2.5 0 0 0 3.5 16h9a2.5 2.5 0 0 0 2.5-2.5V4.583c0-1.15-.565-2.26-1.6-2.849-.797-.453-1.855-.988-2.779-1.22ZM5 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm7 1a1 1 0 1 0-1-1 1 1 0 1 0-2 0 1 1 0 0 0 2 0 1 1 0 0 0 1 1ZM4.5 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3V5h-3Zm4 0v3h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3ZM3 5.5A1.5 1.5 0 0 1 4.5 4h7A1.5 1.5 0 0 1 13 5.5v2A1.5 1.5 0 0 1 11.5 9h-7A1.5 1.5 0 0 1 3 7.5v-2ZM6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\"}}]})(props);\n};\nexport function BsTrainLightrailFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1h1v1.011c-1.525.064-3.346.394-4.588.655C1.775 2.904 1 3.915 1 5.055V13.5A2.5 2.5 0 0 0 3.5 16h9a2.5 2.5 0 0 0 2.5-2.5V5.055c0-1.14-.775-2.15-1.912-2.39-1.242-.26-3.063-.59-4.588-.654V1h1a.5.5 0 0 0 0-1h-3ZM8 4c1.136 0 2.645.2 3.604.346.825.126 1.356.9 1.244 1.697-.022.16-.046.335-.07.522C12.643 7.596 12.5 8.949 12.5 10c0 .428.024.933.062 1.464.066.93.174 1.92.266 2.682.042.34.08.634.109.854h-1.01a62.703 62.703 0 0 1-.327-3H9.354c-.36 0-.704-.143-.958-.396a.353.353 0 0 0-.25-.104h-.292a.353.353 0 0 0-.25.104 1.354 1.354 0 0 1-.958.396H4.4a62.692 62.692 0 0 1-.328 3H3.064c.029-.22.067-.514.108-.854.092-.761.2-1.752.266-2.682.038-.531.062-1.036.062-1.464 0-1.051-.143-2.404-.278-3.435a51.762 51.762 0 0 0-.07-.522c-.112-.798.42-1.571 1.244-1.697C5.356 4.199 6.864 4 8 4Zm-1.354 7H4.47c.019-.353.03-.692.03-1 0-.927-.104-2.051-.216-3h7.432c-.112.949-.216 2.073-.216 3 0 .308.011.647.03 1H9.354a.353.353 0 0 1-.25-.104 1.354 1.354 0 0 0-.958-.396h-.292c-.36 0-.704.143-.958.396a.353.353 0 0 1-.25.104Zm5.199-5h-7.69l-.013-.096a.497.497 0 0 1 .405-.57C5.505 5.188 6.947 5 8 5s2.495.188 3.453.334a.497.497 0 0 1 .405.57L11.845 6ZM6 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm4 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\"}}]})(props);\n};\nexport function BsTrainLightrailFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1h1v1.011c-1.525.064-3.346.394-4.588.655C1.775 2.904 1 3.915 1 5.055V13.5A2.5 2.5 0 0 0 3.5 16h9a2.5 2.5 0 0 0 2.5-2.5V5.055c0-1.14-.775-2.15-1.912-2.39-1.242-.26-3.063-.59-4.588-.654V1h1a.5.5 0 0 0 0-1h-3ZM8 3c1.497 0 3.505.356 4.883.644.653.137 1.117.722 1.117 1.411V13.5a1.5 1.5 0 0 1-1.072 1.438 75.999 75.999 0 0 1-.1-.792c-.092-.761-.2-1.752-.266-2.682A21.26 21.26 0 0 1 12.5 10c0-1.051.143-2.404.278-3.435.024-.187.048-.362.07-.522.112-.798-.42-1.571-1.244-1.697C10.644 4.199 9.136 4 8 4c-1.136 0-2.645.2-3.604.346-.825.126-1.356.9-1.244 1.697.022.16.046.335.07.522C3.357 7.596 3.5 8.949 3.5 10c0 .428-.024.933-.062 1.464a57.32 57.32 0 0 1-.266 2.682c-.038.31-.072.58-.1.792A1.5 1.5 0 0 1 2 13.5V5.055c0-.69.464-1.274 1.117-1.41C4.495 3.354 6.503 3 8 3Zm3.835 11.266c.034.28.066.53.093.734H4.072a62.692 62.692 0 0 0 .328-3h2.246c.36 0 .704-.143.958-.396a.353.353 0 0 1 .25-.104h.292a.35.35 0 0 1 .25.104c.254.253.599.396.958.396H11.6c.068.808.158 1.621.236 2.266ZM6 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm3.5.5a.5.5 0 0 0 .5-.5.5.5 0 1 0 1 0 .5.5 0 0 0-1 0 .5.5 0 1 0-.5.5Zm-5.03-3c.019-.353.03-.692.03-1 0-.927-.104-2.051-.216-3h7.432c-.112.949-.216 2.073-.216 3 0 .308.011.647.03 1H9.354a.353.353 0 0 1-.25-.104 1.354 1.354 0 0 0-.958-.396h-.292c-.36 0-.704.143-.958.396a.353.353 0 0 1-.25.104H4.47Zm-.315-5-.013-.096a.497.497 0 0 1 .405-.57C5.505 5.188 6.947 5 8 5s2.495.188 3.453.334a.497.497 0 0 1 .405.57L11.845 6h-7.69Z\"}}]})(props);\n};\nexport function BsTranslate (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z\"}}]})(props);\n};\nexport function BsTransparency (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6.5a6.5 6.5 0 0 1 12.346-2.846 6.5 6.5 0 1 1-8.691 8.691A6.5 6.5 0 0 1 0 6.5Zm5.144 6.358a5.5 5.5 0 1 0 7.714-7.714 6.5 6.5 0 0 1-7.714 7.714Zm-.733-1.269c.363.15.746.261 1.144.33l-1.474-1.474c.069.398.18.78.33 1.144Zm2.614.386a5.47 5.47 0 0 0 1.173-.242L4.374 7.91a5.958 5.958 0 0 0-.296 1.118l2.947 2.947Zm2.157-.672c.297-.166.577-.36.838-.576L5.418 6.126a6.016 6.016 0 0 0-.587.826l4.35 4.351Zm1.545-1.284c.216-.26.41-.54.576-.837L6.953 4.83a5.97 5.97 0 0 0-.827.587l4.6 4.602Zm1.006-1.822c.121-.374.204-.766.242-1.172L9.028 4.078c-.386.063-.76.163-1.118.296l3.823 3.824Zm.186-2.642a5.463 5.463 0 0 0-.33-1.144 5.46 5.46 0 0 0-1.144-.33l1.474 1.474Z\"}}]})(props);\n};\nexport function BsTrashFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsTrash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1ZM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z\"}}]})(props);\n};\nexport function BsTrash2Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225zm9.89-.69C10.966 2.214 9.578 2 8 2c-1.58 0-2.968.215-3.926.534-.477.16-.795.327-.975.466.18.14.498.307.975.466C5.032 3.786 6.42 4 8 4s2.967-.215 3.926-.534c.477-.16.795-.327.975-.466-.18-.14-.498-.307-.975-.466z\"}}]})(props);\n};\nexport function BsTrash2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2zM3.215 4.207l1.493 8.957a1 1 0 0 0 .986.836h4.612a1 1 0 0 0 .986-.836l1.493-8.957C11.69 4.689 9.954 5 8 5c-1.954 0-3.69-.311-4.785-.793z\"}}]})(props);\n};\nexport function BsTrash3Fill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1.5v1h3.5a.5.5 0 0 1 0 1h-.538l-.853 10.66A2 2 0 0 1 11.115 16h-6.23a2 2 0 0 1-1.994-1.84L2.038 3.5H1.5a.5.5 0 0 1 0-1H5v-1A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5Zm-5 0v1h4v-1a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5ZM4.5 5.029l.5 8.5a.5.5 0 1 0 .998-.06l-.5-8.5a.5.5 0 1 0-.998.06Zm6.53-.528a.5.5 0 0 0-.528.47l-.5 8.5a.5.5 0 0 0 .998.058l.5-8.5a.5.5 0 0 0-.47-.528ZM8 4.5a.5.5 0 0 0-.5.5v8.5a.5.5 0 0 0 1 0V5a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsTrash3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsTreeFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5z\"}}]})(props);\n};\nexport function BsTree (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5zM6.437 4.758A.5.5 0 0 0 6 4.5h-.066L8 1.401 10.066 4.5H10a.5.5 0 0 0-.424.765L11.598 8.5H11.5a.5.5 0 0 0-.447.724L12.69 12.5H3.309l1.638-3.276A.5.5 0 0 0 4.5 8.5h-.098l2.022-3.235a.5.5 0 0 0 .013-.507z\"}}]})(props);\n};\nexport function BsTrello (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.1 0H1.903C.852 0 .002.85 0 1.9v12.19A1.902 1.902 0 0 0 1.902 16h12.199A1.902 1.902 0 0 0 16 14.09V1.9A1.902 1.902 0 0 0 14.1 0ZM7 11.367a.636.636 0 0 1-.64.633H3.593a.633.633 0 0 1-.63-.633V3.583c0-.348.281-.631.63-.633h2.765c.35.002.632.284.633.633L7 11.367Zm6.052-3.5a.633.633 0 0 1-.64.633h-2.78A.636.636 0 0 1 9 7.867V3.583a.636.636 0 0 1 .633-.633h2.778c.35.002.631.285.631.633l.01 4.284Z\"}}]})(props);\n};\nexport function BsTriangleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsTriangleHalf (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.065 2.016A.13.13 0 0 0 8.002 2v11.983l6.856.017a.12.12 0 0 0 .066-.017.162.162 0 0 0 .054-.06.176.176 0 0 0-.002-.183L8.12 2.073a.146.146 0 0 0-.054-.057zm-1.043-.45a1.13 1.13 0 0 1 1.96 0l6.856 11.667c.458.778-.091 1.767-.98 1.767H1.146c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsTriangle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z\"}}]})(props);\n};\nexport function BsTrophyFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935z\"}}]})(props);\n};\nexport function BsTrophy (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935zM3.504 1c.007.517.026 1.006.056 1.469.13 2.028.457 3.546.87 4.667C5.294 9.48 6.484 10 7 10a.5.5 0 0 1 .5.5v2.61a1 1 0 0 1-.757.97l-1.426.356a.5.5 0 0 0-.179.085L4.5 15h7l-.638-.479a.501.501 0 0 0-.18-.085l-1.425-.356a1 1 0 0 1-.757-.97V10.5A.5.5 0 0 1 9 10c.516 0 1.706-.52 2.57-2.864.413-1.12.74-2.64.87-4.667.03-.463.049-.952.056-1.469H3.504z\"}}]})(props);\n};\nexport function BsTropicalStorm (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 2c-.9 0-1.75.216-2.501.6A5 5 0 0 1 13 7.5a6.5 6.5 0 1 1-13 0 .5.5 0 0 1 1 0 5.5 5.5 0 0 0 8.001 4.9A5 5 0 0 1 3 7.5a6.5 6.5 0 0 1 13 0 .5.5 0 0 1-1 0A5.5 5.5 0 0 0 9.5 2zM8 3.5a4 4 0 1 0 0 8 4 4 0 0 0 0-8z\"}}]})(props);\n};\nexport function BsTruckFlatbed (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 4a.5.5 0 0 1 .5.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-4 0 1 1 0 0 1-1-1v-1h11V4.5a.5.5 0 0 1 .5-.5zM3 11a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm1.732 0h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12v4a2 2 0 0 1 1.732 1z\"}}]})(props);\n};\nexport function BsTruckFrontFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A2.5 2.5 0 0 0 1 2.5v9c0 .818.393 1.544 1 2v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V14h6v1.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2c.607-.456 1-1.182 1-2v-9A2.5 2.5 0 0 0 12.5 0h-9ZM3 3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3.9c0 .625-.562 1.092-1.17.994C10.925 7.747 9.208 7.5 8 7.5c-1.208 0-2.925.247-3.83.394A1.008 1.008 0 0 1 3 6.9V3Zm1 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm8 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-5-2h2a1 1 0 1 1 0 2H7a1 1 0 1 1 0-2Z\"}}]})(props);\n};\nexport function BsTruckFront (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm8 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-6-1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2H7ZM4 2a1 1 0 0 0-1 1v3.9c0 .625.562 1.092 1.17.994C5.075 7.747 6.792 7.5 8 7.5c1.208 0 2.925.247 3.83.394A1.008 1.008 0 0 0 13 6.9V3a1 1 0 0 0-1-1H4Zm0 1h8v3.9c0 .002 0 .001 0 0l-.002.004a.013.013 0 0 1-.005.002h-.004C11.088 6.761 9.299 6.5 8 6.5s-3.088.26-3.99.406h-.003a.013.013 0 0 1-.005-.002L4 6.9c0 .001 0 .002 0 0V3Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A2.5 2.5 0 0 1 3.5 0h9A2.5 2.5 0 0 1 15 2.5v9c0 .818-.393 1.544-1 2v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V14H5v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a2.496 2.496 0 0 1-1-2v-9ZM3.5 1A1.5 1.5 0 0 0 2 2.5v9A1.5 1.5 0 0 0 3.5 13h9a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 12.5 1h-9Z\"}}]})(props);\n};\nexport function BsTruck (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h9A1.5 1.5 0 0 1 12 3.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 0 10.5v-7zm1.294 7.456A1.999 1.999 0 0 1 4.732 11h5.536a2.01 2.01 0 0 1 .732-.732V3.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .294.456zM12 10a2 2 0 0 1 1.732 1h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12v4zm-9 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsTsunami (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.036 12.314a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65zm0 2a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65zM2.662 8.08c-.456 1.063-.994 2.098-1.842 2.804a.5.5 0 0 1-.64-.768c.652-.544 1.114-1.384 1.564-2.43.14-.328.281-.68.427-1.044.302-.754.624-1.559 1.01-2.308C3.763 3.2 4.528 2.105 5.7 1.299 6.877.49 8.418 0 10.5 0c1.463 0 2.511.4 3.179 1.058.67.66.893 1.518.819 2.302-.074.771-.441 1.516-1.02 1.965a1.878 1.878 0 0 1-1.904.27c-.65.642-.907 1.679-.71 2.614C11.076 9.215 11.784 10 13 10h2.5a.5.5 0 0 1 0 1H13c-1.784 0-2.826-1.215-3.114-2.585-.232-1.1.005-2.373.758-3.284L10.5 5.06l-.777.388a.5.5 0 0 1-.447 0l-1-.5a.5.5 0 0 1 .447-.894l.777.388.776-.388a.5.5 0 0 1 .447 0l1 .5a.493.493 0 0 1 .034.018c.44.264.81.195 1.108-.036.328-.255.586-.729.637-1.27.05-.529-.1-1.076-.525-1.495-.426-.42-1.19-.77-2.477-.77-1.918 0-3.252.448-4.232 1.123C5.283 2.8 4.61 3.738 4.07 4.79c-.365.71-.655 1.433-.945 2.16-.15.376-.301.753-.463 1.13z\"}}]})(props);\n};\nexport function BsTvFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM2 2h12s2 0 2 2v6s0 2-2 2H2s-2 0-2-2V4s0-2 2-2z\"}}]})(props);\n};\nexport function BsTv (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM13.991 3l.024.001a1.46 1.46 0 0 1 .538.143.757.757 0 0 1 .302.254c.067.1.145.277.145.602v5.991l-.001.024a1.464 1.464 0 0 1-.143.538.758.758 0 0 1-.254.302c-.1.067-.277.145-.602.145H2.009l-.024-.001a1.464 1.464 0 0 1-.538-.143.758.758 0 0 1-.302-.254C1.078 10.502 1 10.325 1 10V4.009l.001-.024a1.46 1.46 0 0 1 .143-.538.758.758 0 0 1 .254-.302C1.498 3.078 1.675 3 2 3h11.991zM14 2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h12c2 0 2-2 2-2V4c0-2-2-2-2-2z\"}}]})(props);\n};\nexport function BsTwitch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.857 0 1 2.857v10.286h3.429V16l2.857-2.857H9.57L14.714 8V0H3.857zm9.714 7.429-2.285 2.285H9l-2 2v-2H4.429V1.143h9.142v6.286z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.857 3.143h-1.143V6.57h1.143V3.143zm-3.143 0H7.571V6.57h1.143V3.143z\"}}]})(props);\n};\nexport function BsTwitterX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z\"}}]})(props);\n};\nexport function BsTwitter (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z\"}}]})(props);\n};\nexport function BsTypeBold (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.21 13c2.106 0 3.412-1.087 3.412-2.823 0-1.306-.984-2.283-2.324-2.386v-.055a2.176 2.176 0 0 0 1.852-2.14c0-1.51-1.162-2.46-3.014-2.46H3.843V13H8.21zM5.908 4.674h1.696c.963 0 1.517.451 1.517 1.244 0 .834-.629 1.32-1.73 1.32H5.908V4.673zm0 6.788V8.598h1.73c1.217 0 1.88.492 1.88 1.415 0 .943-.643 1.449-1.832 1.449H5.907z\"}}]})(props);\n};\nexport function BsTypeH1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.648 13V3H6.3v4.234H1.348V3H0v10h1.348V8.421H6.3V13h1.348ZM14 13V3h-1.333l-2.381 1.766V6.12L12.6 4.443h.066V13H14Z\"}}]})(props);\n};\nexport function BsTypeH2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.495 13V3.201H6.174v4.15H1.32V3.2H0V13h1.32V8.513h4.854V13h1.32Zm3.174-7.071v-.05c0-.934.66-1.752 1.801-1.752 1.005 0 1.76.639 1.76 1.651 0 .898-.582 1.58-1.12 2.19l-3.69 4.2V13h6.331v-1.149h-4.458v-.079L13.9 8.786c.919-1.048 1.666-1.874 1.666-3.101C15.565 4.149 14.35 3 12.499 3 10.46 3 9.384 4.393 9.384 5.879v.05h1.285Z\"}}]})(props);\n};\nexport function BsTypeH3 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.07 8.4h1.049c1.174 0 1.99.69 2.004 1.724.014 1.034-.802 1.786-2.068 1.779-1.11-.007-1.905-.605-1.99-1.357h-1.21C8.926 11.91 10.116 13 12.028 13c1.99 0 3.439-1.188 3.404-2.87-.028-1.553-1.287-2.221-2.096-2.313v-.07c.724-.127 1.814-.935 1.772-2.293-.035-1.392-1.21-2.468-3.038-2.454-1.927.007-2.94 1.196-2.981 2.426h1.23c.064-.71.732-1.336 1.744-1.336 1.027 0 1.744.64 1.744 1.568.007.95-.738 1.639-1.744 1.639h-.991V8.4ZM7.495 13V3.201H6.174v4.15H1.32V3.2H0V13h1.32V8.513h4.854V13h1.32Z\"}}]})(props);\n};\nexport function BsTypeH4 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.007 3H15v10h-1.29v-2.051H8.854v-1.18C10.1 7.513 11.586 5.256 13.007 3Zm-2.82 6.777h3.524v-5.62h-.074a95.078 95.078 0 0 0-3.45 5.554v.066ZM7.495 13V3.201H6.174v4.15H1.32V3.2H0V13h1.32V8.513h4.854V13h1.32Z\"}}]})(props);\n};\nexport function BsTypeH5 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10.516h1.264c.193.976 1.112 1.364 2.01 1.364 1.005 0 2.067-.782 2.067-2.247 0-1.292-.983-2.082-2.089-2.082-1.012 0-1.658.596-1.924 1.077h-1.12L9.646 3h5.535v1.141h-4.415L10.5 7.28h.072c.201-.316.883-.84 1.967-.84 1.709 0 3.13 1.177 3.13 3.158 0 2.025-1.407 3.403-3.475 3.403-1.809 0-3.1-1.048-3.194-2.484ZM7.495 13V3.201H6.174v4.15H1.32V3.2H0V13h1.32V8.512h4.854V13h1.32Z\"}}]})(props);\n};\nexport function BsTypeH6 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.596 5.178H14.3c-.106-.444-.62-1.072-1.706-1.072-1.332 0-2.325 1.269-2.325 3.947h.07c.268-.67 1.043-1.445 2.445-1.445 1.494 0 3.017 1.064 3.017 3.073C15.8 11.795 14.37 13 12.48 13c-1.036 0-2.093-.36-2.77-1.452C9.276 10.836 9 9.808 9 8.37 9 4.656 10.494 3 12.636 3c1.812 0 2.883 1.113 2.96 2.178Zm-5.151 4.566c0 1.367.944 2.15 2.043 2.15 1.128 0 2.037-.684 2.037-2.136 0-1.41-1-2.065-2.03-2.065-1.19 0-2.05.853-2.05 2.051ZM7.495 13V3.201H6.174v4.15H1.32V3.2H0V13h1.32V8.513h4.854V13h1.32Z\"}}]})(props);\n};\nexport function BsTypeItalic (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.991 11.674 9.53 4.455c.123-.595.246-.71 1.347-.807l.11-.52H7.211l-.11.52c1.06.096 1.128.212 1.005.807L6.57 11.674c-.123.595-.246.71-1.346.806l-.11.52h3.774l.11-.52c-1.06-.095-1.129-.211-1.006-.806z\"}}]})(props);\n};\nexport function BsTypeStrikethrough (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.333 5.686c0 .31.083.581.27.814H5.166a2.776 2.776 0 0 1-.099-.76c0-1.627 1.436-2.768 3.48-2.768 1.969 0 3.39 1.175 3.445 2.85h-1.23c-.11-1.08-.964-1.743-2.25-1.743-1.23 0-2.18.602-2.18 1.607zm2.194 7.478c-2.153 0-3.589-1.107-3.705-2.81h1.23c.144 1.06 1.129 1.703 2.544 1.703 1.34 0 2.31-.705 2.31-1.675 0-.827-.547-1.374-1.914-1.675L8.046 8.5H1v-1h14v1h-3.504c.468.437.675.994.675 1.697 0 1.826-1.436 2.967-3.644 2.967z\"}}]})(props);\n};\nexport function BsTypeUnderline (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.313 3.136h-1.23V9.54c0 2.105 1.47 3.623 3.917 3.623s3.917-1.518 3.917-3.623V3.136h-1.23v6.323c0 1.49-.978 2.57-2.687 2.57-1.709 0-2.687-1.08-2.687-2.57V3.136zM12.5 15h-9v-1h9v1z\"}}]})(props);\n};\nexport function BsType (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.244 13.081.943-2.803H6.66l.944 2.803H8.86L5.54 3.75H4.322L1 13.081h1.244zm2.7-7.923L6.34 9.314H3.51l1.4-4.156h.034zm9.146 7.027h.035v.896h1.128V8.125c0-1.51-1.114-2.345-2.646-2.345-1.736 0-2.59.916-2.666 2.174h1.108c.068-.718.595-1.19 1.517-1.19.971 0 1.518.52 1.518 1.464v.731H12.19c-1.647.007-2.522.8-2.522 2.058 0 1.319.957 2.18 2.345 2.18 1.06 0 1.716-.43 2.078-1.011zm-1.763.035c-.752 0-1.456-.397-1.456-1.244 0-.65.424-1.115 1.408-1.115h1.805v.834c0 .896-.752 1.525-1.757 1.525z\"}}]})(props);\n};\nexport function BsUbuntu (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.273 9.53a2.273 2.273 0 1 0 0-4.546 2.273 2.273 0 0 0 0 4.547Zm9.467-4.984a2.273 2.273 0 1 0 0-4.546 2.273 2.273 0 0 0 0 4.546ZM7.4 13.108a5.535 5.535 0 0 1-3.775-2.88 3.273 3.273 0 0 1-1.944.24 7.4 7.4 0 0 0 5.328 4.465c.53.113 1.072.169 1.614.166a3.253 3.253 0 0 1-.666-1.9 5.639 5.639 0 0 1-.557-.091Zm3.828 2.285a2.273 2.273 0 1 0 0-4.546 2.273 2.273 0 0 0 0 4.546Zm3.163-3.108a7.436 7.436 0 0 0 .373-8.726 3.276 3.276 0 0 1-1.278 1.498 5.573 5.573 0 0 1-.183 5.535 3.26 3.26 0 0 1 1.088 1.693ZM2.098 3.998a3.28 3.28 0 0 1 1.897.486 5.544 5.544 0 0 1 4.464-2.388c.037-.67.277-1.313.69-1.843a7.472 7.472 0 0 0-7.051 3.745Z\"}}]})(props);\n};\nexport function BsUiChecksGrid (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1zm9-9h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zm0 9a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-3zm0-10a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-3zM2 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H2zm7 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2v-3zM0 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.354.854a.5.5 0 1 0-.708-.708L3 3.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2z\"}}]})(props);\n};\nexport function BsUiChecks (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM2 1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm0 8a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H2zm.854-3.646a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 1 1 .708.708l-2 2zm0 8a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708.708l-2 2zM7 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsUiRadiosGrid (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 15a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm9-9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM16 3.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0zm-9 9a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0zm5.5 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zm-9-11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 2a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsUiRadios (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM0 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm7-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zM3 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0 4.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsUmbrellaFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsUmbrella (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0zM6.577 2.123c-2.833.5-4.99 2.458-5.474 4.854A4.124 4.124 0 0 1 3 6.5c.806 0 1.48.25 1.962.511a9.706 9.706 0 0 1 .344-2.358c.242-.868.64-1.765 1.271-2.53zm-.615 4.93A4.16 4.16 0 0 1 8 6.5a4.16 4.16 0 0 1 2.038.553 8.688 8.688 0 0 0-.307-2.13C9.434 3.858 8.898 2.83 8 2.117c-.898.712-1.434 1.74-1.731 2.804a8.687 8.687 0 0 0-.307 2.131zm3.46-4.93c.631.765 1.03 1.662 1.272 2.53.233.833.328 1.66.344 2.358A4.14 4.14 0 0 1 13 6.5c.77 0 1.42.23 1.897.477-.484-2.396-2.641-4.355-5.474-4.854z\"}}]})(props);\n};\nexport function BsUnindent (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13 8a.5.5 0 0 0-.5-.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H12.5A.5.5 0 0 0 13 8Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 1 0v-7a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsUnion (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsUnity (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11.2V3.733L8.61 0v2.867l2.503 1.466c.099.067.099.2 0 .234L8.148 6.3c-.099.067-.197.033-.263 0L4.92 4.567c-.099-.034-.099-.2 0-.234l2.504-1.466V0L1 3.733V11.2v-.033.033l2.438-1.433V6.833c0-.1.131-.166.197-.133L6.6 8.433c.099.067.132.134.132.234v3.466c0 .1-.132.167-.198.134L4.031 10.8l-2.438 1.433L7.983 16l6.391-3.733-2.438-1.434L9.434 12.3c-.099.067-.198 0-.198-.133V8.7c0-.1.066-.2.132-.233l2.965-1.734c.099-.066.197 0 .197.134V9.8L15 11.2Z\"}}]})(props);\n};\nexport function BsUniversalAccessCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.143A1.071 1.071 0 1 0 8 2a1.071 1.071 0 0 0 0 2.143Zm-4.668 1.47 3.24.316v2.5l-.323 4.585A.383.383 0 0 0 7 13.14l.826-4.017c.045-.18.301-.18.346 0L9 13.139a.383.383 0 0 0 .752-.125L9.43 8.43v-2.5l3.239-.316a.38.38 0 0 0-.047-.756H3.379a.38.38 0 0 0-.047.756Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Z\"}}]})(props);\n};\nexport function BsUniversalAccess (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM6 5.5l-4.535-.442A.531.531 0 0 1 1.531 4H14.47a.531.531 0 0 1 .066 1.058L10 5.5V9l.452 6.42a.535.535 0 0 1-1.053.174L8.243 9.97c-.064-.252-.422-.252-.486 0l-1.156 5.624a.535.535 0 0 1-1.053-.174L6 9V5.5Z\"}}]})(props);\n};\nexport function BsUnlockFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsUnlock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2zM3 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H3z\"}}]})(props);\n};\nexport function BsUpcScan (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5zM3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z\"}}]})(props);\n};\nexport function BsUpc (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z\"}}]})(props);\n};\nexport function BsUpload (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsUsbCFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a3 3 0 0 0 0 6h10a3 3 0 1 0 0-6H3Zm.5 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1Z\"}}]})(props);\n};\nexport function BsUsbC (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 7.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a3 3 0 0 1 3-3h10a3 3 0 1 1 0 6H3a3 3 0 0 1-3-3Zm3-2a2 2 0 1 0 0 4h10a2 2 0 1 0 0-4H3Z\"}}]})(props);\n};\nexport function BsUsbDriveFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4H6v-4ZM7 1v1h1V1H7Zm2 0v1h1V1H9ZM5.5 5a.5.5 0 0 0-.5.5V15a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V5.5a.5.5 0 0 0-.5-.5h-6Z\"}}]})(props);\n};\nexport function BsUsbDrive (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4H6v-4ZM7 1v1h1V1H7Zm2 0v1h1V1H9ZM6 5a1 1 0 0 0-1 1v8.5A1.5 1.5 0 0 0 6.5 16h4a1.5 1.5 0 0 0 1.5-1.5V6a1 1 0 0 0-1-1H6Zm0 1h5v8.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V6Z\"}}]})(props);\n};\nexport function BsUsbFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h15a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H.5Zm1.75 1.5h11.5a.25.25 0 0 1 .25.25v1a.25.25 0 0 1-.25.25H2.25A.25.25 0 0 1 2 7.75v-1a.25.25 0 0 1 .25-.25Z\"}}]})(props);\n};\nexport function BsUsbMicroFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.707 4A1 1 0 0 0 2 4.293L.293 6A1 1 0 0 0 0 6.707V11a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V6.707A1 1 0 0 0 15.707 6L14 4.293A1 1 0 0 0 13.293 4H2.707ZM4.5 7h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsUsbMicro (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-7Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.707 4A1 1 0 0 0 2 4.293L.293 6A1 1 0 0 0 0 6.707V11a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V6.707A1 1 0 0 0 15.707 6L14 4.293A1 1 0 0 0 13.293 4H2.707Zm0 1h10.586L15 6.707V11H1V6.707L2.707 5Z\"}}]})(props);\n};\nexport function BsUsbMiniFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 0 0-1 1v1.293L.293 7A1 1 0 0 0 0 7.707V12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7.707A1 1 0 0 0 15.707 7L14 5.293V4a1 1 0 0 0-1-1H3Zm.5 5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\"}}]})(props);\n};\nexport function BsUsbMini (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 0 0-1 1v1.293L.293 7A1 1 0 0 0 0 7.707V12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7.707A1 1 0 0 0 15.707 7L14 5.293V4a1 1 0 0 0-1-1H3Zm0 1h10v1.293a1 1 0 0 0 .293.707L15 7.707V12H1V7.707L2.707 6A1 1 0 0 0 3 5.293V4Z\"}}]})(props);\n};\nexport function BsUsbPlugFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4H6v-4ZM7 1v1h1V1H7Zm2 0v1h1V1H9ZM5.5 5a.5.5 0 0 0-.5.5v4.894a2 2 0 0 0 .336 1.11l.83 1.245c.544.816.834 1.774.834 2.754 0 .275.222.497.497.497h2.006a.497.497 0 0 0 .497-.497c0-.98.29-1.938.834-2.754l.83-1.245a2 2 0 0 0 .336-1.11V5.5a.5.5 0 0 0-.5-.5h-6Z\"}}]})(props);\n};\nexport function BsUsbPlug (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4H6v-4ZM7 1v1h1V1H7Zm2 0v1h1V1H9ZM6 5a1 1 0 0 0-1 1v4.394c0 .494.146.976.42 1.387l1.038 1.558c.354.53.542 1.152.542 1.789 0 .481.39.872.872.872h1.256c.481 0 .872-.39.872-.872 0-.637.188-1.26.541-1.789l1.04-1.558A2.5 2.5 0 0 0 12 10.394V6a1 1 0 0 0-1-1H6Zm0 1h5v4.394a1.5 1.5 0 0 1-.252.832L9.71 12.784A4.224 4.224 0 0 0 9.002 15H7.998a4.224 4.224 0 0 0-.707-2.216l-1.04-1.558A1.5 1.5 0 0 1 6 10.394V6Z\"}}]})(props);\n};\nexport function BsUsbSymbol (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.792.312-1.533 2.3A.25.25 0 0 0 6.467 3H7.5v7.319a2.5 2.5 0 0 0-.515-.298L5.909 9.56A1.5 1.5 0 0 1 5 8.18v-.266a1.5 1.5 0 1 0-1 0v.266a2.5 2.5 0 0 0 1.515 2.298l1.076.461a1.5 1.5 0 0 1 .888 1.129 2.001 2.001 0 1 0 1.021-.006v-.902a1.5 1.5 0 0 1 .756-1.303l1.484-.848A2.5 2.5 0 0 0 11.995 7h.755a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h.741a1.5 1.5 0 0 1-.747 1.142L8.76 8.99a2.584 2.584 0 0 0-.26.17V3h1.033a.25.25 0 0 0 .208-.389L8.208.312a.25.25 0 0 0-.416 0Z\"}}]})(props);\n};\nexport function BsUsb (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.25 7a.25.25 0 0 0-.25.25v1c0 .138.112.25.25.25h11.5a.25.25 0 0 0 .25-.25v-1a.25.25 0 0 0-.25-.25H2.25Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5.5A.5.5 0 0 1 .5 5h15a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-5ZM1 10h14V6H1v4Z\"}}]})(props);\n};\nexport function BsValentine (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.993c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132ZM2.25 4a.25.25 0 0 0-.25.25v1.5a.25.25 0 0 0 .5 0V4.5h1.25a.25.25 0 0 0 0-.5h-1.5Zm10 0a.25.25 0 1 0 0 .5h1.25v1.25a.25.25 0 1 0 .5 0v-1.5a.25.25 0 0 0-.25-.25h-1.5ZM2.5 10.25a.25.25 0 1 0-.5 0v1.5c0 .138.112.25.25.25h1.5a.25.25 0 1 0 0-.5H2.5v-1.25Zm11.5 0a.25.25 0 1 0-.5 0v1.25h-1.25a.25.25 0 1 0 0 .5h1.5a.25.25 0 0 0 .25-.25v-1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 2.994v-.06a1 1 0 0 1 .859-.99l13-1.857a1 1 0 0 1 1.141.99V2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2.994ZM1 3v10h14V3H1Z\"}}]})(props);\n};\nexport function BsValentine2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.493c1.664-1.711 5.825 1.283 0 5.132-5.825-3.85-1.664-6.843 0-5.132ZM4.25 3a.25.25 0 0 0-.25.25v1.5a.25.25 0 0 0 .5 0V3.5h1.25a.25.25 0 0 0 0-.5h-1.5Zm6 0a.25.25 0 1 0 0 .5h1.25v1.25a.25.25 0 1 0 .5 0v-1.5a.25.25 0 0 0-.25-.25h-1.5ZM4.5 12.25a.25.25 0 1 0-.5 0v1.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 0-.5H4.5v-1.25Zm7.5 0a.25.25 0 1 0-.5 0v1.25h-1.25a.25.25 0 1 0 0 .5h1.5a.25.25 0 0 0 .25-.25v-1.5Z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 1.994v-.042a1 1 0 0 1 .9-.995l9-.9A1 1 0 0 1 13 1a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V1.994ZM3 2v13h10V2H3Z\"}}]})(props);\n};\nexport function BsVectorPen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.646.646a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1 0 .708l-1.902 1.902-.829 3.313a1.5 1.5 0 0 1-1.024 1.073L1.254 14.746 4.358 4.4A1.5 1.5 0 0 1 5.43 3.377l3.313-.828L10.646.646zm-1.8 2.908-3.173.793a.5.5 0 0 0-.358.342l-2.57 8.565 8.567-2.57a.5.5 0 0 0 .34-.357l.794-3.174-3.6-3.6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.832 13.228 8 9a1 1 0 1 0-1-1l-4.228 5.168-.026.086.086-.026z\"}}]})(props);\n};\nexport function BsViewList (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3zM1 2a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 2zm0 12a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 14z\"}}]})(props);\n};\nexport function BsViewStacked (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3zm0 8h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3z\"}}]})(props);\n};\nexport function BsVignette (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1ZM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.683-6.281a.5.5 0 1 1-.866-.5.5.5 0 0 1 .866.5Zm-3.5 6.062a.5.5 0 1 1-.866-.5.5.5 0 0 1 .866.5Zm4.598-4.598a.5.5 0 1 1-.5-.866.5.5 0 0 1 .5.866Zm-6.062 3.5a.5.5 0 1 1-.5-.866.5.5 0 0 1 .5.866ZM11.5 8.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm-7 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm6.281 1.683a.5.5 0 1 1 .5-.866.5.5 0 0 1-.5.866Zm-6.062-3.5a.5.5 0 1 1 .5-.866.5.5 0 0 1-.5.866Zm4.598 4.598a.5.5 0 1 1 .866-.5.5.5 0 0 1-.866.5Zm-3.5-6.062a.5.5 0 1 1 .866-.5.5.5 0 0 1-.866.5Z\"}}]})(props);\n};\nexport function BsVimeo (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.992 4.204c-.071 1.556-1.158 3.687-3.262 6.393-2.175 2.829-4.016 4.243-5.522 4.243-.933 0-1.722-.861-2.367-2.583L3.55 7.523C3.07 5.8 2.556 4.94 2.007 4.94c-.118 0-.537.253-1.254.754L0 4.724a209.56 209.56 0 0 0 2.334-2.081c1.054-.91 1.845-1.388 2.373-1.437 1.243-.123 2.01.728 2.298 2.553.31 1.968.526 3.19.646 3.666.36 1.631.756 2.446 1.186 2.445.334 0 .836-.53 1.508-1.587.671-1.058 1.03-1.863 1.077-2.415.096-.913-.263-1.37-1.077-1.37a3.022 3.022 0 0 0-1.185.261c.789-2.573 2.291-3.825 4.508-3.756 1.644.05 2.419 1.117 2.324 3.2z\"}}]})(props);\n};\nexport function BsVinylFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0z\"}}]})(props);\n};\nexport function BsVinyl (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM4 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsVirus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 1 1 1v1.402c0 .511.677.693.933.25l.7-1.214a1 1 0 0 1 1.733 1l-.701 1.214c-.256.443.24.939.683.683l1.214-.701a1 1 0 0 1 1 1.732l-1.214.701c-.443.256-.262.933.25.933H15a1 1 0 1 1 0 2h-1.402c-.512 0-.693.677-.25.933l1.214.701a1 1 0 1 1-1 1.732l-1.214-.7c-.443-.257-.939.24-.683.682l.701 1.214a1 1 0 1 1-1.732 1l-.701-1.214c-.256-.443-.933-.262-.933.25V15a1 1 0 1 1-2 0v-1.402c0-.512-.677-.693-.933-.25l-.701 1.214a1 1 0 0 1-1.732-1l.7-1.214c.257-.443-.24-.939-.682-.683l-1.214.701a1 1 0 1 1-1-1.732l1.214-.701c.443-.256.261-.933-.25-.933H1a1 1 0 1 1 0-2h1.402c.511 0 .693-.677.25-.933l-1.214-.701a1 1 0 1 1 1-1.732l1.214.701c.443.256.939-.24.683-.683l-.701-1.214a1 1 0 0 1 1.732-1l.701 1.214c.256.443.933.261.933-.25V1a1 1 0 0 1 1-1Zm2 5a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM6 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm1 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-3a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"}}]})(props);\n};\nexport function BsVirus2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 0-1 1v1.143c0 .557-.407 1.025-.921 1.24-.514.214-1.12.162-1.513-.231l-.809-.809a1 1 0 1 0-1.414 1.414l.809.809c.394.394.445.999.23 1.513C3.169 6.593 2.7 7 2.144 7H1a1 1 0 0 0 0 2h1.143c.557 0 1.025.407 1.24.921.214.514.163 1.12-.231 1.513l-.809.809a1 1 0 0 0 1.414 1.414l.809-.809c.394-.394.999-.445 1.513-.23.514.214.921.682.921 1.24V15a1 1 0 1 0 2 0v-1.143c0-.557.407-1.025.921-1.24.514-.214 1.12-.162 1.513.231l.809.809a1 1 0 0 0 1.414-1.414l-.809-.809c-.393-.394-.445-.999-.23-1.513.214-.514.682-.921 1.24-.921H15a1 1 0 1 0 0-2h-1.143c-.557 0-1.025-.407-1.24-.921-.214-.514-.162-1.12.231-1.513l.809-.809a1 1 0 0 0-1.414-1.414l-.809.809c-.394.393-.999.445-1.513.23-.514-.214-.92-.682-.92-1.24V1a1 1 0 0 0-1-1Zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm1 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm4-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"}}]})(props);\n};\nexport function BsVoicemail (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8.5A3.49 3.49 0 0 1 5.95 11h4.1a3.5 3.5 0 1 1 2.45 1h-9A3.5 3.5 0 1 1 7 8.5zm-6 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0zm14 0a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0z\"}}]})(props);\n};\nexport function BsVolumeDownFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zm3.025 4a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsVolumeDown (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zM6.312 6.39 8 5.04v5.92L6.312 9.61A.5.5 0 0 0 6 9.5H4v-3h2a.5.5 0 0 0 .312-.11zM12.025 8a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsVolumeMuteFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zm7.137 2.096a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsVolumeMute (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM6 5.04 4.312 6.39A.5.5 0 0 1 4 6.5H2v3h2a.5.5 0 0 1 .312.11L6 10.96V5.04zm7.854.606a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsVolumeOffFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsVolumeOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM10 5.04 8.312 6.39A.5.5 0 0 1 8 6.5H6v3h2a.5.5 0 0 1 .312.11L10 10.96V5.04z\"}}]})(props);\n};\nexport function BsVolumeUpFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 11.182A4.486 4.486 0 0 0 10.025 8a4.486 4.486 0 0 0-1.318-3.182L8 5.525A3.489 3.489 0 0 1 9.025 8 3.49 3.49 0 0 1 8 10.475l.707.707zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsVolumeUp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.025 8a4.486 4.486 0 0 1-1.318 3.182L8 10.475A3.489 3.489 0 0 0 9.025 8c0-.966-.392-1.841-1.025-2.475l.707-.707A4.486 4.486 0 0 1 10.025 8zM7 4a.5.5 0 0 0-.812-.39L3.825 5.5H1.5A.5.5 0 0 0 1 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 7 12V4zM4.312 6.39 6 5.04v5.92L4.312 9.61A.5.5 0 0 0 4 9.5H2v-3h2a.5.5 0 0 0 .312-.11z\"}}]})(props);\n};\nexport function BsVr (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12V4a1 1 0 0 1 1-1h2.5V2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5v-1H4a1 1 0 0 1-1-1zm6.5 1v1H12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H9.5v1H12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H9.5zM8 16a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v15a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsWalletFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v2h6a.5.5 0 0 1 .5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 0 1 .5-.5h6v-2A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.5h-5.551a2.678 2.678 0 0 1-.443 1.042C9.613 8.088 8.963 8.5 8 8.5c-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 0 1 5.551 6.5H0v6A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-6z\"}}]})(props);\n};\nexport function BsWallet (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h13.5a.5.5 0 0 1 0 1H15v2a1 1 0 0 1 1 1v8.5a1.5 1.5 0 0 1-1.5 1.5h-12A2.5 2.5 0 0 1 0 12.5V3zm1 1.732V12.5A1.5 1.5 0 0 0 2.5 14h12a.5.5 0 0 0 .5-.5V5H2a1.99 1.99 0 0 1-1-.268zM1 3a1 1 0 0 0 1 1h12V2H2a1 1 0 0 0-1 1z\"}}]})(props);\n};\nexport function BsWallet2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.136.326A1.5 1.5 0 0 1 14 1.78V3h.5A1.5 1.5 0 0 1 16 4.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 13.5v-9a1.5 1.5 0 0 1 1.432-1.499L12.136.326zM5.562 3H13V1.78a.5.5 0 0 0-.621-.484L5.562 3zM1.5 4a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}}]})(props);\n};\nexport function BsWatch (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5a.5.5 0 0 0-1 0v2.5H6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.667 16C4.747 16 4 15.254 4 14.333v-1.86A5.985 5.985 0 0 1 2 8c0-1.777.772-3.374 2-4.472V1.667C4 .747 4.746 0 5.667 0h4.666C11.253 0 12 .746 12 1.667v1.86a5.99 5.99 0 0 1 1.918 3.48.502.502 0 0 1 .582.493v1a.5.5 0 0 1-.582.493A5.99 5.99 0 0 1 12 12.473v1.86c0 .92-.746 1.667-1.667 1.667H5.667zM13 8A5 5 0 1 0 3 8a5 5 0 0 0 10 0z\"}}]})(props);\n};\nexport function BsWater (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.036 3.314a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 3.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 6.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 9.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65z\"}}]})(props);\n};\nexport function BsWebcamFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.644 11.094a.5.5 0 0 1 .356-.15h2a.5.5 0 0 1 .356.15c.175.177.39.347.603.496a7.166 7.166 0 0 0 .752.456l.01.006h.003A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.224-.947l.002-.001.01-.006a3.517 3.517 0 0 0 .214-.116 7.5 7.5 0 0 0 .539-.34c.214-.15.428-.319.603-.496ZM7 6.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H2Zm6 1.5a2 2 0 1 1 0 4 2 2 0 0 1 0-4ZM12.5 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"}}]})(props);\n};\nexport function BsWebcam (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H9.269c.144.162.33.324.531.475a6.785 6.785 0 0 0 .907.57l.014.006.003.002A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.224-.947l.003-.002.014-.007a4.473 4.473 0 0 0 .268-.148 6.75 6.75 0 0 0 .639-.421c.2-.15.387-.313.531-.475H2a2 2 0 0 1-2-2V6Zm2-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm7 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}}]})(props);\n};\nexport function BsWechat (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.176 14.429c-2.665 0-4.826-1.8-4.826-4.018 0-2.22 2.159-4.02 4.824-4.02S16 8.191 16 10.411c0 1.21-.65 2.301-1.666 3.036a.324.324 0 0 0-.12.366l.218.81a.616.616 0 0 1 .029.117.166.166 0 0 1-.162.162.177.177 0 0 1-.092-.03l-1.057-.61a.519.519 0 0 0-.256-.074.509.509 0 0 0-.142.021 5.668 5.668 0 0 1-1.576.22ZM9.064 9.542a.647.647 0 1 0 .557-1 .645.645 0 0 0-.646.647.615.615 0 0 0 .09.353Zm3.232.001a.646.646 0 1 0 .546-1 .645.645 0 0 0-.644.644.627.627 0 0 0 .098.356Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6.826c0 1.455.781 2.765 2.001 3.656a.385.385 0 0 1 .143.439l-.161.6-.1.373a.499.499 0 0 0-.032.14.192.192 0 0 0 .193.193c.039 0 .077-.01.111-.029l1.268-.733a.622.622 0 0 1 .308-.088c.058 0 .116.009.171.025a6.83 6.83 0 0 0 1.625.26 4.45 4.45 0 0 1-.177-1.251c0-2.936 2.785-5.02 5.824-5.02.05 0 .1 0 .15.002C10.587 3.429 8.392 2 5.796 2 2.596 2 0 4.16 0 6.826Zm4.632-1.555a.77.77 0 1 1-1.54 0 .77.77 0 0 1 1.54 0Zm3.875 0a.77.77 0 1 1-1.54 0 .77.77 0 0 1 1.54 0Z\"}}]})(props);\n};\nexport function BsWhatsapp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\"}}]})(props);\n};\nexport function BsWifi1 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.046 10.454c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.611-.091l.015-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.708-.707z\"}}]})(props);\n};\nexport function BsWifi2 (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.229 8.271c.216-.216.194-.578-.063-.745A9.456 9.456 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.577 1.336c.205.132.48.108.652-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.408.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.611-.091l.015-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .708 0l.707-.707z\"}}]})(props);\n};\nexport function BsWifiOff (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.706 3.294A12.545 12.545 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c.63 0 1.249.05 1.852.148l.854-.854zM8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065 8.448 8.448 0 0 1 3.51-1.27L8 6zm2.596 1.404.785-.785c.63.24 1.227.545 1.785.907a.482.482 0 0 1 .063.745.525.525 0 0 1-.652.065 8.462 8.462 0 0 0-1.98-.932zM8 10l.933-.933a6.455 6.455 0 0 1 2.013.637c.285.145.326.524.1.75l-.015.015a.532.532 0 0 1-.611.09A5.478 5.478 0 0 0 8 10zm4.905-4.905.747-.747c.59.3 1.153.645 1.685 1.03a.485.485 0 0 1 .047.737.518.518 0 0 1-.668.05 11.493 11.493 0 0 0-1.811-1.07zM9.02 11.78c.238.14.236.464.04.66l-.707.706a.5.5 0 0 1-.707 0l-.707-.707c-.195-.195-.197-.518.04-.66A1.99 1.99 0 0 1 8 11.5c.374 0 .723.102 1.021.28zm4.355-9.905a.53.53 0 0 1 .75.75l-10.75 10.75a.53.53 0 0 1-.75-.75l10.75-10.75z\"}}]})(props);\n};\nexport function BsWifi (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.384 6.115a.485.485 0 0 0-.047-.736A12.444 12.444 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c2.507 0 4.827.802 6.716 2.164.205.148.49.13.668-.049z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.229 8.271a.482.482 0 0 0-.063-.745A9.455 9.455 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.576 1.336c.206.132.48.108.653-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.61-.091l.016-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.707-.707z\"}}]})(props);\n};\nexport function BsWikipedia (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.835 3.003c.828-.006 2.688 0 2.688 0l.033.03v.288c0 .08-.045.12-.133.12-.433.02-.522.063-.68.29-.087.126-.258.393-.435.694l-1.52 2.843-.043.089 1.858 3.801.113.031 2.926-6.946c.102-.28.086-.478-.044-.595-.132-.114-.224-.18-.563-.195l-.275-.014a.161.161 0 0 1-.096-.035.1.1 0 0 1-.046-.084v-.289l.042-.03h3.306l.034.03v.29c0 .078-.045.117-.133.117-.433.02-.754.113-.962.281a1.64 1.64 0 0 0-.488.704s-2.691 6.16-3.612 8.208c-.353.672-.7.61-1.004-.019A224.05 224.05 0 0 1 8.044 8.81c-.623 1.285-1.475 3.026-1.898 3.81-.411.715-.75.622-1.02.019-.45-1.065-1.131-2.519-1.817-3.982-.735-1.569-1.475-3.149-1.943-4.272-.167-.4-.293-.657-.412-.759-.12-.1-.368-.16-.746-.18C.069 3.429 0 3.395 0 3.341v-.303l.034-.03c.615-.003 3.594 0 3.594 0l.034.03v.288c0 .08-.05.118-.15.118l-.375.016c-.322.013-.483.11-.483.288 0 .083.034.217.109.4.72 1.753 3.207 6.998 3.207 6.998l.091.023 1.603-3.197-.32-.71L6.24 5.095s-.213-.433-.286-.577l-.098-.196c-.387-.77-.411-.82-.865-.88-.137-.017-.208-.035-.208-.102v-.304l.041-.03h2.853l.075.024v.303c0 .069-.05.104-.15.104l-.206.03c-.523.04-.438.254-.09.946l1.057 2.163 1.17-2.332c.195-.427.155-.534.074-.633-.046-.055-.202-.144-.54-.158l-.133-.015a.159.159 0 0 1-.096-.034.099.099 0 0 1-.045-.085v-.288l.041-.03Z\"}}]})(props);\n};\nexport function BsWind (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 2A2.5 2.5 0 0 0 10 4.5a.5.5 0 0 1-1 0A3.5 3.5 0 1 1 12.5 8H.5a.5.5 0 0 1 0-1h12a2.5 2.5 0 0 0 0-5zm-7 1a1 1 0 0 0-1 1 .5.5 0 0 1-1 0 2 2 0 1 1 2 2h-5a.5.5 0 0 1 0-1h5a1 1 0 0 0 0-2zM0 9.5A.5.5 0 0 1 .5 9h10.042a3 3 0 1 1-3 3 .5.5 0 0 1 1 0 2 2 0 1 0 2-2H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsWindowDash (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v4a.5.5 0 0 1-1 0V7H1v5a1 1 0 0 0 1 1h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-2V4Zm1 2h13V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-5.5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"}}]})(props);\n};\nexport function BsWindowDesktop (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-9Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 1A2.366 2.366 0 0 0 0 3.357v9.286A2.366 2.366 0 0 0 2.375 15h11.25A2.366 2.366 0 0 0 16 12.643V3.357A2.366 2.366 0 0 0 13.625 1H2.375ZM1 3.357C1 2.612 1.611 2 2.375 2h11.25C14.389 2 15 2.612 15 3.357V4H1v-.643ZM1 5h14v7.643c0 .745-.611 1.357-1.375 1.357H2.375A1.366 1.366 0 0 1 1 12.643V5Z\"}}]})(props);\n};\nexport function BsWindowDock (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12ZM2 14h12a1 1 0 0 0 1-1V5H1v8a1 1 0 0 0 1 1ZM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2Z\"}}]})(props);\n};\nexport function BsWindowFullscreen (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h15a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H.5ZM1 5V2h14v3H1Zm0 1h14v8H1V6Z\"}}]})(props);\n};\nexport function BsWindowPlus (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v4a.5.5 0 0 1-1 0V7H1v5a1 1 0 0 0 1 1h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-2V4Zm1 2h13V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3.5-2a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1a.5.5 0 0 0-.5-.5Z\"}}]})(props);\n};\nexport function BsWindowSidebar (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v2H1V3a1 1 0 0 1 1-1h12zM1 13V6h4v8H2a1 1 0 0 1-1-1zm5 1V6h9v7a1 1 0 0 1-1 1H6z\"}}]})(props);\n};\nexport function BsWindowSplit (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2Zm12 1a1 1 0 0 1 1 1v2H1V3a1 1 0 0 1 1-1h12ZM1 13V6h6.5v8H2a1 1 0 0 1-1-1Zm7.5 1V6H15v7a1 1 0 0 1-1 1H8.5Z\"}}]})(props);\n};\nexport function BsWindowStack (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM6 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a2 2 0 0 1 2 2 2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2 2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10ZM2 12V5a2 2 0 0 1 2-2h9a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1Zm1-4v5a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V8H3Zm12-1V5a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2h12Z\"}}]})(props);\n};\nexport function BsWindowX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v4a.5.5 0 0 1-1 0V7H1v5a1 1 0 0 0 1 1h5.5a.5.5 0 0 1 0 1H2a2 2 0 0 1-2-2V4Zm1 2h13V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0Z\"}}]})(props);\n};\nexport function BsWindow (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm13 2v2H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zM2 14a1 1 0 0 1-1-1V6h14v7a1 1 0 0 1-1 1H2z\"}}]})(props);\n};\nexport function BsWindows (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.555 1.375 0 2.237v5.45h6.555V1.375zM0 13.795l6.555.933V8.313H0v5.482zm7.278-5.4.026 6.378L16 16V8.395H7.278zM16 0 7.33 1.244v6.414H16V0z\"}}]})(props);\n};\nexport function BsWordpress (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.633 7.653c0-.848-.305-1.435-.566-1.892l-.08-.13c-.317-.51-.594-.958-.594-1.48 0-.63.478-1.218 1.152-1.218.02 0 .039.002.058.003l.031.003A6.838 6.838 0 0 0 8 1.137 6.855 6.855 0 0 0 2.266 4.23c.16.005.313.009.442.009.717 0 1.828-.087 1.828-.087.37-.022.414.521.044.565 0 0-.371.044-.785.065l2.5 7.434 1.5-4.506-1.07-2.929c-.369-.022-.719-.065-.719-.065-.37-.022-.326-.588.043-.566 0 0 1.134.087 1.808.087.718 0 1.83-.087 1.83-.087.37-.022.413.522.043.566 0 0-.372.043-.785.065l2.48 7.377.684-2.287.054-.173c.27-.86.469-1.495.469-2.046zM1.137 8a6.864 6.864 0 0 0 3.868 6.176L1.73 5.206A6.837 6.837 0 0 0 1.137 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.061 14.583 8.121 8.6l2.109 5.78c.014.033.03.064.049.094a6.854 6.854 0 0 1-4.218.109zm7.96-9.876c.03.219.047.453.047.706 0 .696-.13 1.479-.522 2.458l-2.096 6.06a6.86 6.86 0 0 0 2.572-9.224z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 8c0-4.411 3.589-8 8-8 4.41 0 8 3.589 8 8s-3.59 8-8 8c-4.411 0-8-3.589-8-8zm.367 0c0 4.209 3.424 7.633 7.633 7.633 4.208 0 7.632-3.424 7.632-7.633C15.632 3.79 12.208.367 8 .367 3.79.367.367 3.79.367 8z\"}}]})(props);\n};\nexport function BsWrenchAdjustableCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.705 8.139a.25.25 0 0 0-.288-.376l-1.5.5.159.474.808-.27-.595.894a.25.25 0 0 0 .287.376l.808-.27-.595.894a.25.25 0 0 0 .287.376l1.5-.5-.159-.474-.808.27.596-.894a.25.25 0 0 0-.288-.376l-.808.27.596-.894Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm-6.202-4.751 1.988-1.657a4.5 4.5 0 0 1 7.537-4.623L7.497 6.5l1 2.5 1.333 3.11c-.56.251-1.18.39-1.833.39a4.49 4.49 0 0 1-1.592-.29L4.747 14.2a7.031 7.031 0 0 1-2.949-2.951ZM12.496 8a4.491 4.491 0 0 1-1.703 3.526L9.497 8.5l2.959-1.11c.027.2.04.403.04.61Z\"}}]})(props);\n};\nexport function BsWrenchAdjustableCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.496 8a4.491 4.491 0 0 1-1.703 3.526L9.497 8.5l2.959-1.11c.027.2.04.403.04.61Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-1 0a7 7 0 1 0-13.202 3.249l1.988-1.657a4.5 4.5 0 0 1 7.537-4.623L7.497 6.5l1 2.5 1.333 3.11c-.56.251-1.18.39-1.833.39a4.49 4.49 0 0 1-1.592-.29L4.747 14.2A7 7 0 0 0 15 8Zm-8.295.139a.25.25 0 0 0-.288-.376l-1.5.5.159.474.808-.27-.595.894a.25.25 0 0 0 .287.376l.808-.27-.595.894a.25.25 0 0 0 .287.376l1.5-.5-.159-.474-.808.27.596-.894a.25.25 0 0 0-.288-.376l-.808.27.596-.894Z\"}}]})(props);\n};\nexport function BsWrenchAdjustable (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4.5a4.492 4.492 0 0 1-1.703 3.526L13 5l2.959-1.11c.027.2.041.403.041.61Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 9c.653 0 1.273-.139 1.833-.39L12 5.5 11 3l3.826-1.53A4.5 4.5 0 0 0 7.29 6.092l-6.116 5.096a2.583 2.583 0 1 0 3.638 3.638L9.908 8.71A4.49 4.49 0 0 0 11.5 9Zm-1.292-4.361-.596.893.809-.27a.25.25 0 0 1 .287.377l-.596.893.809-.27.158.475-1.5.5a.25.25 0 0 1-.287-.376l.596-.893-.809.27a.25.25 0 0 1-.287-.377l.596-.893-.809.27-.158-.475 1.5-.5a.25.25 0 0 1 .287.376ZM3 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"}}]})(props);\n};\nexport function BsWrench (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.102 2.223A3.004 3.004 0 0 0 3.78 5.897l6.341 6.252A3.003 3.003 0 0 0 13 16a3 3 0 1 0-.851-5.878L5.897 3.781A3.004 3.004 0 0 0 2.223.1l2.141 2.142L4 4l-1.757.364L.102 2.223zm13.37 9.019.528.026.287.445.445.287.026.529L15 13l-.242.471-.026.529-.445.287-.287.445-.529.026L13 15l-.471-.242-.529-.026-.287-.445-.445-.287-.026-.529L11 13l.242-.471.026-.529.445-.287.287-.445.529-.026L13 11l.471.242z\"}}]})(props);\n};\nexport function BsXCircleFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"}}]})(props);\n};\nexport function BsXCircle (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXDiamondFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.047 3.339 8 7.293l3.954-3.954L9.049.435zm3.61 3.611L8.708 8l3.954 3.954 2.904-2.905c.58-.58.58-1.519 0-2.098l-2.904-2.905zm-.706 8.614L8 8.708l-3.954 3.954 2.905 2.904c.58.58 1.519.58 2.098 0l2.905-2.904zm-8.614-.706L7.292 8 3.339 4.046.435 6.951c-.58.58-.58 1.519 0 2.098l2.904 2.905z\"}}]})(props);\n};\nexport function BsXDiamond (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.987 16a1.526 1.526 0 0 1-1.07-.448L.45 9.082a1.531 1.531 0 0 1 0-2.165L6.917.45a1.531 1.531 0 0 1 2.166 0l6.469 6.468A1.526 1.526 0 0 1 16 8.013a1.526 1.526 0 0 1-.448 1.07l-6.47 6.469A1.526 1.526 0 0 1 7.988 16zM7.639 1.17 4.766 4.044 8 7.278l3.234-3.234L8.361 1.17a.51.51 0 0 0-.722 0zM8.722 8l3.234 3.234 2.873-2.873c.2-.2.2-.523 0-.722l-2.873-2.873L8.722 8zM8 8.722l-3.234 3.234 2.873 2.873c.2.2.523.2.722 0l2.873-2.873L8 8.722zM7.278 8 4.044 4.766 1.17 7.639a.511.511 0 0 0 0 .722l2.874 2.873L7.278 8z\"}}]})(props);\n};\nexport function BsXLg (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z\"}}]})(props);\n};\nexport function BsXOctagonFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zm-6.106 4.5L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsXOctagon (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXSquareFill (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsXSquare (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsX (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXbox (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.202 15.967a7.987 7.987 0 0 1-3.552-1.26c-.898-.585-1.101-.826-1.101-1.306 0-.965 1.062-2.656 2.879-4.583C6.459 7.723 7.897 6.44 8.052 6.475c.302.068 2.718 2.423 3.622 3.531 1.43 1.753 2.088 3.189 1.754 3.829-.254.486-1.83 1.437-2.987 1.802-.954.301-2.207.429-3.239.33Zm-5.866-3.57C.589 11.253.212 10.127.03 8.497c-.06-.539-.038-.846.137-1.95.218-1.377 1.002-2.97 1.945-3.95.401-.417.437-.427.926-.263.595.2 1.23.638 2.213 1.528l.574.519-.313.385C4.056 6.553 2.52 9.086 1.94 10.653c-.315.852-.442 1.707-.306 2.063.091.24.007.15-.3-.319Zm13.101.195c.074-.36-.019-1.02-.238-1.687-.473-1.443-2.055-4.128-3.508-5.953l-.457-.575.494-.454c.646-.593 1.095-.948 1.58-1.25.381-.237.927-.448 1.161-.448.145 0 .654.528 1.065 1.104a8.372 8.372 0 0 1 1.343 3.102c.153.728.166 2.286.024 3.012a9.495 9.495 0 0 1-.6 1.893c-.179.393-.624 1.156-.82 1.404-.1.128-.1.127-.043-.148ZM7.335 1.952c-.67-.34-1.704-.705-2.276-.803a4.171 4.171 0 0 0-.759-.043c-.471.024-.45 0 .306-.358A7.778 7.778 0 0 1 6.47.128c.8-.169 2.306-.17 3.094-.005.85.18 1.853.552 2.418.9l.168.103-.385-.02c-.766-.038-1.88.27-3.078.853-.361.176-.676.316-.699.312a12.246 12.246 0 0 1-.654-.319Z\"}}]})(props);\n};\nexport function BsYelp (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m4.188 10.095.736-.17a.824.824 0 0 0 .073-.02.813.813 0 0 0 .453-1.255 1.025 1.025 0 0 0-.3-.258 2.782 2.782 0 0 0-.428-.198l-.808-.295a76.035 76.035 0 0 0-1.364-.493C2.253 7.3 2 7.208 1.783 7.14c-.041-.013-.087-.025-.124-.038a2.143 2.143 0 0 0-.606-.116.723.723 0 0 0-.572.245 1.625 1.625 0 0 0-.105.132 1.555 1.555 0 0 0-.155.309c-.15.443-.225.908-.22 1.376.002.423.013.966.246 1.334a.785.785 0 0 0 .22.24c.166.114.333.129.507.141.26.019.513-.045.764-.103l2.447-.566.003.001Zm8.219-3.911a4.185 4.185 0 0 0-.8-1.14 1.602 1.602 0 0 0-.275-.21 1.591 1.591 0 0 0-.15-.073.723.723 0 0 0-.621.031c-.142.07-.294.182-.496.37-.028.028-.063.06-.094.089-.167.156-.353.35-.574.575-.34.345-.677.691-1.01 1.042l-.598.62a2.79 2.79 0 0 0-.298.365 1 1 0 0 0-.157.364.813.813 0 0 0 .007.301c0 .005.002.009.003.013a.812.812 0 0 0 .945.616.774.774 0 0 0 .074-.014l3.185-.736c.251-.058.506-.112.732-.242.151-.088.295-.175.394-.35a.787.787 0 0 0 .093-.313c.05-.434-.178-.927-.36-1.308ZM6.706 7.523c.23-.29.23-.722.25-1.075.07-1.181.143-2.362.201-3.543.022-.448.07-.89.044-1.34-.022-.372-.025-.799-.26-1.104C6.528-.077 5.644-.033 5.04.05c-.185.025-.37.06-.553.104a7.589 7.589 0 0 0-.543.149c-.58.19-1.393.537-1.53 1.204-.078.377.106.763.249 1.107.173.417.41.792.625 1.185.57 1.036 1.15 2.066 1.728 3.097.172.308.36.697.695.857.022.01.045.018.068.025.15.057.313.068.469.032l.028-.007a.809.809 0 0 0 .377-.226.732.732 0 0 0 .053-.055Zm-.276 3.161a.737.737 0 0 0-.923-.234.976.976 0 0 0-.145.09 1.909 1.909 0 0 0-.346.354c-.026.033-.05.077-.08.104l-.512.705c-.29.395-.577.791-.861 1.193-.185.26-.346.479-.472.673l-.072.11c-.152.235-.238.406-.282.559a.73.73 0 0 0-.03.314c.013.11.05.217.108.312.031.047.064.093.1.138a1.548 1.548 0 0 0 .257.237 4.482 4.482 0 0 0 2.196.76 1.593 1.593 0 0 0 .349-.027 1.57 1.57 0 0 0 .163-.048.797.797 0 0 0 .278-.178.731.731 0 0 0 .17-.266c.059-.147.098-.335.123-.613l.012-.13c.02-.231.03-.502.045-.821.025-.49.044-.98.06-1.469l.033-.87a2.09 2.09 0 0 0-.055-.623.93.93 0 0 0-.117-.27Zm5.783 1.362a2.199 2.199 0 0 0-.498-.378l-.112-.067c-.199-.12-.438-.246-.719-.398-.43-.236-.86-.466-1.295-.695l-.767-.407c-.04-.012-.08-.04-.118-.059a1.908 1.908 0 0 0-.466-.166.993.993 0 0 0-.17-.018.738.738 0 0 0-.725.616.946.946 0 0 0 .01.293c.038.204.13.406.224.583l.41.768c.228.434.459.864.696 1.294.152.28.28.52.398.719.023.037.048.077.068.112.145.239.261.39.379.497a.73.73 0 0 0 .596.201 1.55 1.55 0 0 0 .168-.029 1.584 1.584 0 0 0 .325-.129 4.06 4.06 0 0 0 .855-.64c.306-.3.577-.63.788-1.006.03-.053.055-.109.076-.165a1.58 1.58 0 0 0 .051-.161c.013-.056.022-.111.029-.168a.792.792 0 0 0-.038-.327.73.73 0 0 0-.165-.27Z\"}}]})(props);\n};\nexport function BsYinYang (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.167 4.5a1.167 1.167 0 1 1-2.334 0 1.167 1.167 0 0 1 2.334 0Z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM1 8a7 7 0 0 1 7-7 3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 0 0 7 7 7 0 0 1-7-7Zm7 4.667a1.167 1.167 0 1 1 0-2.334 1.167 1.167 0 0 1 0 2.334Z\"}}]})(props);\n};\nexport function BsYoutube (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z\"}}]})(props);\n};\nexport function BsZoomIn (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 3a.5.5 0 0 1 .5.5V6h2.5a.5.5 0 0 1 0 1H7v2.5a.5.5 0 0 1-1 0V7H3.5a.5.5 0 0 1 0-1H6V3.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsZoomOut (props) {\n  return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\n","import type { MouseEvent } from 'react';\nimport type {\n  ChartType,\n  ChartData,\n  DefaultDataPoint,\n  ChartDataset,\n  ChartOptions,\n  Chart,\n} from 'chart.js';\n\nimport type { ForwardedRef } from './types';\n\nconst defaultDatasetIdKey = 'label';\n\nexport function reforwardRef<T>(ref: ForwardedRef<T>, value: T) {\n  if (typeof ref === 'function') {\n    ref(value);\n  } else if (ref) {\n    ref.current = value;\n  }\n}\n\nexport function setOptions<\n  TType extends ChartType = ChartType,\n  TData = DefaultDataPoint<TType>,\n  TLabel = unknown\n>(chart: Chart<TType, TData, TLabel>, nextOptions: ChartOptions<TType>) {\n  Object.assign(chart.options, nextOptions);\n}\n\nexport function setLabels<\n  TType extends ChartType = ChartType,\n  TData = DefaultDataPoint<TType>,\n  TLabel = unknown\n>(\n  currentData: ChartData<TType, TData, TLabel>,\n  nextLabels: TLabel[] | undefined\n) {\n  currentData.labels = nextLabels;\n}\n\nexport function setDatasets<\n  TType extends ChartType = ChartType,\n  TData = DefaultDataPoint<TType>,\n  TLabel = unknown\n>(\n  currentData: ChartData<TType, TData, TLabel>,\n  nextDatasets: ChartDataset<TType, TData>[],\n  datasetIdKey = defaultDatasetIdKey\n) {\n  const addedDatasets: ChartDataset<TType, TData>[] = [];\n\n  currentData.datasets = nextDatasets.map(\n    (nextDataset: Record<string, unknown>) => {\n      // given the new set, find it's current match\n      const currentDataset = currentData.datasets.find(\n        (dataset: Record<string, unknown>) =>\n          dataset[datasetIdKey] === nextDataset[datasetIdKey]\n      );\n\n      // There is no original to update, so simply add new one\n      if (\n        !currentDataset ||\n        !nextDataset.data ||\n        addedDatasets.includes(currentDataset)\n      ) {\n        return { ...nextDataset } as ChartDataset<TType, TData>;\n      }\n\n      addedDatasets.push(currentDataset);\n\n      Object.assign(currentDataset, nextDataset);\n\n      return currentDataset;\n    }\n  );\n}\n\nexport function cloneData<\n  TType extends ChartType = ChartType,\n  TData = DefaultDataPoint<TType>,\n  TLabel = unknown\n>(data: ChartData<TType, TData, TLabel>, datasetIdKey = defaultDatasetIdKey) {\n  const nextData: ChartData<TType, TData, TLabel> = {\n    labels: [],\n    datasets: [],\n  };\n\n  setLabels(nextData, data.labels);\n  setDatasets(nextData, data.datasets, datasetIdKey);\n\n  return nextData;\n}\n\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getDatasetAtEvent(\n  chart: Chart,\n  event: MouseEvent<HTMLCanvasElement>\n) {\n  return chart.getElementsAtEventForMode(\n    event.nativeEvent,\n    'dataset',\n    { intersect: true },\n    false\n  );\n}\n\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementAtEvent(\n  chart: Chart,\n  event: MouseEvent<HTMLCanvasElement>\n) {\n  return chart.getElementsAtEventForMode(\n    event.nativeEvent,\n    'nearest',\n    { intersect: true },\n    false\n  );\n}\n\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementsAtEvent(\n  chart: Chart,\n  event: MouseEvent<HTMLCanvasElement>\n) {\n  return chart.getElementsAtEventForMode(\n    event.nativeEvent,\n    'index',\n    { intersect: true },\n    false\n  );\n}\n","import React, { useEffect, useRef, forwardRef } from 'react';\nimport { Chart as ChartJS } from 'chart.js';\nimport type { ChartType, DefaultDataPoint } from 'chart.js';\n\nimport type { ForwardedRef, ChartProps, TypedChartComponent } from './types';\nimport {\n  reforwardRef,\n  cloneData,\n  setOptions,\n  setLabels,\n  setDatasets,\n} from './utils';\n\nfunction ChartComponent<\n  TType extends ChartType = ChartType,\n  TData = DefaultDataPoint<TType>,\n  TLabel = unknown\n>(\n  {\n    height = 150,\n    width = 300,\n    redraw = false,\n    datasetIdKey,\n    type,\n    data,\n    options,\n    plugins = [],\n    fallbackContent,\n    updateMode,\n    ...props\n  }: ChartProps<TType, TData, TLabel>,\n  ref: ForwardedRef<ChartJS<TType, TData, TLabel>>\n) {\n  type TypedChartJS = ChartJS<TType, TData, TLabel>;\n\n  const canvasRef = useRef<HTMLCanvasElement>(null);\n  const chartRef = useRef<TypedChartJS | null>();\n\n  const renderChart = () => {\n    if (!canvasRef.current) return;\n\n    chartRef.current = new ChartJS(canvasRef.current, {\n      type,\n      data: cloneData(data, datasetIdKey),\n      options: options && { ...options },\n      plugins,\n    });\n\n    reforwardRef(ref, chartRef.current);\n  };\n\n  const destroyChart = () => {\n    reforwardRef(ref, null);\n\n    if (chartRef.current) {\n      chartRef.current.destroy();\n      chartRef.current = null;\n    }\n  };\n\n  useEffect(() => {\n    if (!redraw && chartRef.current && options) {\n      setOptions(chartRef.current, options);\n    }\n  }, [redraw, options]);\n\n  useEffect(() => {\n    if (!redraw && chartRef.current) {\n      setLabels(chartRef.current.config.data, data.labels);\n    }\n  }, [redraw, data.labels]);\n\n  useEffect(() => {\n    if (!redraw && chartRef.current && data.datasets) {\n      setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n    }\n  }, [redraw, data.datasets]);\n\n  useEffect(() => {\n    if (!chartRef.current) return;\n\n    if (redraw) {\n      destroyChart();\n      setTimeout(renderChart);\n    } else {\n      chartRef.current.update(updateMode);\n    }\n  }, [redraw, options, data.labels, data.datasets, updateMode]);\n\n  useEffect(() => {\n    if (!chartRef.current) return;\n\n    destroyChart();\n    setTimeout(renderChart);\n  }, [type]);\n\n  useEffect(() => {\n    renderChart();\n\n    return () => destroyChart();\n  }, []);\n\n  return (\n    <canvas ref={canvasRef} role='img' height={height} width={width} {...props}>\n      {fallbackContent}\n    </canvas>\n  );\n}\n\nexport const Chart = forwardRef(ChartComponent) as TypedChartComponent;\n","import React, { forwardRef } from 'react';\nimport {\n  Chart as ChartJS,\n  LineController,\n  BarController,\n  RadarController,\n  DoughnutController,\n  PolarAreaController,\n  BubbleController,\n  PieController,\n  ScatterController,\n} from 'chart.js';\nimport type { ChartType, ChartComponentLike } from 'chart.js';\n\nimport type {\n  ChartProps,\n  ChartJSOrUndefined,\n  TypedChartComponent,\n} from './types';\nimport { Chart } from './chart';\n\nfunction createTypedChart<T extends ChartType>(\n  type: T,\n  registerables: ChartComponentLike\n) {\n  ChartJS.register(registerables);\n\n  return forwardRef<ChartJSOrUndefined<T>, Omit<ChartProps<T>, 'type'>>(\n    (props, ref) => <Chart {...props} ref={ref} type={type} />\n  ) as TypedChartComponent<T, true>;\n}\n\nexport const Line = /* #__PURE__ */ createTypedChart('line', LineController);\n\nexport const Bar = /* #__PURE__ */ createTypedChart('bar', BarController);\n\nexport const Radar = /* #__PURE__ */ createTypedChart('radar', RadarController);\n\nexport const Doughnut = /* #__PURE__ */ createTypedChart(\n  'doughnut',\n  DoughnutController\n);\n\nexport const PolarArea = /* #__PURE__ */ createTypedChart(\n  'polarArea',\n  PolarAreaController\n);\n\nexport const Bubble = /* #__PURE__ */ createTypedChart(\n  'bubble',\n  BubbleController\n);\n\nexport const Pie = /* #__PURE__ */ createTypedChart('pie', PieController);\n\nexport const Scatter = /* #__PURE__ */ createTypedChart(\n  'scatter',\n  ScatterController\n);\n","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst StaticCovidData = (props) => {\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const download_chart3=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart3')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const [lastData, setLastsData] = useState(0)\n  const [lastDatadate, setLastsDatadate] = useState(0)\n  const [last_ndeaths, setlast_ndeaths] = useState(0)\n  const [last_nrec, setlast_nrec] = useState(0)\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n\n  const [chartOptions, setChartOptions] = useState({})\n\n  const chart = () => {\n    setLoadingprosses(true)\n    let cov_nd = [];\n    let cov_data = [];\n    let cov_last_nd = [];\n    let cov_last_date = [];\n    let cov_last_ndeaths = [];\n    let cov_last_nrec = [];\n\n    let cov_ndeaths = [];\n    let cov_nd_all = [];\n    let cov_nrec = [];\n    let cov_ncrit = []\n    let cov_cumchild = []\n    let url = props.region.hr\n    axios\n    .get(url)\n    .then(res => {\n      setLoadingprosses(false)\n      setSomeerrors(false)\n      cov_last_nd.push(parseInt(res.data[res.data.length-1].new_diagnoses))\n      cov_last_date.push(res.data[res.data.length-1].date)\n      cov_last_ndeaths.push(parseInt(res.data[res.data.length-1].new_deaths)) //\n      cov_last_nrec.push(parseInt(res.data[res.data.length-1].new_recoveries))\n\n      for (const dataObj of res.data) {\n        cov_nd.push(parseInt(dataObj.new_diagnoses));\n        cov_data.push(dataObj.date);\n        cov_ndeaths.push(parseInt(dataObj.cum_deaths));\n        cov_nd_all.push(parseInt(dataObj.cum_diagnoses));\n        cov_nrec.push(parseInt(dataObj.cum_recoveries));\n        cov_ncrit.push(parseInt(dataObj.n_critical));\n        cov_cumchild.push(parseInt(dataObj.cum_children));\n      }\n      setChartData({\n        labels: cov_data,\n        datasets: [\n          {\n            label: \"новые случаи, шк.1\",\n            data: cov_nd,\n            fill: false,\n            borderColor: \"rgba(0, 191, 255, 1)\",\n            backgroundColor: \"rgba(0, 191, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'quantity'\n          },\n          {\n            label: \"летальные исходы, шк.2\",\n            data: cov_ndeaths,\n            borderColor: \"rgb(255,0,0)\",\n            backgroundColor: \"rgb(255,0,0, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'y'\n          },\n          {\n          label: \"сум. заболеваемость, шк.2\",\n          data: cov_nd_all,\n          borderColor: \"rgb(0, 0, 0)\",\n          backgroundColor: \"rgb(0, 0, 0)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          yAxisID: 'y'\n        },\n        {\n        label: \"заражения детей, шк.2\",\n        data: cov_cumchild,\n        borderColor: \"rgb(255, 192, 203)\",\n        backgroundColor: \"rgb(255, 192, 203)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'y'\n      },\n        {\n        label: \"выздоровления, шк.2\",\n        data: cov_nrec,\n        borderColor: \"rgb(252,141,214)\",\n        backgroundColor: \"rgb(252,141,214)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'y'\n      },\n      {\n        label: \"критические, шк.1\",\n        data: cov_ncrit,\n        borderColor: \"rgb(128, 0, 255)\",\n        backgroundColor: \"rgb(128,0,255)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'quantity'\n      },\n        ],\n      });\n\n      setChartOptions({\n         maintainAspectRatio : false,\n        responsive: true,\n        plugins: {\n          zoom: {\n            pan: {\n              enabled: true,\n              mode: 'xy',\n            },\n           zoom: {\n             wheel: {\n               enabled: true,\n               speed: 0.1,\n             },\n             drag: {\n              enabled: true,\n            },\n             pan: {enabled: true},\n             pinch: {\n               enabled: true\n             },\n             mode: 'xy',\n           },\n        },\n          legend: {\n            position: \"top\",\n          },\n          title: {\n            display: true,\n            text: \"Статистические данные\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'шкала 1'\n            },\n            position:'left',\n            type: 'linear',\n          },\n          y: {\n            title: {\n              display: true,\n              text: 'шкала 2'\n            },\n            position:'right',\n            beginAtZero: true,\n            type: 'linear',\n            grid: {\n              drawOnChartArea: false\n            }\n          }\n        }\n      });\n      setLastsData(cov_last_nd)\n      setLastsDatadate(cov_last_date)\n      setlast_ndeaths(cov_last_ndeaths)\n      setlast_nrec(cov_last_nrec)\n    })\n    .catch(err => {\n      setLoadingprosses(false)\n      setSomeerrors(true)\n      console.log(err);\n    });\n  };\n\n  useEffect(() => {\n    chart();\n  }, [])\n\n  const [loadingprosses, setLoadingprosses] = useState(true)\n  const [someerrors, setSomeerrors] = useState(false)\n\n  const lasts = [\n    {id: 1, lastData: lastData, lastDatadate: lastDatadate, name: \"случаев заражения\"},\n    {id: 2, lastData: last_nrec, lastDatadate: lastDatadate, name: \"случаев выздоровления\"},\n    {id: 3, lastData: last_ndeaths, lastDatadate: lastDatadate, name: \"летальных исходов\"},\n  ]\n\n  return (\n    <Tab.Pane eventKey={props.region.eventKey}>\n      <div className=\"mx-3 my-3\">\n      <div>\n      <Container>\n        <Row style={{\n                width: \"100%\" }}>\n                {lasts.map((last,index) =>\n                    <MSCDItem initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05}}\n                       custom={index + 1}\n                      variants={variants} key = {last.id} last = {last}/>\n                )}\n        </Row>\n      </Container>\n    <div  align=\"center\" className =\"my-4\">\n    <Row className=\"my-2\">\n      <Col  xs={12} sm={9}>\n     </Col>\n    <Col xs={12} sm={3}>\n    <motion.div initial=\"hidden\"\n         custom={2}\n        variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n      </OverlayTrigger>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n      </OverlayTrigger>\n       <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={chart}><BsZoomOut/></Button>\n      <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart3(e)}><FiDownload/></Button>\n      </motion.div>\n    </Col>\n    </Row>\n    {loadingprosses ? <div style={{\n            height: '400px'}}><Spinner relative=\"true\" style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n    someerrors ?  <div style={{\n            height: '350px' }}><Alert relative=\"true\" variant=\"danger\" className=\"my-5\"> <Alert.Heading>Ошибка загрузки</Alert.Heading>\n    Сервер временно не отвечает, пожалуйста, <Alert.Link href=\"/modeling\">обновите страницу</Alert.Link> или повторите попытку позже.\n    <hr /> </Alert> </div> :\n    <div style={{ height: '25rem' }}><Line id=\"chart3\" data={chartData} options={chartOptions}  height=\"90%\" /></div> }\n\n\n     </div>\n    </div>\n    </div>\n  </Tab.Pane>\n  );\n};\nexport default StaticCovidData;\n","import React, {useState} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport NaviBarv2 from './Components/NaviBarv2';\nimport Footer from './Components/Footer'\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\nimport StaticCovidData from './Components/StaticCovidData'\nimport { useSearchParams } from \"react-router-dom\";\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 30,\n },\n}\nconst getRegionData = (id, hr, eventKey, title, title2, district, center, population, area, density) => ({ id, hr, eventKey, title, title2, district, center, population, area, density });\n\nconst regions = [\n // getRegionData(1, \"http://localhost:4000/api/csvCovid/nd\", \"nd\", \"Новосибирская область\", \"Белгородская область белгородская область\",\"Центральный федеральный округ\",\"Белгород\", \"1 514 500 ч.\", \"27 100 км²\", \"55,31 чел./км²\"),\n // getRegionData(2, \"http://localhost:4000/api/csvCovid/altay\", \"altay\", \"Алтайский край\", \"Брянская область брянская область\",\"Центральный федеральный округ\",\"Брянск\", \"1 168 800 ч.\", \"34 900 км²\", \"32,77 чел./км²\"),\n // getRegionData(3, \"http://localhost:4000/api/csvCovid/omsk\", \"omsk\", \"Омская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n // getRegionData(4, \"http://localhost:4000/api/csvCovid/tomsk\", \"tomsk\", \"Томская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n  getRegionData(1, \"https://server.ai-biolab.ru/api/csvCovid/belgorod\", \"belgorod\", \"Белгородская область\", \"Белгородская область белгородская область\",\"Центральный федеральный округ\",\"Белгород\", \"1 514 500 ч.\", \"27 100 км²\", \"55,31 чел./км²\"),\n  getRegionData(2, \"https://server.ai-biolab.ru/api/csvCovid/bryansk\", \"bryansk\", \"Брянская область\", \"Брянская область брянская область\",\"Центральный федеральный округ\",\"Брянск\", \"1 168 800 ч.\", \"34 900 км²\", \"32,77 чел./км²\"),\n  getRegionData(3, \"https://server.ai-biolab.ru/api/csvCovid/vladimir\", \"vladimir\", \"Владимирская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n  getRegionData(4, \"https://server.ai-biolab.ru/api/csvCovid/voronezh\", \"voronezh\", \"Воронежская область\", \"Воронежская область воронежская область\",\"Центральный федеральный округ\",\"Воронеж\", \"2 273 417 ч.\", \"52 216 км²\", \"43,54 чел./км²\"),\n  getRegionData(5, \"https://server.ai-biolab.ru/api/csvCovid/ivanovsk\", \"ivanovsk\", \"Ивановская область\", \"Ивановская область ивановская область\",\"Центральный федеральный округ\",\"Иваново\", \"905 900 ч.\", \"21 437 км²\", \"42,26 чел./км²\"),\n  getRegionData(6, \"https://server.ai-biolab.ru/api/csvCovid/kaluga\", \"kaluga\", \"Калужская область\", \"Калужская область калужская область\",\"Центральный федеральный округ\",\"Калуга\", \"1 068 410 ч.\", \"29 777 км²\", \"35,88 чел./км²\"),\n  getRegionData(7, \"https://server.ai-biolab.ru/api/csvCovid/kostroma\", \"kostroma\", \"Костромская область\", \"Костромская область костромская область\",\"Центральный федеральный округ\",\"Кострома\", \"566 266 ч.\", \"60 211 км²\", \"9,4 чел./км²\"),\n  getRegionData(8, \"https://server.ai-biolab.ru/api/csvCovid/kursk\", \"kursk\", \"Курская область\", \"Курская область курская область\",\"Центральный федеральный округ\",\"Курск\", \"1 060 892 ч.\", \"29 997 км²\", \"35,37 чел./км²\"),\n  getRegionData(9, \"https://server.ai-biolab.ru/api/csvCovid/lipeck\", \"lipeck\", \"Липецкая область\", \"Липецкая область липецкая область\",\"Центральный федеральный округ\",\"Липецк\", \"1 116 265 ч.\", \"24 047 км²\", \"46,42 чел./км²\"),\n  getRegionData(10, \"https://server.ai-biolab.ru/api/csvCovid/moscow\", \"moscow\", \"Московская область\", \"Московская область московская область\",\"Центральный федеральный округ\",\"Москва\", \"8 651 260 ч.\", \"44 329 км²\", \"195,16 чел./км²\"),\n  getRegionData(11, \"https://server.ai-biolab.ru/api/csvCovid/orel\", \"orel\", \"Орловская область\", \"Орловская область орловская область\",\"Центральный федеральный округ\",\"Орёл\", \"724 686 ч.\", \"24 700 км²\", \"29,4 чел./км²\"),\n  getRegionData(12, \"https://server.ai-biolab.ru/api/csvCovid/ryazun\", \"ryazun\", \"Рязанская область\", \"Рязанская область рязанская область\",\"Центральный федеральный округ\",\"Рязань\", \"1 082 231 ч.\", \"44 329 км²\", \"27,33 чел./км²\"),\n  getRegionData(13, \"https://server.ai-biolab.ru/api/csvCovid/smolensk\", \"smolensk\", \"Смоленская область\", \"Смоленская область смоленская область\",\"Центральный федеральный округ\",\"Смоленск\", \"863 987 ч.\", \"49 779 км²\", \"17,36 чел./км²\"),\n  getRegionData(14, \"https://server.ai-biolab.ru/api/csvCovid/tambov\", \"tambov\", \"Тамбовская область\", \"Тамбовская область тамбовская область\",\"Центральный федеральный округ\",\"Тамбов\", \"956 292 ч.\", \"34 462 км²\", \"27,75 чел./км²\"),\n  getRegionData(15, \"https://server.ai-biolab.ru/api/csvCovid/tver\", \"tver\", \"Тверская область\", \"Тверская область тверская область\",\"Центральный федеральный округ\",\"Тверь\", \"1 199 747 ч.\", \"84 100 км²\", \"14,25 чел./км²\"),\n  getRegionData(16, \"https://server.ai-biolab.ru/api/csvCovid/tula\", \"tula\", \"Тульская область\", \"Тульская область тульская область\",\"Центральный федеральный округ\",\"Тула\", \"1 471 140 ч.\", \"25 679 км²\", \"57,29 чел./км²\"),\n  getRegionData(17, \"https://server.ai-biolab.ru/api/csvCovid/yaroslavl\", \"yaroslavl\", \"Ярославская область\", \"Ярославская область ярославская область\",\"Центральный федеральный округ\",\"Ярославль\", \"1 187 558 ч.\", \"36 400 км²\", \"32,83 чел./км²\"),\n  getRegionData(18, \"https://server.ai-biolab.ru/api/csvCovid/kareliya\", \"kareliya\", \"Республика Карелия\", \"Республика Карелия республика карелия\",\"Северо-Западный федеральный округ\",\"Петразаводск\", \"523 856 ч.\", \"172 400 км²\", \"2,9 чел./км²\"),\n  getRegionData(19, \"https://server.ai-biolab.ru/api/csvCovid/komi\", \"komi\", \"Республика Коми\", \"Республика Коми республика коми\",\"Северо-Западный федеральный округ\",\"Сыктывкар\", \"720 610 ч.\", \"415 900 км²\", \"1,73 чел./км²\"),\n  getRegionData(20, \"https://server.ai-biolab.ru/api/csvCovid/arhangelsk\", \"arhangelsk\", \"Архангельская область\", \"Архангельская область архангельская область\",\"Северо-Западный федеральный округ\",\"Архангельск\", \"998 072 ч.\", \"587 400 км²\", \"1,69 чел./км²\"),\n  getRegionData(21, \"https://server.ai-biolab.ru/api/csvCovid/vologda\", \"vologda\", \"Вологодская область\", \"Вологодская область вологодская область\",\"Северо-Западный федеральный округ\",\"Вологда\", \"1 121 343 ч.\", \"144 527 км²\", \"8,5 чел./км²\"),\n  getRegionData(22, \"https://server.ai-biolab.ru/api/csvCovid/kaliningrad\", \"kaliningrad\", \"Калининградская область\", \"Калининградская область калининградская область\",\"Северо-Западный федеральный округ\",\"Калининград\", \"1 033 914 ч.\", \"15 125 км²\", \"68,36 чел./км²\"),\n  getRegionData(23, \"https://server.ai-biolab.ru/api/csvCovid/leningrad\", \"leningrad\", \"Ленинградская область\", \"Ленинградская область ленинградская область\",\"Северо-Западный федеральный округ\",\"Гатчина\", \"2 035 762 ч.\", \"83 908 км²\", \"24,26 чел./км²\"),\n  getRegionData(24, \"https://server.ai-biolab.ru/api/csvCovid/murmansk\", \"murmansk\", \"Мурманская область\", \"Мурманская область мурманская область\",\"Северо-Западный федеральный округ\",\"Мурманск\", \"656 438 ч.\", \"144 902 км²\", \"4,53 чел./км²\"),\n  getRegionData(25, \"https://server.ai-biolab.ru/api/csvCovid/novgorod\", \"novgorod\", \"Новгородская область\", \"Новгородская область новгородская область\",\"Северо-Западный федеральный округ\",\"Великий Новгород\", \"571 447 ч.\", \"54 501 км²\", \"10,49 чел./км²\"),\n  getRegionData(26, \"https://server.ai-biolab.ru/api/csvCovid/pskov\", \"pskov\", \"Псковская область\", \"Псковская область псковская область\",\"Северо-Западный федеральный округ\",\"Псков\", \"581 147 ч.\", \"55 399 км²\", \"10,49 чел./км²\"),\n  getRegionData(27, \"https://server.ai-biolab.ru/api/csvCovid/adygea\", \"adygea\", \"Республика Адыгея\", \"Республика Адыгея республика адыгея\",\"Южный федеральный округ\",\"Майкоп\", \"500 591 ч.\", \"7 792 км²\", \"64,24 чел./км²\"),\n  getRegionData(28, \"https://server.ai-biolab.ru/api/csvCovid/kalmykia\", \"kalmykia\", \"Республика Калмыкия\", \"Республика Калмыкия республика калмыкия\",\"Южный федеральный округ\",\"Элиста\", \"266 770 ч.\", \"74 731 км²\", \"5,57 чел./км²\"),\n  getRegionData(29, \"https://server.ai-biolab.ru/api/csvCovid/krasnodar\", \"krasnodar\", \"Краснодарский край\", \"Краснодарский край краснодарский край\",\"Южный федеральный округ\",\"Краснодар\", \"5 833 002 ч.\", \"76 005 км²\", \"77,27 чел./км²\"),\n  getRegionData(30, \"https://server.ai-biolab.ru/api/csvCovid/volgograd\", \"volgograd\", \"Волгоградская область\", \"Волгоградская область волгоградская область\",\"Южный федеральный округ\",\"Волгоград\", \"2 453 898 ч.\", \"113 900 км²\", \"21,74 чел./км²\"),\n  getRegionData(31, \"https://server.ai-biolab.ru/api/csvCovid/rostov\", \"rostov\", \"Ростовская область\", \"Ростовская область ростовская область\",\"Южный федеральный округ\",\"Ростов\", \"4 152 518 ч.\", \"100 967 км²\", \"41,13 чел./км²\"),\n  getRegionData(32, \"https://server.ai-biolab.ru/api/csvCovid/dagestan\", \"dagestan\", \"Республика Дагестан\", \"Республика Дагестан республика дагестан\",\"Южный федеральный округ\",\"Махачкала\", \"3 232 224 ч.\", \"50 270 км²\", \"64,3 чел./км²\"),\n  getRegionData(33, \"https://server.ai-biolab.ru/api/csvCovid/ingushetia\", \"ingushetia\", \"Республика Ингушетия\", \"Республика Ингушетия республика ингушетия\",\"Южный федеральный округ\",\"Магас\", \"509 541 ч.\", \"3 685 км²\", \"147,7 чел./км²\"),\n  getRegionData(34, \"https://server.ai-biolab.ru/api/csvCovid/kabarbalkar\", \"kabarbalkar\", \"Кабардино-Балкарская Республика\", \"Кабардино-Балкарская Республика кабардино-балкарская республик\",\"Южный федеральный округ\",\"Нальчик\", \"905 464 ч.\", \"76 005 км²\", \"72,61 чел./км²\"),\n  getRegionData(35, \"https://server.ai-biolab.ru/api/csvCovid/karcherk\", \"karcherk\", \"Карачаево-Черкесская Республика\", \"Карачаево-Черкесская Республика карачаево-черкесская республика\",\"Южный федеральный округ\",\"Черкесск\", \"468 322 ч.\", \"14 100 км²\", \"32,8 чел./км²\"),\n  getRegionData(36, \"https://server.ai-biolab.ru/api/csvCovid/sevosetiaalania\", \"sevosetiaalania\", \"Республика Северная Осетия-Алания\", \"Республика Северная Осетия-Алания республика северная осетия-алания\",\"Северо-Кавказский федеральный округ\",\"Владикавказ\", \"678 879 ч.\", \"8 000 км²\", \"85,00 чел./км²\"),\n  getRegionData(37, \"https://server.ai-biolab.ru/api/csvCovid/chechnya\", \"chechnya\", \"Чеченская республика\", \"Чеченская республика чеченская республика\",\"Северо-Кавказский федеральный округ\",\"Грозный\", \"1 552 866 ч.\", \"16 171 км²\", \"96,03 чел./км²\"),\n  getRegionData(38, \"https://server.ai-biolab.ru/api/csvCovid/stavrapol\", \"stavrapol\", \"Ставропольский край\", \"Ставропольский край ставропольский край\",\"Северо-Кавказский федеральный округ\",\"Ставрополь\", \"2 886 108 ч.\", \"66 160 км²\", \"43,62 чел./км²\"),\n  getRegionData(39, \"https://server.ai-biolab.ru/api/csvCovid/bashkortostan\", \"bashkortostan\", \"Республика Башкортостан\", \"Республика Башкортастан республика башкортастан\",\"Приволжский федеральный округ\",\"Уфа\", \"4 064 361 ч.\", \"142 947 км²\", \"28,4 чел./км²\"),\n  getRegionData(40, \"https://server.ai-biolab.ru/api/csvCovid/maryal\", \"maryal\", \"Республика Марий Эл\", \"Республика Марий Эл республика марий эл\",\"Приволжский федеральный округ\",\"Йошкар-Ола\", \"696 459 ч.\", \"23 375 км²\", \"29,5 чел./км²\"),\n  getRegionData(41, \"https://server.ai-biolab.ru/api/csvCovid/mordovia\", \"mordovia\", \"Республика Мордовия\", \"Республика Мордовия республика мордовия\",\"Приволжский федеральный округ\",\"Саранск\", \"765 891  ч.\", \"26 128 км²\", \"29,31 чел./км²\"),\n  getRegionData(42, \"https://server.ai-biolab.ru/api/csvCovid/tatarstan\", \"tatarstan\", \"Республика Татарстан\", \"Республика Татарстан республика татарстан\",\"Приволжский федеральный округ\",\"Казань\", \"4 003 016 ч.\", \"67 847 км²\", \"56,57 чел./км²\"),\n  getRegionData(43, \"https://server.ai-biolab.ru/api/csvCovid/udmurtia\", \"udmurtia\", \"Удмуртская Республика\", \"Удмуртская Республика удмуртская республика\",\"Приволжский федеральный округ\",\"Ижевск\", \"1 434 557  ч.\", \"42 061 км²\", \"34,11 чел./км²\"),\n  getRegionData(44, \"https://server.ai-biolab.ru/api/csvCovid/chuvashia\", \"chuvashia\", \"Чувашская Республика\", \"Чувашская Республика чувашская республика\",\"Приволжский федеральный округ\",\"Чебоксары\", \"1 167 061 ч.\", \"18 343 км²\", \"63,62 чел./км²\"),\n  getRegionData(45, \"https://server.ai-biolab.ru/api/csvCovid/perm\", \"perm\", \"Пермский край\", \"Пермский край пермский край\",\"Приволжский федеральный округ\",\"Пермь\", \"2 495 266 ч.\", \"160 236 км²\", \"15,57 чел./км²\"),\n  getRegionData(46, \"https://server.ai-biolab.ru/api/csvCovid/kirov\", \"kirov\", \"Кировская область\", \"Кировская область кировская область\",\"Северо-Кавказский федеральный округ\",\"Киров\", \"1 129 935 ч.\", \"120 400 км²\", \"9,39 чел./км²\"),\n  getRegionData(47, \"https://server.ai-biolab.ru/api/csvCovid/nizhniynovgorod\", \"nizhniynovgorod\", \"Нижегородская область\", \"Нижегородская область нижегородская область\",\"Северо-Кавказский федеральный округ\",\"Нижний Новгород\", \"3 060 335 ч.\", \"76 624 км²\", \"39,94 чел./км²\"),\n  getRegionData(48, \"https://server.ai-biolab.ru/api/csvCovid/orenburg\", \"orenburg\", \"Оренбургская область\", \"Оренбургская область оренбургская область\",\"Северо-Кавказский федеральный округ\",\"Оренбург\", \"1 828 656 ч.\", \"123 702 км²\", \"14,78 чел./км²\"),\n  getRegionData(49, \"https://server.ai-biolab.ru/api/csvCovid/penza\", \"penza\", \"Пензенская область\", \"Пензенская область пензенская область\",\"Приволжский федеральный округ\",\"Пенза\", \"1 236 113 ч.\", \"43 352 км²\", \"28,51 чел./км²\"),\n  getRegionData(50, \"https://server.ai-biolab.ru/api/csvCovid/samara\", \"samara\", \"Самарская область\", \"Самарская область самарская область\",\"Приволжский федеральный округ\",\"Самара\", \"3 127 842 ч.\", \"53 565 км²\", \"58,39 чел./км²\"),\n  getRegionData(51, \"https://server.ai-biolab.ru/api/csvCovid/saratov\", \"saratov\", \"Саратовская область\", \"Саратовская область саратовская область\",\"Приволжский федеральный округ\",\"Саратов\", \"2 385 163  ч.\", \"101 240 км²\", \"23,56 чел./км²\"),\n  getRegionData(52, \"https://server.ai-biolab.ru/api/csvCovid/ulyanovsk\", \"ulyanovsk\", \"Ульяновская область\", \"Ульяновская область ульяновская область\",\"Приволжский федеральный округ\",\"Ульяновск\", \"1 172 782 ч.\", \"37 181 км²\", \"31,54 чел./км²\"),\n  getRegionData(53, \"https://server.ai-biolab.ru/api/csvCovid/kurgan\", \"kurgan\", \"Курганская область\", \"Курганская область курганская область\",\"Уральский федеральный округ\",\"Курган\", \"753 002  ч.\", \"71 488 км²\", \"10,53 чел./км²\"),\n  getRegionData(54, \"https://server.ai-biolab.ru/api/csvCovid/sverdlov\", \"sverdlov\", \"Свердловская область\", \"Свердловская область свердловская область\",\"Уральский федеральный округ\",\"Екатеринбург\", \"4 222 695 ч.\", \"194 226 км²\", \"21,73 чел./км²\"),\n  getRegionData(55, \"https://server.ai-biolab.ru/api/csvCovid/tumen\", \"tumen\", \"Тюменская область\", \"Тюменская область тюменская область\",\"Уральский федеральный округ\",\"Тюмень\", \"3 890 800 ч.\", \"160 122 км²\", \"2,66 чел./км²\"),\n  getRegionData(56, \"https://server.ai-biolab.ru/api/csvCovid/chelyabinsk\", \"chelyabinsk\", \"Челябинская область\", \"Челябинская область челябинская область\",\"Уральский федеральный округ\",\"Челябинск\", \"3 395 798 ч.\", \"88 529 км²\", \"38,36 чел./км²\"),\n  getRegionData(57, \"https://server.ai-biolab.ru/api/csvCovid/respaltay\", \"respaltay\", \"Республика Алтай\", \"Республика Алтай республика алтай\",\"Сибирский федеральный округ\",\"Горно-Алтайск\", \"210 765 ч.\", \"92 903 км²\", \"2,27 чел./км²\"),\n  getRegionData(58, \"https://server.ai-biolab.ru/api/csvCovid/resptyva\", \"resptyva\", \"Республика Тыва\", \"Республика Тыва республика тыва\",\"Сибирский федеральный округ\",\"Кызыл\", \"337 544 ч.\", \"168 604 км²\", \"2,0 чел./км²\"),\n  getRegionData(59, \"https://server.ai-biolab.ru/api/csvCovid/resphakasia\", \"resphakasia\", \"Республика Хакасия\", \"Республика Хакасия республика хакасия\",\"Сибирский федеральный округ\",\"Абакан\", \"528 175 ч.\", \"61 569 км²\", \"8,58 чел./км²\"),\n  getRegionData(60, \"https://server.ai-biolab.ru/api/csvCovid/altay\", \"altay\", \"Алтайский край\" , \"Алтайский край алтайский край\",\"Сибирский федеральный округ\",\"Барнаул\", \"2 268 179 ч.\", \"167 996 км²\", \"13,5 чел./км²\"),\n  getRegionData(61, \"https://server.ai-biolab.ru/api/csvCovid/krasnoyarsk\", \"krasnoyarsk\", \"Красноярский край\", \"Красноярский край красноярский край\",\"Сибирский федеральный округ\",\"Красноярск\", \"2 846 120 ч.\", \"2 366 797  км²\", \"1,2 чел./км²\"),\n  getRegionData(62, \"https://server.ai-biolab.ru/api/csvCovid/irkutsk\", \"irkutsk\", \"Иркутская область\", \"Иркутская область иркутская область\",\"Сибирский федеральный округ\",\"Иркутск\", \"2 330 537 ч.\", \"774 846 км²\", \"3,01 чел./км²\"),\n  getRegionData(63, \"https://server.ai-biolab.ru/api/csvCovid/kemerovo\", \"kemerovo\", \"Кемеровская область\", \"Кемеровская область кемеровская область\",\"Сибирский федеральный округ\",\"Кемерово\", \"2 547 684 ч.\", \"95 725 км²\", \"26,61 чел./км²\"),\n  getRegionData(64, \"https://server.ai-biolab.ru/api/csvCovid/novosibirsk\", \"novosibirsk\", \"Новосибирская область\", \"Новосибирская область новосибирская область\",\"Сибирский федеральный округ\",\"Новосибирск\", \"2 779 375 ч.\", \"177 756 км²\", \"15,64 чел./км²\"),\n  getRegionData(65, \"https://server.ai-biolab.ru/api/csvCovid/omsk\", \"omsk\", \"Омская область\", \"Омская область омская область\",\"Сибирский федеральный округ\",\"Омск\", \"1 879 548 ч.\", \"141 140 км²\", \"13,32 чел./км²\"),\n  getRegionData(66, \"https://server.ai-biolab.ru/api/csvCovid/tomsk\", \"tomsk\", \"Томская область\", \"Томская область томская область\",\"Сибирский федеральный округ\",\"Томск\", \"1 043 385 ч.\", \"314 391 км²\", \"3,32 чел./км²\"),\n  getRegionData(67, \"https://server.ai-biolab.ru/api/csvCovid/buryatia\", \"buryatia\", \"Республика Бурятия\", \"Республика Бурятия республика бурятия\",\"Дальневосточный федеральный округ\",\"Улан-Удэ\", \"971 922 ч.\", \"351 334 км²\", \"2,73 чел./км²\"),\n  getRegionData(68, \"https://server.ai-biolab.ru/api/csvCovid/saha\", \"saha\", \"Республика Саха\", \"Республика Саха республика саха\",\"Дальневосточный федеральный округ\",\"Якутск\", \"1 001 664 ч.\", \"3 083 523 км²\", \"0,32 чел./км²\"),\n  getRegionData(69, \"https://server.ai-biolab.ru/api/csvCovid/zabaikalsky\", \"zabaikalsky\", \"Забайкальский край\", \"Забайкальский край забайкальский край\",\"Дальневосточный федеральный округ\",\"Чита\", \"984 395 ч.\", \"168 604 км²\", \"2,28 чел./км²\"),\n  getRegionData(70, \"https://server.ai-biolab.ru/api/csvCovid/kamchatsky\", \"kamchatsky\", \"Камчатский край\", \"Камчатский край камчатский край\",\"Дальневосточный федеральный округ\",\"Петропавловск-Камчатский\", \"288 947 ч.\", \"464 300 км²\", \"0,62 чел./км²\"),\n  getRegionData(71, \"https://server.ai-biolab.ru/api/csvCovid/primorsk\", \"primorsk\", \"Приморский край\" , \"Приморский край приморский край\",\"Дальневосточный федеральный округ\",\"Владивосток\", \"1 806 393 ч.\", \"164 673 км²\", \"10,97 чел./км²\"),\n  getRegionData(72, \"https://server.ai-biolab.ru/api/csvCovid/habarovsk\", \"habarovsk\", \"Хабаровский край\", \"Хабаровский край хабаровский край\",\"Дальневосточный федеральный округ\",\"Хабаровск\", \"1 278 132 ч.\", \"787 633  км²\", \"1,62 чел./км²\"),\n  getRegionData(73, \"https://server.ai-biolab.ru/api/csvCovid/amursk\", \"amursk\", \"Амурская область\", \"Амурская область амурская область\",\"Дальневосточный федеральный округ\",\"Благовещенск\", \"750 083 ч.\", \"361 908 км²\", \"2,20 чел./км²\"),\n  getRegionData(74, \"https://server.ai-biolab.ru/api/csvCovid/magadan\", \"magadan\", \"Магаданская область\", \"Магаданская область магаданская область\",\"Дальневосточный федеральный округ\",\"Магадан\", \"133 387 ч.\", \"462 464 км²\", \"0,29 чел./км²\"),\n  getRegionData(75, \"https://server.ai-biolab.ru/api/csvCovid/sahalin\", \"sahalin\", \"Сахалинская область\", \"Сахалинская область сахалинская область\",\"Дальневосточный федеральный округ\",\"Южно-Сахалинск\", \"457 590 ч.\", \"87 101 км²\", \"5,25 чел./км²\"),\n  getRegionData(76, \"https://server.ai-biolab.ru/api/csvCovid/evreiskaya\", \"evreiskaya\", \"Еврейская автономная область\", \"Еврейская автономная область еврейская автономная область\",\"Дальневосточный федеральный округ\",\"Биробиджан\", \"145 802 ч.\", \"36 300 км²\", \"4,02 чел./км²\"),\n  getRegionData(77, \"https://server.ai-biolab.ru/api/csvCovid/chukotsk\", \"chukotsk\", \"Чукотский автономный округ\", \"Чукотский автономный округ чукотский автономный округ\",\"Дальневосточный федеральный округ\",\"Анадырь\", \"48 029 ч.\", \"721 481 км²\", \"0,07 чел./км²\"),\n]\nexport function Covid(){\n  const [searchParams, setSearchParams] = useSearchParams();\n  const postQuery = searchParams.get('post') || '';\n  const [noResults, setNoResults] = useState(false);\n  const [showAllRegions, setShowAllRegions] = useState(false);\n\n  const handleSubmit = (e) => {\n    e.preventDefault();\n    const query = e.target.search.value;\n    setSearchParams({ post: query });\n  };\n\n  const filteredRegions = regions.filter(region => region.title2.includes(postQuery));\n\n  React.useEffect(() => {\n    setNoResults(filteredRegions.length === 0 );\n  }, [filteredRegions]);\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container className=\"my-3\" style={{ height: \"120%\", width: \"100%\" }}>\n        <Container>\n          <motion.h3\n            initial=\"hidden\"\n            custom={1}\n            variants={variants}\n            whileInView=\"visible\"\n            viewport={{ amount: 0.1, once: true }}\n            className=\"my-3 text-secondary\"\n          >\n            <div>\n              <h4 className=\"mx-5 text-secondary\">Коронавирус</h4>\n            </div>\n            <hr />\n            <form className=\"form\" autoComplete=\"off\" onSubmit={handleSubmit}>\n              <input type=\"search\" name=\"search\" />\n              <input type=\"submit\" value=\"Поиск\" />\n            </form>\n          </motion.h3>\n        </Container>\n        <Button className=\"my-2 all-region\" onClick={() => setShowAllRegions(!showAllRegions)}>\n        {showAllRegions ? \"Скрыть регионы\" : \"Показать все регионы\"}\n      </Button>\n        {noResults && (\n          <div className=\"text-center text-danger my-3\">\n            По вашему запросу регион не найден\n          </div>\n        )}\n              \n        <Tab.Container id=\"left-tabs-example\" defaultActiveKey={filteredRegions.length > 0 ? filteredRegions[0].eventKey : \"\"}>\n          <div className=\"horizontal-scroll\">\n            <Nav variant=\"pills\" defaultActiveKey=\"/home\" className=\"d-flex\">\n              {showAllRegions ?\n                filteredRegions.map((region, index) => (\n                  <Nav.Item key={region.id} className=\"region-button\">\n                    <OverlayTrigger\n                      placement=\"bottom\"\n                      overlay={\n                        <Popover>\n                          <Popover.Body>\n                            <div>{region.district}</div>\n                            <div>Административный центр — город {region.center}</div>\n                            <div>Население: {region.population}</div>\n                            <div>Площадь: {region.area}</div>\n                            <div>Плотность: {region.density}</div>\n                          </Popover.Body>\n                        </Popover>\n                      }\n                    >\n                      <motion.div\n                        initial=\"hidden\"\n                        custom={index + 1}\n                        variants={variants}\n                        whileInView=\"visible\"\n                        viewport={{ amount: 0.1, once: true }}\n                      >\n                        <Button\n                          className=\"shadow3\"\n                          size=\"sm\"\n                          variant=\"outline-info\"\n                          style={{ color: \"#FFFFFF\" }}\n                        >\n                          <Nav.Link eventKey={region.eventKey}>\n                            {region.title}\n                          </Nav.Link>\n                        </Button>\n                      </motion.div>\n                    </OverlayTrigger>\n                  </Nav.Item>\n                )) :\n                <Nav.Item key={filteredRegions[0].id} className=\"region-button\">\n                  {/* Отображаем только первый регион */}\n                </Nav.Item>\n              }\n            </Nav>\n          </div>\n          <Tab.Content>\n            {filteredRegions.map(region => (\n              <StaticCovidData key={region.id} region={region} />\n            ))}\n          </Tab.Content>\n        </Tab.Container>\n      </Container>\n      <Footer />\n    </>\n  );\n}\n","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst StaticTubData = (props) => {\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const download_chart3=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart3')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const [lastDatadate, setLastsDatadate] = useState(0)\n  const [lastData, setLastsData] = useState(0)\n  const [last_ndeaths, setlast_ndeaths] = useState(0)\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n\n  const [chartOptions, setChartOptions] = useState({})\n\n  const chart = () => {\n    setLoadingprosses(true)\n    let tub_nd = [];\n    let tub_data = [];\n    let tub_last_ndeaths = [];\n    let tub_last_nd = [];\n    let tub_last_date = [];\n    let tub_ndeaths = [];\n\n    let url = props.region.hr\n    axios\n    .get(url)\n    .then(res => {\n      setLoadingprosses(false)\n      setSomeerrors(false)\n      tub_last_nd.push(parseInt(res.data[res.data.length-1].diagnoses))\n      tub_last_ndeaths.push(parseInt(res.data[res.data.length-1].deaths)) //\n      tub_last_date.push(res.data[res.data.length-1].date)\n            for (const dataObj of res.data) {\n        tub_nd.push(parseInt(dataObj.diagnoses));\n        tub_data.push(dataObj.date);\n        tub_ndeaths.push(parseInt(dataObj.deaths));\n      }\n      setChartData({\n        labels: tub_data,\n        datasets: [\n          {\n            label: \"новые случаи, шк.1\",\n            data: tub_nd,\n            fill: false,\n            borderColor: \"rgba(0, 191, 255, 1)\",\n            backgroundColor: \"rgba(0, 191, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'quantity'\n          },\n          \n      {\n        label: \"летальные исходы, шк.1\",\n        data: tub_ndeaths,\n        borderColor: \"rgb(128, 0, 255)\",\n        backgroundColor: \"rgb(128,0,255)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'quantity'\n      },\n        ],\n      });\n\n      setChartOptions({\n         maintainAspectRatio : false,\n        responsive: true,\n        plugins: {\n          zoom: {\n            pan: {\n              enabled: true,\n              mode: 'xy',\n            },\n           zoom: {\n             wheel: {\n               enabled: true,\n               speed: 0.1,\n             },\n             drag: {\n              enabled: true,\n            },\n             pan: {enabled: true},\n             pinch: {\n               enabled: true\n             },\n             mode: 'xy',\n           },\n        },\n          legend: {\n            position: \"top\",\n          },\n          title: {\n            display: true,\n            text: \"Эпидемиологические данные\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'шкала 1'\n            },\n            position:'left',\n            type: 'linear',\n          },\n          y: {\n            title: {\n              display: true,\n              text: 'шкала 2'\n            },\n            position:'right',\n            beginAtZero: true,\n            type: 'linear',\n            grid: {\n              drawOnChartArea: false\n            }\n          }\n        }\n      });\n      setLastsData(tub_last_nd)\n      setlast_ndeaths(tub_last_ndeaths)\n            setLastsDatadate(tub_last_date)\n    })\n    .catch(err => {\n      setLoadingprosses(false)\n      setSomeerrors(true)\n      console.log(err);\n    });\n  };\n\n  useEffect(() => {\n    chart();\n  }, [])\n\n  const [loadingprosses, setLoadingprosses] = useState(true)\n  const [someerrors, setSomeerrors] = useState(false)\n\n  const lasts = [\n    {id: 1, lastData: lastData, lastDatadate: lastDatadate, name: \"случаев заражения\"},\n    {id: 3, lastData: last_ndeaths, lastDatadate: lastDatadate, name: \"летальных исходов\"},\n  ]\n\n\n  return (\n    <Tab.Pane eventKey={props.region.eventKey}>\n      <div className=\"mx-3 my-3\">\n      <div>\n      <Container>\n        <Row style={{\n                width: \"100%\" }}>\n                {lasts.map((last,index) =>\n                    <MSCDItem initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05}}\n                       custom={index + 1}\n                      variants={variants} key = {last.id} last = {last}/>\n                )}\n        </Row>\n      </Container>\n    <div  align=\"center\" className =\"my-4\">\n    <Row className=\"my-2\">\n      <Col  xs={12} sm={9}>\n     </Col>\n    <Col xs={12} sm={3}>\n    <motion.div initial=\"hidden\"\n         custom={2}\n        variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n      </OverlayTrigger>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n      </OverlayTrigger>\n       <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={chart}><BsZoomOut/></Button>\n      <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart3(e)}><FiDownload/></Button>\n      </motion.div>\n    </Col>\n    </Row>\n    {loadingprosses ? <div style={{\n            height: '400px'}}><Spinner relative=\"true\" style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n    someerrors ?  <div style={{\n            height: '350px' }}><Alert relative=\"true\" variant=\"danger\" className=\"my-5\"> <Alert.Heading>Ошибка загрузки</Alert.Heading>\n    Сервер временно не отвечает, пожалуйста, <Alert.Link href=\"/modeling\">обновите страницу</Alert.Link> или повторите попытку позже.\n    <hr /> </Alert> </div> :\n    <div style={{ height: '25rem' }}><Line id=\"chart3\" data={chartData} options={chartOptions}  height=\"90%\" /></div> }\n\n\n     </div>\n    </div>\n    </div>\n  </Tab.Pane>\n  );\n};\nexport default StaticTubData;","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst StaticTubDataSoc = (props) => {\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const download_chart3=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart3')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const [lastDatadate, setLastsDatadate] = useState(0)\n  const [last_unemployment, setlast_unemployment] = useState(0)\n  const [last_poverty, setlast_poverty] = useState(0)\n  const [last_income, setlast_income] = useState(0)\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n\n  const [chartOptions, setChartOptions] = useState({})\n\n  const chart = () => {\n    setLoadingprosses(true)\n    let soc_data = [];\n    let soc_unempl = [];\n    let soc_pov = [];\n    let soc_income = [];\n    let soc_last_unempl = [];\n    let soc_last_pov = [];\n    let soc_last_income = [];\n    let tub_last_date = [];\n\n    let url = props.region.hr\n    axios\n    .get(url)\n    .then(res => {\n      setLoadingprosses(false)\n      setSomeerrors(false)\n      soc_last_unempl.push(parseInt(res.data[res.data.length-1].unemployment))\n      soc_last_pov.push(parseInt(res.data[res.data.length-1].poverty)) \n      soc_last_income.push(res.data[res.data.length-1].income)\n      tub_last_date.push(res.data[res.data.length-1].date)\n\n      for (const dataObj of res.data) {\n        soc_unempl.push(parseInt(dataObj.unemployment));\n        soc_pov.push(parseInt(dataObj.poverty));\n        soc_income.push(parseInt(dataObj.income));\n        soc_data.push(dataObj.date);\n      }\n      setChartData({\n        labels: soc_data,\n        datasets: [\n            {\n                label: \"безработица , шк.2 (%)\",\n                data: soc_unempl,\n                fill: false,\n                borderColor: \"rgba(0, 191, 255, 1)\",\n                backgroundColor: \"rgba(0, 191, 255, 1)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                yAxisID: 'y'\n              },\n              \n          {\n            label: \"доля населения с доходами ниже прожиточного минимума , шк.2 (%)\",\n            data: soc_pov,\n            borderColor: \"rgb(255,0,0)\",\n            backgroundColor: \"rgb(255,0,0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'y'\n          },\n          {\n            label: \"среднедушевые доходы населения , шк.1\",\n            data: soc_income,\n            borderColor: \"rgb(128, 0, 255)\",\n            backgroundColor: \"rgb(128,0,255)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'quantity'\n          },\n            ],\n          });\n\n      setChartOptions({\n        maintainAspectRatio : false,\n       responsive: true,\n       plugins: {\n         zoom: {\n           pan: {\n             enabled: true,\n             mode: 'xy',\n           },\n          zoom: {\n            wheel: {\n              enabled: true,\n              speed: 0.1,\n            },\n            drag: {\n             enabled: true,\n           },\n            pan: {enabled: true},\n            pinch: {\n              enabled: true\n            },\n            mode: 'xy',\n          },\n       },\n         legend: {\n           position: \"top\",\n         },\n         title: {\n           display: true,\n           text: \"Социально-экономические данные\",\n         },\n       },\n       scales: {\n         quantity: {\n           title: {\n             display: true,\n             text: 'шкала 1'\n           },\n           position:'left',\n           type: 'linear',\n         },\n         y: {\n           title: {\n             display: true,\n             text: 'шкала 2'\n           },\n           position:'right',\n           beginAtZero: true,\n           type: 'linear',\n           grid: {\n             drawOnChartArea: false\n           }\n         }\n       }\n     });\n     setlast_unemployment(soc_last_unempl)\n     setlast_poverty(soc_last_pov)\n     setlast_income(soc_last_income)\n     setLastsDatadate(tub_last_date)\n    })\n    .catch(err => {\n      setLoadingprosses(false)\n      setSomeerrors(true)\n      console.log(err);\n    });\n  };\n\n  useEffect(() => {\n    chart();\n  }, [])\n\n  const [loadingprosses, setLoadingprosses] = useState(true)\n  const [someerrors, setSomeerrors] = useState(false)\n\n  const lasts = [\n    {id: 1, lastData: last_unemployment, lastDatadate: lastDatadate, name: \"безработица\"},\n    {id: 2, lastData: last_poverty, lastDatadate: lastDatadate, name: \"доля населения с доходами ниже прожиточного минимума\"},\n    {id: 3, lastData: last_income, lastDatadate: lastDatadate, name: \"среднедушевые доходы населения\"},\n  ]\n\n\n  return (\n    <Tab.Pane eventKey={props.region.eventKey}>\n      <div className=\"mx-3 my-3\">\n      <div>\n      <Container>\n        <Row style={{\n                width: \"100%\" }}>\n                {lasts.map((last,index) =>\n                    <MSCDItem initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05}}\n                       custom={index + 1}\n                      variants={variants} key = {last.id} last = {last}/>\n                )}\n        </Row>\n      </Container>\n    <div  align=\"center\" className =\"my-4\">\n    <Row className=\"my-2\">\n      <Col  xs={12} sm={9}>\n     </Col>\n    <Col xs={12} sm={3}>\n    <motion.div initial=\"hidden\"\n         custom={2}\n        variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n      </OverlayTrigger>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n      </OverlayTrigger>\n       <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={chart}><BsZoomOut/></Button>\n      <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart3(e)}><FiDownload/></Button>\n      </motion.div>\n    </Col>\n    </Row>\n    {loadingprosses ? <div style={{\n            height: '400px'}}><Spinner relative=\"true\" style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n    someerrors ?  <div style={{\n            height: '350px' }}><Alert relative=\"true\" variant=\"danger\" className=\"my-5\"> <Alert.Heading>Ошибка загрузки</Alert.Heading>\n    Сервер временно не отвечает, пожалуйста, <Alert.Link href=\"/modeling\">обновите страницу</Alert.Link> или повторите попытку позже.\n    <hr /> </Alert> </div> :\n    <div style={{ height: '25rem' }}><Line id=\"chart3\" data={chartData} options={chartOptions}  height=\"90%\" /></div> }\n\n\n     </div>\n    </div>\n    </div>\n  </Tab.Pane>\n  );\n};\nexport default StaticTubDataSoc;\n\n","import React, {useState} from \"react\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./styles.css\";\nimport NaviBarv2 from \"./Components/NaviBarv2\";\nimport Footer from \"./Components/Footer\";\nimport {\n  Container,\n  Button,\n  Tab,\n  Nav,\n  OverlayTrigger,\n  Popover,\n} from \"react-bootstrap\";\nimport { motion } from \"framer-motion\";\nimport StaticTubData from \"./Components/StaticTubData\";\nimport StaticTubDataSoc from \"./Components/StaticTubDataSoc\";\nimport { useSearchParams } from \"react-router-dom\";\n\n// Вынесение повторяющихся данных в отдельную функцию\nconst getRegionData = (id, hr, eventKey, title, title2, district, center, population, area, density) => ({ id, hr, eventKey, title, title2, district, center, population, area, density });\n\nconst regions = [\n\n  getRegionData(1, \"https://server.ai-biolab.ru/api/csvTub/belgorod\", \"belgorod\", \"Белгородская область\", \"Белгородская область белгородская область\",\"Центральный федеральный округ\",\"Белгород\", \"1 514 500 ч.\", \"27 100 км²\", \"55,31 чел./км²\"),\n  getRegionData(2, \"https://server.ai-biolab.ru/api/csvTub/bryansk\", \"bryansk\", \"Брянская область\", \"Брянская область брянская область\",\"Центральный федеральный округ\",\"Брянск\", \"1 168 800 ч.\", \"34 900 км²\", \"32,77 чел./км²\"),\n  getRegionData(3, \"https://server.ai-biolab.ru/api/csvTub/vladimir\", \"vladimir\", \"Владимирская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n  getRegionData(4, \"https://server.ai-biolab.ru/api/csvTub/voronezh\", \"voronezh\", \"Воронежская область\", \"Воронежская область воронежская область\",\"Центральный федеральный округ\",\"Воронеж\", \"2 273 417 ч.\", \"52 216 км²\", \"43,54 чел./км²\"),\n  getRegionData(5, \"https://server.ai-biolab.ru/api/csvTub/ivanovsk\", \"ivanovsk\", \"Ивановская область\", \"Ивановская область ивановская область\",\"Центральный федеральный округ\",\"Иваново\", \"905 900 ч.\", \"21 437 км²\", \"42,26 чел./км²\"),\n  getRegionData(6, \"https://server.ai-biolab.ru/api/csvTub/kaluga\", \"kaluga\", \"Калужская область\", \"Калужская область калужская область\",\"Центральный федеральный округ\",\"Калуга\", \"1 068 410 ч.\", \"29 777 км²\", \"35,88 чел./км²\"),\n  getRegionData(7, \"https://server.ai-biolab.ru/api/csvTub/kostroma\", \"kostroma\", \"Костромская область\", \"Костромская область костромская область\",\"Центральный федеральный округ\",\"Кострома\", \"566 266 ч.\", \"60 211 км²\", \"9,4 чел./км²\"),\n  getRegionData(8, \"https://server.ai-biolab.ru/api/csvTub/kursk\", \"kursk\", \"Курская область\", \"Курская область курская область\",\"Центральный федеральный округ\",\"Курск\", \"1 060 892 ч.\", \"29 997 км²\", \"35,37 чел./км²\"),\n  getRegionData(9, \"https://server.ai-biolab.ru/api/csvTub/lipeck\", \"lipeck\", \"Липецкая область\", \"Липецкая область липецкая область\",\"Центральный федеральный округ\",\"Липецк\", \"1 116 265 ч.\", \"24 047 км²\", \"46,42 чел./км²\"),\n  getRegionData(10, \"https://server.ai-biolab.ru/api/csvTub/moscow\", \"moscow\", \"Московская область\", \"Московская область московская область\",\"Центральный федеральный округ\",\"Москва\", \"8 651 260 ч.\", \"44 329 км²\", \"195,16 чел./км²\"),\n  getRegionData(11, \"https://server.ai-biolab.ru/api/csvTub/orel\", \"orel\", \"Орловская область\", \"Орловская область орловская область\",\"Центральный федеральный округ\",\"Орёл\", \"724 686 ч.\", \"24 700 км²\", \"29,4 чел./км²\"),\n  getRegionData(12, \"https://server.ai-biolab.ru/api/csvTub/ryazun\", \"ryazun\", \"Рязанская область\", \"Рязанская область рязанская область\",\"Центральный федеральный округ\",\"Рязань\", \"1 082 231 ч.\", \"44 329 км²\", \"27,33 чел./км²\"),\n  getRegionData(13, \"https://server.ai-biolab.ru/api/csvTub/smolensk\", \"smolensk\", \"Смоленская область\", \"Смоленская область смоленская область\",\"Центральный федеральный округ\",\"Смоленск\", \"863 987 ч.\", \"49 779 км²\", \"17,36 чел./км²\"),\n  getRegionData(14, \"https://server.ai-biolab.ru/api/csvTub/tambov\", \"tambov\", \"Тамбовская область\", \"Тамбовская область тамбовская область\",\"Центральный федеральный округ\",\"Тамбов\", \"956 292 ч.\", \"34 462 км²\", \"27,75 чел./км²\"),\n  getRegionData(15, \"https://server.ai-biolab.ru/api/csvTub/tver\", \"tver\", \"Тверская область\", \"Тверская область тверская область\",\"Центральный федеральный округ\",\"Тверь\", \"1 199 747 ч.\", \"84 100 км²\", \"14,25 чел./км²\"),\n  getRegionData(16, \"https://server.ai-biolab.ru/api/csvTub/tula\", \"tula\", \"Тульская область\", \"Тульская область тульская область\",\"Центральный федеральный округ\",\"Тула\", \"1 471 140 ч.\", \"25 679 км²\", \"57,29 чел./км²\"),\n  getRegionData(17, \"https://server.ai-biolab.ru/api/csvTub/yaroslavl\", \"yaroslavl\", \"Ярославская область\", \"Ярославская область ярославская область\",\"Центральный федеральный округ\",\"Ярославль\", \"1 187 558 ч.\", \"36 400 км²\", \"32,83 чел./км²\"),\n  getRegionData(18, \"https://server.ai-biolab.ru/api/csvTub/kareliya\", \"kareliya\", \"Республика Карелия\", \"Республика Карелия республика карелия\",\"Северо-Западный федеральный округ\",\"Петразаводск\", \"523 856 ч.\", \"172 400 км²\", \"2,9 чел./км²\"),\n  getRegionData(19, \"https://server.ai-biolab.ru/api/csvTub/komi\", \"komi\", \"Республика Коми\", \"Республика Коми республика коми\",\"Северо-Западный федеральный округ\",\"Сыктывкар\", \"720 610 ч.\", \"415 900 км²\", \"1,73 чел./км²\"),\n  getRegionData(20, \"https://server.ai-biolab.ru/api/csvTub/arhangelsk\", \"arhangelsk\", \"Архангельская область\", \"Архангельская область архангельская область\",\"Северо-Западный федеральный округ\",\"Архангельск\", \"998 072 ч.\", \"587 400 км²\", \"1,69 чел./км²\"),\n  getRegionData(21, \"https://server.ai-biolab.ru/api/csvTub/vologda\", \"vologda\", \"Вологодская область\", \"Вологодская область вологодская область\",\"Северо-Западный федеральный округ\",\"Вологда\", \"1 121 343 ч.\", \"144 527 км²\", \"8,5 чел./км²\"),\n  getRegionData(22, \"https://server.ai-biolab.ru/api/csvTub/kaliningrad\", \"kaliningrad\", \"Калининградская область\", \"Калининградская область калининградская область\",\"Северо-Западный федеральный округ\",\"Калининград\", \"1 033 914 ч.\", \"15 125 км²\", \"68,36 чел./км²\"),\n  getRegionData(23, \"https://server.ai-biolab.ru/api/csvTub/leningrad\", \"leningrad\", \"Ленинградская область\", \"Ленинградская область ленинградская область\",\"Северо-Западный федеральный округ\",\"Гатчина\", \"2 035 762 ч.\", \"83 908 км²\", \"24,26 чел./км²\"),\n  getRegionData(24, \"https://server.ai-biolab.ru/api/csvTub/murmansk\", \"murmansk\", \"Мурманская область\", \"Мурманская область мурманская область\",\"Северо-Западный федеральный округ\",\"Мурманск\", \"656 438 ч.\", \"144 902 км²\", \"4,53 чел./км²\"),\n  getRegionData(25, \"https://server.ai-biolab.ru/api/csvTub/novgorod\", \"novgorod\", \"Новгородская область\", \"Новгородская область новгородская область\",\"Северо-Западный федеральный округ\",\"Великий Новгород\", \"571 447 ч.\", \"54 501 км²\", \"10,49 чел./км²\"),\n  getRegionData(26, \"https://server.ai-biolab.ru/api/csvTub/pskov\", \"pskov\", \"Псковская область\", \"Псковская область псковская область\",\"Северо-Западный федеральный округ\",\"Псков\", \"581 147 ч.\", \"55 399 км²\", \"10,49 чел./км²\"),\n  getRegionData(27, \"https://server.ai-biolab.ru/api/csvTub/adygea\", \"adygea\", \"Республика Адыгея\", \"Республика Адыгея республика адыгея\",\"Южный федеральный округ\",\"Майкоп\", \"500 591 ч.\", \"7 792 км²\", \"64,24 чел./км²\"),\n  getRegionData(28, \"https://server.ai-biolab.ru/api/csvTub/kalmykia\", \"kalmykia\", \"Республика Калмыкия\", \"Республика Калмыкия республика калмыкия\",\"Южный федеральный округ\",\"Элиста\", \"266 770 ч.\", \"74 731 км²\", \"5,57 чел./км²\"),\n  getRegionData(29, \"https://server.ai-biolab.ru/api/csvTub/krasnodar\", \"krasnodar\", \"Краснодарский край\", \"Краснодарский край краснодарский край\",\"Южный федеральный округ\",\"Краснодар\", \"5 833 002 ч.\", \"76 005 км²\", \"77,27 чел./км²\"),\n  getRegionData(30, \"https://server.ai-biolab.ru/api/csvTub/volgograd\", \"volgograd\", \"Волгоградская область\", \"Волгоградская область волгоградская область\",\"Южный федеральный округ\",\"Волгоград\", \"2 453 898 ч.\", \"113 900 км²\", \"21,74 чел./км²\"),\n  getRegionData(31, \"https://server.ai-biolab.ru/api/csvTub/rostov\", \"rostov\", \"Ростовская область\", \"Ростовская область ростовская область\",\"Южный федеральный округ\",\"Ростов\", \"4 152 518 ч.\", \"100 967 км²\", \"41,13 чел./км²\"),\n  getRegionData(32, \"https://server.ai-biolab.ru/api/csvTub/dagestan\", \"dagestan\", \"Республика Дагестан\", \"Республика Дагестан республика дагестан\",\"Южный федеральный округ\",\"Махачкала\", \"3 232 224 ч.\", \"50 270 км²\", \"64,3 чел./км²\"),\n  getRegionData(33, \"https://server.ai-biolab.ru/api/csvTub/ingushetia\", \"ingushetia\", \"Республика Ингушетия\", \"Республика Ингушетия республика ингушетия\",\"Южный федеральный округ\",\"Магас\", \"509 541 ч.\", \"3 685 км²\", \"147,7 чел./км²\"),\n  getRegionData(34, \"https://server.ai-biolab.ru/api/csvTub/kabarbalkar\", \"kabarbalkar\", \"Кабардино-Балкарская Республика\", \"Кабардино-Балкарская Республика кабардино-балкарская республик\",\"Южный федеральный округ\",\"Нальчик\", \"905 464 ч.\", \"76 005 км²\", \"72,61 чел./км²\"),\n  getRegionData(35, \"https://server.ai-biolab.ru/api/csvTub/karcherk\", \"karcherk\", \"Карачаево-Черкесская Республика\", \"Карачаево-Черкесская Республика карачаево-черкесская республика\",\"Южный федеральный округ\",\"Черкесск\", \"468 322 ч.\", \"14 100 км²\", \"32,8 чел./км²\"),\n  getRegionData(36, \"https://server.ai-biolab.ru/api/csvTub/sevosetiaalania\", \"sevosetiaalania\", \"Республика Северная Осетия-Алания\", \"Республика Северная Осетия-Алания республика северная осетия-алания\",\"Северо-Кавказский федеральный округ\",\"Владикавказ\", \"678 879 ч.\", \"8 000 км²\", \"85,00 чел./км²\"),\n  getRegionData(37, \"https://server.ai-biolab.ru/api/csvTub/chechnya\", \"chechnya\", \"Чеченская республика\", \"Чеченская республика чеченская республика\",\"Северо-Кавказский федеральный округ\",\"Грозный\", \"1 552 866 ч.\", \"16 171 км²\", \"96,03 чел./км²\"),\n  getRegionData(38, \"https://server.ai-biolab.ru/api/csvTub/stavrapol\", \"stavrapol\", \"Ставропольский край\", \"Ставропольский край ставропольский край\",\"Северо-Кавказский федеральный округ\",\"Ставрополь\", \"2 886 108 ч.\", \"66 160 км²\", \"43,62 чел./км²\"),\n  getRegionData(39, \"https://server.ai-biolab.ru/api/csvTub/bashkortostan\", \"bashkortostan\", \"Республика Башкортостан\", \"Республика Башкортастан республика башкортастан\",\"Приволжский федеральный округ\",\"Уфа\", \"4 064 361 ч.\", \"142 947 км²\", \"28,4 чел./км²\"),\n  getRegionData(40, \"https://server.ai-biolab.ru/api/csvTub/maryal\", \"maryal\", \"Республика Марий Эл\", \"Республика Марий Эл республика марий эл\",\"Приволжский федеральный округ\",\"Йошкар-Ола\", \"696 459 ч.\", \"23 375 км²\", \"29,5 чел./км²\"),\n  getRegionData(41, \"https://server.ai-biolab.ru/api/csvTub/mordovia\", \"mordovia\", \"Республика Мордовия\", \"Республика Мордовия республика мордовия\",\"Приволжский федеральный округ\",\"Саранск\", \"765 891  ч.\", \"26 128 км²\", \"29,31 чел./км²\"),\n  getRegionData(42, \"https://server.ai-biolab.ru/api/csvTub/tatarstan\", \"tatarstan\", \"Республика Татарстан\", \"Республика Татарстан республика татарстан\",\"Приволжский федеральный округ\",\"Казань\", \"4 003 016 ч.\", \"67 847 км²\", \"56,57 чел./км²\"),\n  getRegionData(43, \"https://server.ai-biolab.ru/api/csvTub/udmurtia\", \"udmurtia\", \"Удмуртская Республика\", \"Удмуртская Республика удмуртская республика\",\"Приволжский федеральный округ\",\"Ижевск\", \"1 434 557  ч.\", \"42 061 км²\", \"34,11 чел./км²\"),\n  getRegionData(44, \"https://server.ai-biolab.ru/api/csvTub/chuvashia\", \"chuvashia\", \"Чувашская Республика\", \"Чувашская Республика чувашская республика\",\"Приволжский федеральный округ\",\"Чебоксары\", \"1 167 061 ч.\", \"18 343 км²\", \"63,62 чел./км²\"),\n  getRegionData(45, \"https://server.ai-biolab.ru/api/csvTub/perm\", \"perm\", \"Пермский край\", \"Пермский край пермский край\",\"Приволжский федеральный округ\",\"Пермь\", \"2 495 266 ч.\", \"160 236 км²\", \"15,57 чел./км²\"),\n  getRegionData(46, \"https://server.ai-biolab.ru/api/csvTub/kirov\", \"kirov\", \"Кировская область\", \"Кировская область кировская область\",\"Северо-Кавказский федеральный округ\",\"Киров\", \"1 129 935 ч.\", \"120 400 км²\", \"9,39 чел./км²\"),\n  getRegionData(47, \"https://server.ai-biolab.ru/api/csvTub/nizhniynovgorod\", \"nizhniynovgorod\", \"Нижегородская область\", \"Нижегородская область нижегородская область\",\"Северо-Кавказский федеральный округ\",\"Нижний Новгород\", \"3 060 335 ч.\", \"76 624 км²\", \"39,94 чел./км²\"),\n  getRegionData(48, \"https://server.ai-biolab.ru/api/csvTub/orenburg\", \"orenburg\", \"Оренбургская область\", \"Оренбургская область оренбургская область\",\"Северо-Кавказский федеральный округ\",\"Оренбург\", \"1 828 656 ч.\", \"123 702 км²\", \"14,78 чел./км²\"),\n  getRegionData(49, \"https://server.ai-biolab.ru/api/csvTub/penza\", \"penza\", \"Пензенская область\", \"Пензенская область пензенская область\",\"Приволжский федеральный округ\",\"Пенза\", \"1 236 113 ч.\", \"43 352 км²\", \"28,51 чел./км²\"),\n  getRegionData(50, \"https://server.ai-biolab.ru/api/csvTub/samara\", \"samara\", \"Самарская область\", \"Самарская область самарская область\",\"Приволжский федеральный округ\",\"Самара\", \"3 127 842 ч.\", \"53 565 км²\", \"58,39 чел./км²\"),\n  getRegionData(51, \"https://server.ai-biolab.ru/api/csvTub/saratov\", \"saratov\", \"Саратовская область\", \"Саратовская область саратовская область\",\"Приволжский федеральный округ\",\"Саратов\", \"2 385 163  ч.\", \"101 240 км²\", \"23,56 чел./км²\"),\n  getRegionData(52, \"https://server.ai-biolab.ru/api/csvTub/ulyanovsk\", \"ulyanovsk\", \"Ульяновская область\", \"Ульяновская область ульяновская область\",\"Приволжский федеральный округ\",\"Ульяновск\", \"1 172 782 ч.\", \"37 181 км²\", \"31,54 чел./км²\"),\n  getRegionData(53, \"https://server.ai-biolab.ru/api/csvTub/kurgan\", \"kurgan\", \"Курганская область\", \"Курганская область курганская область\",\"Уральский федеральный округ\",\"Курган\", \"753 002  ч.\", \"71 488 км²\", \"10,53 чел./км²\"),\n  getRegionData(54, \"https://server.ai-biolab.ru/api/csvTub/sverdlov\", \"sverdlov\", \"Свердловская область\", \"Свердловская область свердловская область\",\"Уральский федеральный округ\",\"Екатеринбург\", \"4 222 695 ч.\", \"194 226 км²\", \"21,73 чел./км²\"),\n  getRegionData(55, \"https://server.ai-biolab.ru/api/csvTub/tumen\", \"tumen\", \"Тюменская область\", \"Тюменская область тюменская область\",\"Уральский федеральный округ\",\"Тюмень\", \"3 890 800 ч.\", \"160 122 км²\", \"2,66 чел./км²\"),\n  getRegionData(56, \"https://server.ai-biolab.ru/api/csvTub/chelyabinsk\", \"chelyabinsk\", \"Челябинская область\", \"Челябинская область челябинская область\",\"Уральский федеральный округ\",\"Челябинск\", \"3 395 798 ч.\", \"88 529 км²\", \"38,36 чел./км²\"),\n  getRegionData(57, \"https://server.ai-biolab.ru/api/csvTub/respaltay\", \"respaltay\", \"Республика Алтай\", \"Республика Алтай республика алтай\",\"Сибирский федеральный округ\",\"Горно-Алтайск\", \"210 765 ч.\", \"92 903 км²\", \"2,27 чел./км²\"),\n  getRegionData(58, \"https://server.ai-biolab.ru/api/csvTub/resptyva\", \"resptyva\", \"Республика Тыва\", \"Республика Тыва республика тыва\",\"Сибирский федеральный округ\",\"Кызыл\", \"337 544 ч.\", \"168 604 км²\", \"2,0 чел./км²\"),\n  getRegionData(59, \"https://server.ai-biolab.ru/api/csvTub/resphakasia\", \"resphakasia\", \"Республика Хакасия\", \"Республика Хакасия республика хакасия\",\"Сибирский федеральный округ\",\"Абакан\", \"528 175 ч.\", \"61 569 км²\", \"8,58 чел./км²\"),\n  getRegionData(60, \"https://server.ai-biolab.ru/api/csvTub/altay\", \"altay\", \"Алтайский край\" , \"Алтайский край алтайский край\",\"Сибирский федеральный округ\",\"Барнаул\", \"2 268 179 ч.\", \"167 996 км²\", \"13,5 чел./км²\"),\n  getRegionData(61, \"https://server.ai-biolab.ru/api/csvTub/krasnoyarsk\", \"krasnoyarsk\", \"Красноярский край\", \"Красноярский край красноярский край\",\"Сибирский федеральный округ\",\"Красноярск\", \"2 846 120 ч.\", \"2 366 797  км²\", \"1,2 чел./км²\"),\n  getRegionData(62, \"https://server.ai-biolab.ru/api/csvTub/irkutsk\", \"irkutsk\", \"Иркутская область\", \"Иркутская область иркутская область\",\"Сибирский федеральный округ\",\"Иркутск\", \"2 330 537 ч.\", \"774 846 км²\", \"3,01 чел./км²\"),\n  getRegionData(63, \"https://server.ai-biolab.ru/api/csvTub/kemerovo\", \"kemerovo\", \"Кемеровская область\", \"Кемеровская область кемеровская область\",\"Сибирский федеральный округ\",\"Кемерово\", \"2 547 684 ч.\", \"95 725 км²\", \"26,61 чел./км²\"),\n  getRegionData(64, \"https://server.ai-biolab.ru/api/csvTub/novosibirsk\", \"novosibirsk\", \"Новосибирская область\", \"Новосибирская область новосибирская область\",\"Сибирский федеральный округ\",\"Новосибирск\", \"2 779 375 ч.\", \"177 756 км²\", \"15,64 чел./км²\"),\n  getRegionData(65, \"https://server.ai-biolab.ru/api/csvTub/omsk\", \"omsk\", \"Омская область\", \"Омская область омская область\",\"Сибирский федеральный округ\",\"Омск\", \"1 879 548 ч.\", \"141 140 км²\", \"13,32 чел./км²\"),\n  getRegionData(66, \"https://server.ai-biolab.ru/api/csvTub/tomsk\", \"tomsk\", \"Томская область\", \"Томская область томская область\",\"Сибирский федеральный округ\",\"Томск\", \"1 043 385 ч.\", \"314 391 км²\", \"3,32 чел./км²\"),\n  getRegionData(67, \"https://server.ai-biolab.ru/api/csvTub/buryatia\", \"buryatia\", \"Республика Бурятия\", \"Республика Бурятия республика бурятия\",\"Дальневосточный федеральный округ\",\"Улан-Удэ\", \"971 922 ч.\", \"351 334 км²\", \"2,73 чел./км²\"),\n  getRegionData(68, \"https://server.ai-biolab.ru/api/csvTub/saha\", \"saha\", \"Республика Саха\", \"Республика Саха республика саха\",\"Дальневосточный федеральный округ\",\"Якутск\", \"1 001 664 ч.\", \"3 083 523 км²\", \"0,32 чел./км²\"),\n  getRegionData(69, \"https://server.ai-biolab.ru/api/csvTub/zabaikalsky\", \"zabaikalsky\", \"Забайкальский край\", \"Забайкальский край забайкальский край\",\"Дальневосточный федеральный округ\",\"Чита\", \"984 395 ч.\", \"168 604 км²\", \"2,28 чел./км²\"),\n  getRegionData(70, \"https://server.ai-biolab.ru/api/csvTub/kamchatsky\", \"kamchatsky\", \"Камчатский край\", \"Камчатский край камчатский край\",\"Дальневосточный федеральный округ\",\"Петропавловск-Камчатский\", \"288 947 ч.\", \"464 300 км²\", \"0,62 чел./км²\"),\n  getRegionData(71, \"https://server.ai-biolab.ru/api/csvTub/primorsk\", \"primorsk\", \"Приморский край\" , \"Приморский край приморский край\",\"Дальневосточный федеральный округ\",\"Владивосток\", \"1 806 393 ч.\", \"164 673 км²\", \"10,97 чел./км²\"),\n  getRegionData(72, \"https://server.ai-biolab.ru/api/csvTub/habarovsk\", \"habarovsk\", \"Хабаровский край\", \"Хабаровский край хабаровский край\",\"Дальневосточный федеральный округ\",\"Хабаровск\", \"1 278 132 ч.\", \"787 633  км²\", \"1,62 чел./км²\"),\n  getRegionData(73, \"https://server.ai-biolab.ru/api/csvTub/amursk\", \"amursk\", \"Амурская область\", \"Амурская область амурская область\",\"Дальневосточный федеральный округ\",\"Благовещенск\", \"750 083 ч.\", \"361 908 км²\", \"2,20 чел./км²\"),\n  getRegionData(74, \"https://server.ai-biolab.ru/api/csvTub/magadan\", \"magadan\", \"Магаданская область\", \"Магаданская область магаданская область\",\"Дальневосточный федеральный округ\",\"Магадан\", \"133 387 ч.\", \"462 464 км²\", \"0,29 чел./км²\"),\n  getRegionData(75, \"https://server.ai-biolab.ru/api/csvTub/sahalin\", \"sahalin\", \"Сахалинская область\", \"Сахалинская область сахалинская область\",\"Дальневосточный федеральный округ\",\"Южно-Сахалинск\", \"457 590 ч.\", \"87 101 км²\", \"5,25 чел./км²\"),\n  getRegionData(76, \"https://server.ai-biolab.ru/api/csvTub/evreiskaya\", \"evreiskaya\", \"Еврейская автономная область\", \"Еврейская автономная область еврейская автономная область\",\"Дальневосточный федеральный округ\",\"Биробиджан\", \"145 802 ч.\", \"36 300 км²\", \"4,02 чел./км²\"),\n  getRegionData(77, \"https://server.ai-biolab.ru/api/csvTub/chukotsk\", \"chukotsk\", \"Чукотский автономный округ\", \"Чукотский автономный округ чукотский автономный округ\",\"Дальневосточный федеральный округ\",\"Анадырь\", \"48 029 ч.\", \"721 481 км²\", \"0,07 чел./км²\"),\n  \n\n];\n\nconst regionsSoc = [\n  \n  getRegionData(1, \"https://server.ai-biolab.ru/api/csvSocTub/belgorod\", \"belgorod\", \"Белгородская область\", \"Белгородская область белгородская область\",\"Центральный федеральный округ\",\"Белгород\", \"1 514 500 ч.\", \"27 100 км²\", \"55,31 чел./км²\"),\n  getRegionData(2, \"https://server.ai-biolab.ru/api/csvSocTub/bryansk\", \"bryansk\", \"Брянская область\", \"Брянская область брянская область\",\"Центральный федеральный округ\",\"Брянск\", \"1 168 800 ч.\", \"34 900 км²\", \"32,77 чел./км²\"),\n  getRegionData(3, \"https://server.ai-biolab.ru/api/csvSocTub/vladimir\", \"vladimir\", \"Владимирская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n  getRegionData(4, \"https://server.ai-biolab.ru/api/csvSocTub/voronezh\", \"voronezh\", \"Воронежская область\", \"Воронежская область воронежская область\",\"Центральный федеральный округ\",\"Воронеж\", \"2 273 417 ч.\", \"52 216 км²\", \"43,54 чел./км²\"),\n  getRegionData(5, \"https://server.ai-biolab.ru/api/csvSocTub/ivanovsk\", \"ivanovsk\", \"Ивановская область\", \"Ивановская область ивановская область\",\"Центральный федеральный округ\",\"Иваново\", \"905 900 ч.\", \"21 437 км²\", \"42,26 чел./км²\"),\n  getRegionData(6, \"https://server.ai-biolab.ru/api/csvSocTub/kaluga\", \"kaluga\", \"Калужская область\", \"Калужская область калужская область\",\"Центральный федеральный округ\",\"Калуга\", \"1 068 410 ч.\", \"29 777 км²\", \"35,88 чел./км²\"),\n  getRegionData(7, \"https://server.ai-biolab.ru/api/csvSocTub/kostroma\", \"kostroma\", \"Костромская область\", \"Костромская область костромская область\",\"Центральный федеральный округ\",\"Кострома\", \"566 266 ч.\", \"60 211 км²\", \"9,4 чел./км²\"),\n  getRegionData(8, \"https://server.ai-biolab.ru/api/csvSocTub/kursk\", \"kursk\", \"Курская область\", \"Курская область курская область\",\"Центральный федеральный округ\",\"Курск\", \"1 060 892 ч.\", \"29 997 км²\", \"35,37 чел./км²\"),\n  getRegionData(9, \"https://server.ai-biolab.ru/api/csvSocTub/lipeck\", \"lipeck\", \"Липецкая область\", \"Липецкая область липецкая область\",\"Центральный федеральный округ\",\"Липецк\", \"1 116 265 ч.\", \"24 047 км²\", \"46,42 чел./км²\"),\n  getRegionData(10, \"https://server.ai-biolab.ru/api/csvSocTub/moscow\", \"moscow\", \"Московская область\", \"Московская область московская область\",\"Центральный федеральный округ\",\"Москва\", \"8 651 260 ч.\", \"44 329 км²\", \"195,16 чел./км²\"),\n  getRegionData(11, \"https://server.ai-biolab.ru/api/csvSocTub/orel\", \"orel\", \"Орловская область\", \"Орловская область орловская область\",\"Центральный федеральный округ\",\"Орёл\", \"724 686 ч.\", \"24 700 км²\", \"29,4 чел./км²\"),\n  getRegionData(12, \"https://server.ai-biolab.ru/api/csvSocTub/ryazun\", \"ryazun\", \"Рязанская область\", \"Рязанская область рязанская область\",\"Центральный федеральный округ\",\"Рязань\", \"1 082 231 ч.\", \"44 329 км²\", \"27,33 чел./км²\"),\n  getRegionData(13, \"https://server.ai-biolab.ru/api/csvSocTub/smolensk\", \"smolensk\", \"Смоленская область\", \"Смоленская область смоленская область\",\"Центральный федеральный округ\",\"Смоленск\", \"863 987 ч.\", \"49 779 км²\", \"17,36 чел./км²\"),\n  getRegionData(14, \"https://server.ai-biolab.ru/api/csvSocTub/tambov\", \"tambov\", \"Тамбовская область\", \"Тамбовская область тамбовская область\",\"Центральный федеральный округ\",\"Тамбов\", \"956 292 ч.\", \"34 462 км²\", \"27,75 чел./км²\"),\n  getRegionData(15, \"https://server.ai-biolab.ru/api/csvSocTub/tver\", \"tver\", \"Тверская область\", \"Тверская область тверская область\",\"Центральный федеральный округ\",\"Тверь\", \"1 199 747 ч.\", \"84 100 км²\", \"14,25 чел./км²\"),\n  getRegionData(16, \"https://server.ai-biolab.ru/api/csvSocTub/tula\", \"tula\", \"Тульская область\", \"Тульская область тульская область\",\"Центральный федеральный округ\",\"Тула\", \"1 471 140 ч.\", \"25 679 км²\", \"57,29 чел./км²\"),\n  getRegionData(17, \"https://server.ai-biolab.ru/api/csvSocTub/yaroslavl\", \"yaroslavl\", \"Ярославская область\", \"Ярославская область ярославская область\",\"Центральный федеральный округ\",\"Ярославль\", \"1 187 558 ч.\", \"36 400 км²\", \"32,83 чел./км²\"),\n  getRegionData(18, \"https://server.ai-biolab.ru/api/csvSocTub/kareliya\", \"kareliya\", \"Республика Карелия\", \"Республика Карелия республика карелия\",\"Северо-Западный федеральный округ\",\"Петразаводск\", \"523 856 ч.\", \"172 400 км²\", \"2,9 чел./км²\"),\n  getRegionData(19, \"https://server.ai-biolab.ru/api/csvSocTub/komi\", \"komi\", \"Республика Коми\", \"Республика Коми\", \"Республика Коми республика коми\",\"Северо-Западный федеральный округ\",\"Сыктывкар\", \"720 610 ч.\", \"415 900 км²\", \"1,73 чел./км²\"),\n  getRegionData(20, \"https://server.ai-biolab.ru/api/csvSocTub/arhangelsk\", \"arhangelsk\", \"Архангельская область\", \"Архангельская область архангельская область\",\"Северо-Западный федеральный округ\",\"Архангельск\", \"998 072 ч.\", \"587 400 км²\", \"1,69 чел./км²\"),\n  getRegionData(21, \"https://server.ai-biolab.ru/api/csvSocTub/vologda\", \"vologda\", \"Вологодская область\", \"Вологодская область вологодская область\",\"Северо-Западный федеральный округ\",\"Вологда\", \"1 121 343 ч.\", \"144 527 км²\", \"8,5 чел./км²\"),\n  getRegionData(22, \"https://server.ai-biolab.ru/api/csvSocTub/kaliningrad\", \"kaliningrad\", \"Калининградская область\", \"Калининградская область калининградская область\",\"Северо-Западный федеральный округ\",\"Калининград\", \"1 033 914 ч.\", \"15 125 км²\", \"68,36 чел./км²\"),\n  getRegionData(23, \"https://server.ai-biolab.ru/api/csvSocTub/leningrad\", \"leningrad\", \"Ленинградская область\", \"Ленинградская область ленинградская область\",\"Северо-Западный федеральный округ\",\"Гатчина\", \"2 035 762 ч.\", \"83 908 км²\", \"24,26 чел./км²\"),\n  getRegionData(24, \"https://server.ai-biolab.ru/api/csvSocTub/murmansk\", \"murmansk\", \"Мурманская область\", \"Мурманская область мурманская область\",\"Северо-Западный федеральный округ\",\"Мурманск\", \"656 438 ч.\", \"144 902 км²\", \"4,53 чел./км²\"),\n  getRegionData(25, \"https://server.ai-biolab.ru/api/csvSocTub/novgorod\", \"novgorod\", \"Новгородская область\", \"Новгородская область новгородская область\",\"Северо-Западный федеральный округ\",\"Великий Новгород\", \"571 447 ч.\", \"54 501 км²\", \"10,49 чел./км²\"),\n  getRegionData(26, \"https://server.ai-biolab.ru/api/csvSocTub/pskov\", \"pskov\", \"Псковская область\", \"Псковская область псковская область\",\"Северо-Западный федеральный округ\",\"Псков\", \"581 147 ч.\", \"55 399 км²\", \"10,49 чел./км²\"),\n  getRegionData(27, \"https://server.ai-biolab.ru/api/csvSocTub/adygea\", \"adygea\", \"Республика Адыгея\", \"Республика Адыгея республика адыгея\",\"Южный федеральный округ\",\"Майкоп\", \"500 591 ч.\", \"7 792 км²\", \"64,24 чел./км²\"),\n  getRegionData(28, \"https://server.ai-biolab.ru/api/csvSocTub/kalmykia\", \"kalmykia\", \"Республика Калмыкия\", \"Республика Калмыкия республика калмыкия\",\"Южный федеральный округ\",\"Элиста\", \"266 770 ч.\", \"74 731 км²\", \"5,57 чел./км²\"),\n  getRegionData(29, \"https://server.ai-biolab.ru/api/csvSocTub/krasnodar\", \"krasnodar\", \"Краснодарский край\", \"Краснодарский край краснодарский край\",\"Южный федеральный округ\",\"Краснодар\", \"5 833 002 ч.\", \"76 005 км²\", \"77,27 чел./км²\"),\n  getRegionData(30, \"https://server.ai-biolab.ru/api/csvSocTub/volgograd\", \"volgograd\", \"Волгоградская область\", \"Волгоградская область волгоградская область\",\"Южный федеральный округ\",\"Волгоград\", \"2 453 898 ч.\", \"113 900 км²\", \"21,74 чел./км²\"),\n  getRegionData(31, \"https://server.ai-biolab.ru/api/csvSocTub/rostov\", \"rostov\", \"Ростовская область\", \"Ростовская область ростовская область\",\"Южный федеральный округ\",\"Ростов\", \"4 152 518 ч.\", \"100 967 км²\", \"41,13 чел./км²\"),\n  getRegionData(32, \"https://server.ai-biolab.ru/api/csvSocTub/dagestan\", \"dagestan\", \"Республика Дагестан\", \"Республика Дагестан\", \"Республика Дагестан республика дагестан\",\"Северо-Кавказский федеральный округ\",\"Махачкала\", \"3 232 224 ч.\", \"50 270 км²\", \"64,3 чел./км²\"),\n  getRegionData(33, \"https://server.ai-biolab.ru/api/csvSocTub/ingushetia\", \"ingushetia\", \"Республика Ингушетия\", \"Республика Ингушетия республика ингушетия\",\"Северо-Кавказский федеральный округ\",\"Магас\", \"509 541 ч.\", \"3 685 км²\", \"147,7 чел./км²\"),\n  getRegionData(34, \"https://server.ai-biolab.ru/api/csvSocTub/kabarbalkar\", \"kabarbalkar\", \"Кабардино-Балкарская Республика\", \"Кабардино-Балкарская Республика кабардино-балкарская республик\",\"Северо-Кавказский федеральный округ\",\"Нальчик\", \"905 464 ч.\", \"76 005 км²\", \"72,61 чел./км²\"),\n  getRegionData(35, \"https://server.ai-biolab.ru/api/csvSocTub/karcherk\", \"karcherk\", \"Карачаево-Черкесская Республика\", \"Карачаево-Черкесская Республика карачаево-черкесская республика\",\"Северо-Кавказский федеральный округ\",\"Черкесск\", \"468 322 ч.\", \"14 100 км²\", \"32,8 чел./км²\"),\n  getRegionData(36, \"https://server.ai-biolab.ru/api/csvSocTub/sevosetiaalania\", \"sevosetiaalania\", \"Республика Северная Осетия-Алания\", \"Республика Северная Осетия-Алания республика северная осетия-алания\",\"Северо-Кавказский федеральный округ\",\"Владикавказ\", \"678 879 ч.\", \"8 000 км²\", \"85,00 чел./км²\"),\n  getRegionData(37, \"https://server.ai-biolab.ru/api/csvSocTub/chechnya\", \"chechnya\", \"Чеченская республика\", \"Чеченская республика чеченская республика\",\"Северо-Кавказский федеральный округ\",\"Грозный\", \"1 552 866 ч.\", \"16 171 км²\", \"96,03 чел./км²\"),\n  getRegionData(38, \"https://server.ai-biolab.ru/api/csvSocTub/stavrapol\", \"stavrapol\", \"Ставропольский край\", \"Ставропольский край ставропольский край\",\"Северо-Кавказский федеральный округ\",\"Ставрополь\", \"2 886 108 ч.\", \"66 160 км²\", \"43,62 чел./км²\"),\n  getRegionData(39, \"https://server.ai-biolab.ru/api/csvSocTub/bashkortostan\", \"bashkortostan\", \"Республика Башкортостан\", \"Республика Башкортастан республика башкортастан\",\"Приволжский федеральный округ\",\"Уфа\", \"4 064 361 ч.\", \"142 947 км²\", \"28,4 чел./км²\"),\n  getRegionData(40, \"https://server.ai-biolab.ru/api/csvSocTub/maryal\", \"maryal\", \"Республика Марий Эл\", \"Республика Марий Эл республика марий эл\",\"Приволжский федеральный округ\",\"Йошкар-Ола\", \"696 459 ч.\", \"23 375 км²\", \"29,5 чел./км²\"),\n  getRegionData(41, \"https://server.ai-biolab.ru/api/csvSocTub/mordovia\", \"mordovia\", \"Республика Мордовия\", \"Республика Мордовия республика мордовия\",\"Приволжский федеральный округ\",\"Саранск\", \"765 891  ч.\", \"26 128 км²\", \"29,31 чел./км²\"),\n  getRegionData(42, \"https://server.ai-biolab.ru/api/csvSocTub/tatarstan\", \"tatarstan\", \"Республика Татарстан\", \"Республика Татарстан республика татарстан\",\"Приволжский федеральный округ\",\"Казань\", \"4 003 016 ч.\", \"67 847 км²\", \"56,57 чел./км²\"),\n  getRegionData(43, \"https://server.ai-biolab.ru/api/csvSocTub/udmurtia\", \"udmurtia\", \"Удмуртская Республика\", \"Удмуртская Республика удмуртская республика\",\"Приволжский федеральный округ\",\"Ижевск\", \"1 434 557  ч.\", \"42 061 км²\", \"34,11 чел./км²\"),\n  getRegionData(44, \"https://server.ai-biolab.ru/api/csvSocTub/chuvashia\", \"chuvashia\", \"Чувашская Республика\", \"Чувашская Республика чувашская республика\",\"Приволжский федеральный округ\",\"Чебоксары\", \"1 167 061 ч.\", \"18 343 км²\", \"63,62 чел./км²\"),\n  getRegionData(45, \"https://server.ai-biolab.ru/api/csvSocTub/perm\", \"perm\", \"Пермский край\", \"Пермский край пермский край\",\"Приволжский федеральный округ\",\"Пермь\", \"2 495 266 ч.\", \"160 236 км²\", \"15,57 чел./км²\"),\n  getRegionData(46, \"https://server.ai-biolab.ru/api/csvSocTub/kirov\", \"kirov\", \"Кировская область\", \"Кировская область кировская область\",\"Северо-Кавказский федеральный округ\",\"Киров\", \"1 129 935 ч.\", \"120 400 км²\", \"9,39 чел./км²\"),\n  getRegionData(47, \"https://server.ai-biolab.ru/api/csvSocTub/nizhniynovgorod\", \"nizhniynovgorod\", \"Нижегородская область\", \"Нижегородская область нижегородская область\",\"Северо-Кавказский федеральный округ\",\"Нижний Новгород\", \"3 060 335 ч.\", \"76 624 км²\", \"39,94 чел./км²\"),\n  getRegionData(48, \"https://server.ai-biolab.ru/api/csvSocTub/orenburg\", \"orenburg\", \"Оренбургская область\", \"Оренбургская область оренбургская область\",\"Северо-Кавказский федеральный округ\",\"Оренбург\", \"1 828 656 ч.\", \"123 702 км²\", \"14,78 чел./км²\"),\n  getRegionData(49, \"https://server.ai-biolab.ru/api/csvSocTub/penza\", \"penza\", \"Пензенская область\", \"Пензенская область пензенская область\",\"Приволжский федеральный округ\",\"Пенза\", \"1 236 113 ч.\", \"43 352 км²\", \"28,51 чел./км²\"),\n  getRegionData(50, \"https://server.ai-biolab.ru/api/csvSocTub/samara\", \"samara\", \"Самарская область\", \"Самарская область самарская область\",\"Приволжский федеральный округ\",\"Самара\", \"3 127 842 ч.\", \"53 565 км²\", \"58,39 чел./км²\"),\n  getRegionData(51, \"https://server.ai-biolab.ru/api/csvSocTub/saratov\", \"saratov\", \"Саратовская область\", \"Саратовская область саратовская область\",\"Приволжский федеральный округ\",\"Саратов\", \"2 385 163  ч.\", \"101 240 км²\", \"23,56 чел./км²\"),\n  getRegionData(52, \"https://server.ai-biolab.ru/api/csvSocTub/ulyanovsk\", \"ulyanovsk\", \"Ульяновская область\", \"Ульяновская область ульяновская область\",\"Приволжский федеральный округ\",\"Ульяновск\", \"1 172 782 ч.\", \"37 181 км²\", \"31,54 чел./км²\"),\n  getRegionData(53, \"https://server.ai-biolab.ru/api/csvSocTub/kurgan\", \"kurgan\", \"Курганская область\", \"Курганская область курганская область\",\"Уральский федеральный округ\",\"Курган\", \"753 002  ч.\", \"71 488 км²\", \"10,53 чел./км²\"),\n  getRegionData(54, \"https://server.ai-biolab.ru/api/csvSocTub/sverdlov\", \"sverdlov\", \"Свердловская область\", \"Свердловская область свердловская область\",\"Уральский федеральный округ\",\"Екатеринбург\", \"4 222 695 ч.\", \"194 226 км²\", \"21,73 чел./км²\"),\n  getRegionData(55, \"https://server.ai-biolab.ru/api/csvSocTub/tumen\", \"tumen\", \"Тюменская область\", \"Тюменская область тюменская область\",\"Уральский федеральный округ\",\"Тюмень\", \"3 890 800 ч.\", \"160 122 км²\", \"2,66 чел./км²\"),\n  getRegionData(56, \"https://server.ai-biolab.ru/api/csvSocTub/chelyabinsk\", \"chelyabinsk\", \"Челябинская область\", \"Челябинская область челябинская область\",\"Уральский федеральный округ\",\"Челябинск\", \"3 395 798 ч.\", \"88 529 км²\", \"38,36 чел./км²\"),\n  getRegionData(57, \"https://server.ai-biolab.ru/api/csvSocTub/respaltay\", \"respaltay\", \"Республика Алтай\", \"Республика Алтай республика алтай\",\"Сибирский федеральный округ\",\"Горно-Алтайск\", \"210 765 ч.\", \"92 903 км²\", \"2,27 чел./км²\"),\n  getRegionData(58, \"https://server.ai-biolab.ru/api/csvSocTub/resptyva\", \"resptyva\", \"Республика Тыва\", \"Республика Тыва республика тыва\",\"Сибирский федеральный округ\",\"Кызыл\", \"337 544 ч.\", \"168 604 км²\", \"2,0 чел./км²\"),\n  getRegionData(59, \"https://server.ai-biolab.ru/api/csvSocTub/resphakasia\", \"resphakasia\", \"Республика Хакасия\", \"Республика Хакасия республика хакасия\",\"Сибирский федеральный округ\",\"Абакан\", \"528 175 ч.\", \"61 569 км²\", \"8,58 чел./км²\"),\n  getRegionData(60, \"https://server.ai-biolab.ru/api/csvSocTub/altay\", \"altay\", \"Алтайский край\", \"Алтайский край алтайский край\",\"Сибирский федеральный округ\",\"Барнаул\", \"2 268 179 ч.\", \"167 996 км²\", \"13,5 чел./км²\"),\n  getRegionData(61, \"https://server.ai-biolab.ru/api/csvSocTub/krasnoyarsk\", \"krasnoyarsk\", \"Красноярский край\", \"Красноярский край красноярский край\",\"Сибирский федеральный округ\",\"Красноярск\", \"2 846 120 ч.\", \"2 366 797  км²\", \"1,2 чел./км²\"),\n  getRegionData(62, \"https://server.ai-biolab.ru/api/csvSocTub/irkutsk\", \"irkutsk\", \"Иркутская область\", \"Иркутская область иркутская область\",\"Сибирский федеральный округ\",\"Иркутск\", \"2 330 537 ч.\", \"774 846 км²\", \"3,01 чел./км²\"),\n  getRegionData(63, \"https://server.ai-biolab.ru/api/csvSocTub/kemerovo\", \"kemerovo\", \"Кемеровская область\", \"Кемеровская область кемеровская область\",\"Сибирский федеральный округ\",\"Кемерово\", \"2 547 684 ч.\", \"95 725 км²\", \"26,61 чел./км²\"),\n  getRegionData(64, \"https://server.ai-biolab.ru/api/csvSocTub/novosibirsk\", \"novosibirsk\", \"Новосибирская область\", \"Новосибирская область новосибирская область\",\"Сибирский федеральный округ\",\"Новосибирск\", \"2 779 375 ч.\", \"177 756 км²\", \"15,64 чел./км²\"),\n  getRegionData(65, \"https://server.ai-biolab.ru/api/csvSocTub/omsk\", \"omsk\", \"Омская область\", \"Омская область омская область\",\"Сибирский федеральный округ\",\"Омск\", \"1 879 548 ч.\", \"141 140 км²\", \"13,32 чел./км²\"),\n  getRegionData(66, \"https://server.ai-biolab.ru/api/csvSocTub/tomsk\", \"tomsk\", \"Томская область\", \"Томская область томская область\",\"Сибирский федеральный округ\",\"Томск\", \"1 043 385 ч.\", \"314 391 км²\", \"3,32 чел./км²\"),\n  getRegionData(67, \"https://server.ai-biolab.ru/api/csvSocTub/buryatia\", \"buryatia\", \"Республика Бурятия\", \"Республика Бурятия республика бурятия\",\"Дальневосточный федеральный округ\",\"Улан-Удэ\", \"971 922 ч.\", \"351 334 км²\", \"2,73 чел./км²\"),\n  getRegionData(68, \"https://server.ai-biolab.ru/api/csvSocTub/saha\", \"saha\", \"Республика Саха\", \"Республика Саха республика саха\",\"Дальневосточный федеральный округ\",\"Якутск\", \"1 001 664 ч.\", \"3 083 523 км²\", \"0,32 чел./км²\"),\n  getRegionData(69, \"https://server.ai-biolab.ru/api/csvSocTub/zabaikalsky\", \"zabaikalsky\", \"Забайкальский край\", \"Забайкальский край забайкальский край\",\"Дальневосточный федеральный округ\",\"Чита\", \"984 395 ч.\", \"168 604 км²\", \"2,28 чел./км²\"),\n  getRegionData(70, \"https://server.ai-biolab.ru/api/csvSocTub/kamchatsky\", \"kamchatsky\", \"Камчатский край\", \"Камчатский край камчатский край\",\"Дальневосточный федеральный округ\",\"Петропавловск-Камчатский\", \"288 947 ч.\", \"464 300 км²\", \"0,62 чел./км²\"),\n  getRegionData(71, \"https://server.ai-biolab.ru/api/csvSocTub/primorsk\", \"primorsk\", \"Приморский край\" , \"Приморский край приморский край\",\"Дальневосточный федеральный округ\",\"Владивосток\", \"1 806 393 ч.\", \"164 673 км²\", \"10,97 чел./км²\"),\n  getRegionData(72, \"https://server.ai-biolab.ru/api/csvSocTub/habarovsk\", \"habarovsk\", \"Хабаровский край\", \"Хабаровский край хабаровский край\",\"Дальневосточный федеральный округ\",\"Хабаровск\", \"1 278 132 ч.\", \"787 633  км²\", \"1,62 чел./км²\"),\n  getRegionData(73, \"https://server.ai-biolab.ru/api/csvSocTub/amursk\", \"amursk\", \"Амурская область\", \"Амурская область амурская область\",\"Дальневосточный федеральный округ\",\"Благовещенск\", \"750 083 ч.\", \"361 908 км²\", \"2,20 чел./км²\"),\n  getRegionData(74, \"https://server.ai-biolab.ru/api/csvSocTub/magadan\", \"magadan\", \"Магаданская область\", \"Магаданская область магаданская область\",\"Дальневосточный федеральный округ\",\"Магадан\", \"133 387 ч.\", \"462 464 км²\", \"0,29 чел./км²\"),\n  getRegionData(75, \"https://server.ai-biolab.ru/api/csvSocTub/sahalin\", \"sahalin\", \"Сахалинская область\", \"Сахалинская область сахалинская область\",\"Дальневосточный федеральный округ\",\"Южно-Сахалинск\", \"457 590 ч.\", \"87 101 км²\", \"5,25 чел./км²\"),\n  getRegionData(76, \"https://server.ai-biolab.ru/api/csvSocTub/evreiskaya\", \"evreiskaya\", \"Еврейская автономная область\", \"Еврейская автономная область еврейская автономная область\",\"Дальневосточный федеральный округ\",\"Биробиджан\", \"145 802 ч.\", \"36 300 км²\", \"4,02 чел./км²\"),\n  getRegionData(77, \"https://server.ai-biolab.ru/api/csvSocTub/chukotsk\", \"chukotsk\", \"Чукотский автономный округ\", \"Чукотский автономный округ чукотский автономный округ\",\"Дальневосточный федеральный округ\",\"Анадырь\", \"48 029 ч.\", \"721 481 км²\", \"0,07 чел./км²\"),\n\n//getRegionData(11, \"http://localhost:4000/api/csvSocTub/lipeck\", \"lipeck\", \"Липецкая область\", \"Липецкая область липецкая область\",\"Центральный федеральный округ\",\"Липецк\", \"1 116 265 ч.\", \"24 047 км²\", \"46,42 чел./км²\"),\n];\n\nconst variants = {\n  visible: (custom) => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2,\n    },\n  }),\n  hidden: {\n    opacity: 0,\n    y: 30,\n  },\n};\n\n\n\nexport function Tub() {\n  const [searchParams, setSearchParams] = useSearchParams();\n  const postQuery = searchParams.get('post') || '';\n  const [noResults, setNoResults] = useState(false);\n  const [showAllRegions, setShowAllRegions] = useState(false);\n\n  const handleSubmit = (e) => {\n    e.preventDefault();\n    const query = e.target.search.value;\n    setSearchParams({ post: query });\n  };\n\n  const filteredRegions = regions.filter(region => region.title2.includes(postQuery));\n  const filteredRegionsSoc = regionsSoc.filter(region => region.title2.includes(postQuery));\n\n  React.useEffect(() => {\n    setNoResults(filteredRegions.length === 0 && filteredRegionsSoc.length === 0);\n  }, [filteredRegions, filteredRegionsSoc]);\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container className=\"my-3\" style={{ height: \"120%\", width: \"100%\" }}>\n        <Container>\n          <motion.h3\n            initial=\"hidden\"\n            custom={1}\n            variants={variants}\n            whileInView=\"visible\"\n            viewport={{ amount: 0.1, once: true }}\n            className=\"my-3 text-secondary\"\n          >\n            <div>\n              <h4 className=\"mx-5 text-secondary\">Туберкулёз</h4>\n            </div>\n            <hr />\n            <form className=\"form\" autoComplete=\"off\" onSubmit={handleSubmit}>\n              <input type=\"search\" name=\"search\" />\n              <input type=\"submit\" value=\"Поиск\" />\n            </form>\n          </motion.h3>\n        </Container>\n        <Button className=\"my-2 all-region\" onClick={() => setShowAllRegions(!showAllRegions)}>\n        {showAllRegions ? \"Скрыть регионы\" : \"Показать все регионы\"}\n      </Button>\n        {noResults && (\n          <div className=\"text-center text-danger my-3\">\n            По вашему запросу регион не найден\n          </div>\n        )}\n              \n        <Tab.Container id=\"left-tabs-example\" defaultActiveKey={filteredRegions.length > 0 ? filteredRegions[0].eventKey : \"\"}>\n          <div className=\"horizontal-scroll\">\n            <Nav variant=\"pills\" defaultActiveKey=\"/home\" className=\"d-flex\">\n              {showAllRegions ?\n                filteredRegions.map((region, index) => (\n                  <Nav.Item key={region.id} className=\"region-button\">\n                    <OverlayTrigger\n                      placement=\"bottom\"\n                      overlay={\n                        <Popover>\n                          <Popover.Body>\n                            <div>{region.district}</div>\n                            <div>Административный центр — город {region.center}</div>\n                            <div>Население: {region.population}</div>\n                            <div>Площадь: {region.area}</div>\n                            <div>Плотность: {region.density}</div>\n                          </Popover.Body>\n                        </Popover>\n                      }\n                    >\n                      <motion.div\n                        initial=\"hidden\"\n                        custom={index + 1}\n                        variants={variants}\n                        whileInView=\"visible\"\n                        viewport={{ amount: 0.1, once: true }}\n                      >\n                        <Button\n                          className=\"shadow3\"\n                          size=\"sm\"\n                          variant=\"outline-info\"\n                          style={{ color: \"#FFFFFF\" }}\n                        >\n                          <Nav.Link eventKey={region.eventKey}>\n                            {region.title}\n                          </Nav.Link>\n                        </Button>\n                      </motion.div>\n                    </OverlayTrigger>\n                  </Nav.Item>\n                )) :\n                <Nav.Item key={filteredRegions[0].id} className=\"region-button\">\n                  {/* Отображаем только первый регион */}\n                </Nav.Item>\n              }\n            </Nav>\n          </div>\n          <Tab.Content>\n            {filteredRegions.map(region => (\n              <StaticTubData key={region.id} region={region} />\n            ))}\n            {filteredRegionsSoc.map(region => (\n              <StaticTubDataSoc key={region.id} region={region} />\n            ))}\n          </Tab.Content>\n        </Tab.Container>\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React from \"react\";\nimport {Navbar, Nav, Button, Container, NavDropdown, OverlayTrigger, Tooltip, Modal, Image, Stack} from 'react-bootstrap';\nimport {NavLink} from \"react-router-dom\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \".././styles.css\";\nimport ip_head from \"../images/ip_head.png\"\nimport logo_nav from \"../images/logo_nav.png\"\n\nconst setActive=({isActive}) => isActive ? 'active-link' : 'non-active';\nexport default function NaviBar() {\n\n  return (\n\n    <>\n      <Navbar collapseOnSelect expand=\"lg\" bg=\"\" variant=\"\" >\n        <Container className=\"py-1\">\n        <Navbar.Brand className=\"text-white\">\n        <Stack direction=\"both\" gap={3}>\n        <Image variant=\"bottom\" className = \"\"\n        src={logo_nav}\n        fluid\n        style={{ width: '9rem' }, {height: '9rem'}}\n        />{''}\n      <h3></h3></Stack></Navbar.Brand>\n      <Navbar.Toggle aria-controls=\"responsive-navbar-nav\" />\n        <Navbar.Collapse id=\"responsive-navbar-nav\">\n        <Nav className=\"me-auto\" className=\"justify-content-end flex-grow-1 pe-4\">\n        <Nav.Link><NavLink to=\"/news\" className={setActive} ><h5>Новости</h5></NavLink></Nav.Link>\n          \n          <h5><NavDropdown title={<span className=\"fdrop\">Научные направления</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/data_processing_and_analysis\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Обработка и анализ данных</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/the_spread_of_epidemics\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование и сценарии распространения эпидемий</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/social_processes\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование социальных процессов</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/pollution_modeling\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование загрязнений в регионах РФ</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/medicine\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Моделирование в медицине</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          <h5><NavDropdown title={<span className=\"fdrop\">Данные</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/data\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Данные для скачивания</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/links\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Полезные ссылки</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          <h5><NavDropdown title={<span className=\"fdrop\">Статистика</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/statistics\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Коронавирус</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/tub\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Туберкулёз</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n          \n          <div class=\"header__lang\">\n                    <a href=\"/\" class=\"header__lang-link active\">RU</a>\n                    <span>|</span>\n                    <a href=\"/EN/\" class=\"header__lang-link\">EN</a>\n                </div>\n        </Nav>\n        </Navbar.Collapse>\n        </Container>\n      </Navbar>\n    </>\n  )\n}\n//<Nav.Link><NavLink to=\"/data\"\n//className={setActive}><h5>Данные</h5></NavLink></Nav.Link>\n","import React from \"react\";\nimport {Container, Card, Image, Col, Row, Button} from 'react-bootstrap';\nimport NaviBar from './NaviBar';\nimport { motion } from \"framer-motion\"\nimport back_1 from \"../images/back_1.jpg\"\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nconst Main_picture = () => {\n    return (\n<Card\n  border=\"light\"\n  style={{\n    backgroundImage: `url(${back_1})`, \n    backgroundSize: 'cover', \n    height: '500px',\n    backgroundPosition: 'center', \n  }}\n>\n      <NaviBar />\n      <div align=\"left\" className=\"my-auto mx-auto\">\n        <b>\n        <motion.div initial=\"hidden\"\n          animate=\"visible\" custom={1}\n          variants={variants}>\n          <h2 className=\"text-white mp_info\"><b>Лаборатория ИИ-технологий математического моделирования</b></h2>\n          <h2 className=\"text-white mp_info\"><b>биологических, социально-экономических и экологических процессов</b></h2>\n          </motion.div>\n          </b>\n          <Button href=\"/modeling\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n          <div style={{ fontSize: 16 }}><b>Моделирование</b></div>\n        </Button>\n        \n      </div>\n      <Container>\n      <motion.div animate={{ opacity: 1 }} initial={{ opacity: 0 }} transition={{ duration: 3 }} className=\" my-3 support text-white\" align=\"center\"><i><b><h6>Проект поддержан Министерством науки и высшего образования РФ (проект FWNF-2024-0002) и Российским научным фондом (проект № 23-71-10068)</h6></b></i></motion.div>\n      </Container>\n    </Card>\n    )\n}\n\nexport default Main_picture;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getDisplayName;\nfunction getDisplayName(Component) {\n  return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","/**\n * Helper method to remove keys from the object\n *\n * @param {Object} obj Object to remove keys from\n * @param {string[]} arr List of keys to remove\n * @returns {Object} Object with omitted keys\n */\nexport const omit = (obj, arr) => {\n  const res = {};\n  for (var n in obj) {\n    if (arr.indexOf(n) === -1) res[n] = obj[n];\n  }\n  return res;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n  var printWarning = function printWarning(format, args) {\n    var len = arguments.length;\n    args = new Array(len > 1 ? len - 1 : 0);\n    for (var key = 1; key < len; key++) {\n      args[key - 1] = arguments[key];\n    }\n    var argIndex = 0;\n    var message = 'Warning: ' +\n      format.replace(/%s/g, function() {\n        return args[argIndex++];\n      });\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  }\n\n  warning = function(condition, format, args) {\n    var len = arguments.length;\n    args = new Array(len > 2 ? len - 2 : 0);\n    for (var key = 2; key < len; key++) {\n      args[key - 2] = arguments[key];\n    }\n    if (format === undefined) {\n      throw new Error(\n          '`warning(condition, format, ...args)` requires a warning ' +\n          'message argument'\n      );\n    }\n    if (!condition) {\n      printWarning.apply(null, [format].concat(args));\n    }\n  };\n}\n\nmodule.exports = warning;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\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 MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n  if (x === y) {\n    return x !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n}\n\nfunction createEventEmitter(value) {\n  var handlers = [];\n  return {\n    on: function on(handler) {\n      handlers.push(handler);\n    },\n    off: function off(handler) {\n      handlers = handlers.filter(function (h) {\n        return h !== handler;\n      });\n    },\n    get: function get() {\n      return value;\n    },\n    set: function set(newValue, changedBits) {\n      value = newValue;\n      handlers.forEach(function (handler) {\n        return handler(value, changedBits);\n      });\n    }\n  };\n}\n\nfunction onlyChild(children) {\n  return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n  var _Provider$childContex, _Consumer$contextType;\n\n  var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n  var Provider = function (_Component) {\n    _inherits(Provider, _Component);\n\n    function Provider() {\n      var _temp, _this, _ret;\n\n      _classCallCheck(this, Provider);\n\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n    }\n\n    Provider.prototype.getChildContext = function getChildContext() {\n      var _ref;\n\n      return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n    };\n\n    Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n      if (this.props.value !== nextProps.value) {\n        var oldValue = this.props.value;\n        var newValue = nextProps.value;\n        var changedBits = void 0;\n\n        if (objectIs(oldValue, newValue)) {\n          changedBits = 0; // No change\n        } else {\n          changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n          if (process.env.NODE_ENV !== 'production') {\n            (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n          }\n\n          changedBits |= 0;\n\n          if (changedBits !== 0) {\n            this.emitter.set(nextProps.value, changedBits);\n          }\n        }\n      }\n    };\n\n    Provider.prototype.render = function render() {\n      return this.props.children;\n    };\n\n    return Provider;\n  }(_react.Component);\n\n  Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n  var Consumer = function (_Component2) {\n    _inherits(Consumer, _Component2);\n\n    function Consumer() {\n      var _temp2, _this2, _ret2;\n\n      _classCallCheck(this, Consumer);\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n        value: _this2.getValue()\n      }, _this2.onUpdate = function (newValue, changedBits) {\n        var observedBits = _this2.observedBits | 0;\n        if ((observedBits & changedBits) !== 0) {\n          _this2.setState({ value: _this2.getValue() });\n        }\n      }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n    }\n\n    Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n      var observedBits = nextProps.observedBits;\n\n      this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n      : observedBits;\n    };\n\n    Consumer.prototype.componentDidMount = function componentDidMount() {\n      if (this.context[contextProp]) {\n        this.context[contextProp].on(this.onUpdate);\n      }\n      var observedBits = this.props.observedBits;\n\n      this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n      : observedBits;\n    };\n\n    Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n      if (this.context[contextProp]) {\n        this.context[contextProp].off(this.onUpdate);\n      }\n    };\n\n    Consumer.prototype.getValue = function getValue() {\n      if (this.context[contextProp]) {\n        return this.context[contextProp].get();\n      } else {\n        return defaultValue;\n      }\n    };\n\n    Consumer.prototype.render = function render() {\n      return onlyChild(this.props.children)(this.state.value);\n    };\n\n    return Consumer;\n  }(_react.Component);\n\n  Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n  return {\n    Provider: Provider,\n    Consumer: Consumer\n  };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","import React from 'react';\nimport createReactContext from 'create-react-context';\nimport name from 'react-display-name';\n\nexport const YMapsContext = createReactContext(null);\n\nexport const withYMapsContext = Component => {\n  const displayName = name(Component);\n\n  const WithYMapsContext = props => (\n    <YMapsContext.Consumer>\n      {ymaps => {\n        if (ymaps === null) {\n          const message =\n            \"Couldn't find Yandex.Maps API in the context. \" +\n            `Make sure that <${displayName} /> is inside <YMaps /> provider`;\n\n          throw new Error(message);\n        }\n        return <Component ymaps={ymaps} {...props} />;\n      }}\n    </YMapsContext.Consumer>\n  );\n\n  if (process.env.NODE_ENV !== 'production') {\n    WithYMapsContext.displayName = `withYMapsContext(${displayName})`;\n  }\n\n  return WithYMapsContext;\n};\n\nexport const ParentContext = createReactContext(null);\n\nexport const withParentContext = Component => {\n  const WithParentContext = props => (\n    <ParentContext.Consumer>\n      {parent => <Component parent={parent} {...props} />}\n    </ParentContext.Consumer>\n  );\n\n  if (process.env.NODE_ENV !== 'production') {\n    WithParentContext.displayName = `withParentContext(${name(Component)})`;\n  }\n\n  return WithParentContext;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport name from 'react-display-name';\n\nimport { omit } from './util/omit';\nimport { withYMapsContext } from './Context';\n\nexport default function withYMaps(Component, waitForApi = false, modules = []) {\n  class WithYMaps extends React.Component {\n    constructor() {\n      super();\n\n      this.state = { loading: true };\n      this._isMounted = false;\n    }\n\n    componentDidMount() {\n      this._isMounted = true;\n\n      this.props.ymaps\n        .load()\n        .then(api => {\n          return Promise.all(\n            modules.concat(this.props.modules).map(api.loadModule)\n          ).then(() => {\n            if (this._isMounted === true) {\n              this.setState({ loading: false }, () => {\n                this.props.onLoad(api);\n              });\n            }\n          });\n        })\n        .catch(err => {\n          if (this._isMounted === true) {\n            this.props.onError(err);\n          }\n        });\n    }\n\n    componentWillUnmount() {\n      this._isMounted = false;\n    }\n\n    render() {\n      const { ymaps } = this.props;\n      const { loading } = this.state;\n\n      const shouldRender = waitForApi === false || loading === false;\n\n      const props = omit(this.props, ['onLoad', 'onError', 'modules', 'ymaps']);\n\n      return shouldRender && <Component ymaps={ymaps.getApi()} {...props} />;\n    }\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    WithYMaps.displayName = `withYMaps(${name(Component)})`;\n\n    WithYMaps.propTypes = {\n      onLoad: PropTypes.func,\n      onError: PropTypes.func,\n      modules: PropTypes.arrayOf(PropTypes.string),\n      ymaps: PropTypes.object,\n    };\n  }\n\n  WithYMaps.defaultProps = {\n    onLoad: Function.prototype,\n    onError: Function.prototype,\n    modules: [],\n  };\n\n  return withYMapsContext(WithYMaps);\n}\n","import set from './util/set';\n\nconst YMAPS_ONLOAD = '__yandex-maps-api-onload__';\n\nconst YMAPS_ONERROR = '__yandex-maps-api-onerror__';\n\nfunction getBaseUrl(isEnterprise) {\n  return `https://${isEnterprise ? 'enterprise.' : ''}api-maps.yandex.ru`;\n}\n\nconst YMAPS_DEFAULT_QUERY = {\n  lang: 'ru_RU',\n  load: '',\n  ns: '',\n  mode: process.env.NODE_ENV !== 'production' ? 'debug' : 'release',\n};\n\nconst PROMISES = {};\n\nexport class YMaps {\n  constructor(options) {\n    const hash = Date.now().toString(32);\n\n    this.options = options;\n    this.namespace = options.query.ns || YMAPS_DEFAULT_QUERY.ns;\n\n    this.onload = YMAPS_ONLOAD + '$$' + hash;\n    this.onerror = YMAPS_ONERROR + '$$' + hash;\n\n    this.api;\n    this.promise;\n  }\n\n  getApi() {\n    return typeof window !== 'undefined' && this.namespace\n      ? window[this.namespace]\n      : this.api;\n  }\n\n  setApi(api) {\n    return (this.api = api);\n  }\n\n  getPromise() {\n    return this.namespace ? PROMISES[this.namespace] : this.promise;\n  }\n\n  setPromise(promise) {\n    return this.namespace\n      ? (PROMISES[this.namespace] = this.promise = promise)\n      : (this.promise = promise);\n  }\n\n  load() {\n    if (this.getApi()) return Promise.resolve(this.setApi(this.getApi()));\n    if (this.getPromise()) return this.setPromise(this.getPromise());\n\n    const query = Object.assign(\n      {\n        onload: this.onload,\n        onerror: this.onerror,\n      },\n      YMAPS_DEFAULT_QUERY,\n      this.options.query\n    );\n\n    const queryString = Object.keys(query)\n      .map(key => `${key}=${query[key]}`)\n      .join('&');\n\n    const baseUrl = getBaseUrl(this.options.enterprise);\n\n    const url = [baseUrl, this.options.version, '?' + queryString].join('/');\n\n    const promise = new Promise((resolve, reject) => {\n      window[this.onload] = ymaps => {\n        delete window[this.onload];\n        ymaps.loadModule = this.loadModule.bind(this);\n        ymaps.ready(() => resolve(this.setApi(ymaps)));\n      };\n\n      window[this.onerror] = err => {\n        delete window[this.onerror];\n        reject(err);\n      };\n\n      this.fetchScript(url).catch(window[this.onerror]);\n    });\n\n    return this.setPromise(promise);\n  }\n\n  fetchScript(url) {\n    return new Promise((resolve, reject) => {\n      this.script = document.createElement('script');\n\n      this.script.type = 'text/javascript';\n      this.script.onload = resolve;\n      this.script.onerror = reject;\n      this.script.src = url;\n      this.script.async = 'async';\n\n      document.head.appendChild(this.script);\n    });\n  }\n\n  loadModule(moduleName) {\n    return new Promise((resolve, reject) => {\n      this.getApi().modules.require(\n        moduleName,\n        Module => {\n          set(this.api, moduleName, Module, true);\n          resolve(Module);\n        },\n        reject,\n        this.getApi()\n      );\n    });\n  }\n}\n\nYMaps._name = '__react-yandex-maps__';\n","/**\n * Set value in object by path\n *\n * @param {Object} object Object to set value to\n * @param {string | string[]} path Path to value\n * @param {any} value Value\n * @param {boolean} [ifNotExists] Will skip setting value if value exists\n */\nconst set = (object, path, value, ifNotExists = false) => {\n  path = typeof path === 'string' ? path.split('.') : path.slice();\n  let key,\n    ref = object;\n  while (path.length > 1) {\n    key = path.shift();\n    if (!ref[key]) ref[key] = {};\n    ref = ref[key];\n  }\n  ref[path[0]] = ifNotExists === true ? ref[path[0]] || value : value;\n  return object;\n};\n\nexport default set;\n","/* global __DOCZ__ */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { YMapsContext } from './Context';\nimport { YMaps } from './YMaps';\n\nexport default class Provider extends React.Component {\n  constructor(props) {\n    super(props);\n    this.ymaps = new YMaps(props);\n  }\n\n  componentDidMount() {\n    if (this.props.preload === true) {\n      this.ymaps.load();\n    }\n  }\n\n  render() {\n    return (\n      <YMapsContext.Provider value={this.ymaps}>\n        {this.props.children}\n      </YMapsContext.Provider>\n    );\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  Provider.propTypes = {\n    version: PropTypes.string.isRequired,\n    enterprise: PropTypes.bool,\n\n    // Yandex.Maps API avaliable query params\n    // https://tech.yandex.com/maps/doc/jsapi/2.1/dg/concepts/load-docpage/\n    // Some query params will be omitted in any case because they are used\n    // by the library: onload, onerror\n    query: PropTypes.shape({\n      lang: PropTypes.oneOf([\n        'tr_TR',\n        'en_US',\n        'en_RU',\n        'ru_RU',\n        'ru_UA',\n        'uk_UA',\n      ]),\n      apikey: PropTypes.string,\n      coordorder: PropTypes.oneOf(['latlong', 'longlat']),\n      load: PropTypes.string,\n      mode: PropTypes.oneOf(['release', 'debug']),\n      csp: PropTypes.bool,\n      ns: PropTypes.string,\n    }),\n\n    children: PropTypes.node,\n\n    // Allows provider to preload Yandex.Maps API even if\n    // there are no map components on the page\n    preload: PropTypes.bool,\n  };\n}\n\nProvider.defaultProps = {\n  version: '2.1',\n  enterprise: false,\n  query: {\n    lang: 'ru_RU',\n    load: '',\n    ns: __DOCZ__ === true ? '__docz_default_ymaps_namespace__' : '',\n  },\n  preload: false,\n};\n","const EVENTS_REGEX = /^on(?=[A-Z])/;\n\n/**\n * Separates YMaps events from other component props based on prop name\n *\n * @param {Object} props Component props\n * @returns {Object} Separated _event props and other component props\n */\nexport function separateEvents(props) {\n  return Object.keys(props).reduce(\n    (acc, key) => {\n      if (EVENTS_REGEX.test(key)) {\n        const eventName = key.replace(EVENTS_REGEX, '').toLowerCase();\n        acc._events[eventName] = props[key];\n      } else {\n        acc[key] = props[key];\n      }\n\n      return acc;\n    },\n    { _events: {} }\n  );\n}\n\n/**\n * Adds event to YMaps object\n *\n * @param {Object} instance YMaps object instance\n * @param {string} eventName Event name (e.g., \"onclick\", \"ontouchstart\")\n * @param {Function} handler Event handler method\n */\nexport function addEvent(instance, eventName, handler) {\n  if (typeof handler === 'function') {\n    instance.events.add(eventName, handler);\n  }\n}\n\n/**\n * Removes event from YMaps object\n *\n * @param {Object} instance YMaps object instance\n * @param {string} eventName Event name (e.g., \"onclick\", \"ontouchstart\")\n * @param {Function} handler Event handler method\n */\nexport function removeEvent(instance, eventName, handler) {\n  if (typeof handler === 'function') {\n    instance.events.remove(eventName, handler);\n  }\n}\n\n/**\n * Given two objects with new and old events, checks if event was\n * changed and updates it by removing the old one and adding the\n * new one\n *\n * @param {Object} instance YMaps object instance\n * @param {Object} oldEvents Map of old events\n * @param {Object} newEvents Map of new events\n */\nexport function updateEvents(instance, oldEvents, newEvents) {\n  Object.keys(Object.assign({}, oldEvents, newEvents)).forEach(eventName => {\n    if (oldEvents[eventName] !== newEvents[eventName]) {\n      removeEvent(instance, eventName, oldEvents[eventName]);\n      addEvent(instance, eventName, newEvents[eventName]);\n    }\n  });\n}\n","const defaultName = name =>\n  'default' + name.charAt(0).toUpperCase() + name.slice(1);\n\n/**\n * Checks if key exists on an object\n *\n * @param {Object} props Component props\n * @param {string} key Prop key\n * @returns {boolean} Check result\n */\nexport function isControlledProp(props, key) {\n  return props[key] !== undefined || props[defaultName(key)] === undefined;\n}\n\n/**\n * Checks if prop exists, otherwise returns \"uncontrolled\"\n * prop that starts with default (e.g., defaultValue)\n *\n * @param {Object} props Component props\n * @param {string} key Prop key\n * @param {any} defaultValue\n * @return {any} Prop value\n */\nexport function getProp(props, key, defaultValue) {\n  return (\n    (isControlledProp(props, key) ? props[key] : props[defaultName(key)]) ||\n    defaultValue\n  );\n}\n","/**\n * Mimics React ref behavior. First cleans oldRef, if possible, then applies new ref value\n * https://reactjs.org/docs/refs-and-the-dom.html#caveats-with-callback-refs\n *\n * @param {Object<{current: T}> | Function} oldRef\n * @param {Object<{current: T}> | Function?} newRef\n * @param {T?} value\n */\nexport default function applyRef(oldRef, newRef, value = null) {\n  if (oldRef !== newRef) {\n    if (oldRef) {\n      if (oldRef.hasOwnProperty('current')) {\n        oldRef.current = null;\n      } else if (typeof oldRef === 'function') {\n        oldRef(null);\n      }\n    }\n\n    if (!newRef) return;\n\n    if (newRef.hasOwnProperty('current')) {\n      newRef.current = value;\n    } else if (typeof newRef === 'function') {\n      newRef(value);\n    }\n  }\n}\n","/**\n * Return style object depends on props\n *\n * @param {Object} props Component props\n * @returns {Object} Style object result\n */\nexport default function getParentElementSize(props) {\n  const { width, height, style, className } = props;\n\n  if (typeof style !== 'undefined' || typeof className !== 'undefined') {\n    return Object.assign({}, style && { style }, className && { className });\n  }\n\n  return { style: { width, height } };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as events from './util/events';\nimport { omit } from './util/omit';\nimport { getProp, isControlledProp } from './util/props';\nimport withYMaps from './withYMaps';\nimport { ParentContext } from './Context';\nimport applyRef from './util/ref';\nimport getParentElementSize from './util/getParentElementSize';\n\nexport class Map extends React.Component {\n  constructor() {\n    super();\n    this.state = { instance: null };\n    this._parentElement = null;\n    this._getRef = ref => {\n      this._parentElement = ref;\n    };\n  }\n\n  componentDidMount() {\n    const instance = Map.mountObject(\n      this._parentElement,\n      this.props.ymaps.Map,\n      this.props\n    );\n\n    this.setState({ instance });\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.state.instance !== null) {\n      Map.updateObject(this.state.instance, prevProps, this.props);\n    }\n  }\n\n  componentWillUnmount() {\n    Map.unmountObject(this.state.instance, this.props);\n  }\n\n  render() {\n    const parentElementStyle = getParentElementSize(this.props);\n    const separatedProps = events.separateEvents(this.props);\n\n    const parentElementProps = omit(separatedProps, [\n      '_events',\n      'state',\n      'defaultState',\n      'options',\n      'defaultOptions',\n      'instanceRef',\n      'ymaps',\n      'children',\n      'width',\n      'height',\n      'style',\n      'className',\n    ]);\n\n    return (\n      <ParentContext.Provider value={this.state.instance}>\n        <div ref={this._getRef} {...parentElementStyle} {...parentElementProps}>\n          {this.props.children}\n        </div>\n      </ParentContext.Provider>\n    );\n  }\n\n  static mountObject(parentElement, Map, props) {\n    const { instanceRef, _events } = events.separateEvents(props);\n\n    const state = getProp(props, 'state');\n    const options = getProp(props, 'options');\n\n    const instance = new Map(parentElement, state, options);\n\n    Object.keys(_events).forEach(key =>\n      events.addEvent(instance, key, _events[key])\n    );\n\n    applyRef(null, instanceRef, instance);\n\n    return instance;\n  }\n\n  static updateObject(instance, oldProps, newProps) {\n    const { _events: newEvents, instanceRef } = events.separateEvents(newProps);\n    const { _events: oldEvents, instanceRef: oldRef } = events.separateEvents(\n      oldProps\n    );\n\n    if (isControlledProp(newProps, 'state')) {\n      const oldState = getProp(oldProps, 'state', {});\n      const newState = getProp(newProps, 'state', {});\n\n      if (oldState.type !== newState.type) {\n        instance.setType(newState.type);\n      }\n\n      if (oldState.behaviors !== newState.behaviors) {\n        if (oldState.behaviors) instance.behaviors.disable(oldState.behaviors);\n        if (newState.behaviors) instance.behaviors.enable(newState.behaviors);\n      }\n\n      if (newState.zoom && oldState.zoom !== newState.zoom) {\n        instance.setZoom(newState.zoom);\n      }\n\n      if (newState.center && oldState.center !== newState.center) {\n        instance.setCenter(newState.center);\n      }\n\n      if (newState.bounds && oldState.bounds !== newState.bounds) {\n        instance.setBounds(newState.bounds);\n      }\n    }\n\n    if (isControlledProp(newProps, 'options')) {\n      const oldOptions = getProp(oldProps, 'options');\n      const newOptions = getProp(newProps, 'options', {});\n\n      if (oldOptions !== newOptions) {\n        instance.options.set(newOptions);\n      }\n    }\n\n    if (\n      getProp(oldProps, 'width') !== getProp(newProps, 'width') ||\n      getProp(oldProps, 'height') !== getProp(newProps, 'height')\n    ) {\n      instance.container.fitToViewport();\n    }\n\n    events.updateEvents(instance, oldEvents, newEvents);\n\n    applyRef(oldRef, instanceRef, instance);\n  }\n\n  static unmountObject(instance, props) {\n    const { instanceRef, _events } = events.separateEvents(props);\n\n    if (instance !== null) {\n      Object.keys(_events).forEach(key =>\n        events.removeEvent(instance, key, _events[key])\n      );\n\n      instance.destroy();\n\n      // Clean used ref\n      applyRef(instanceRef);\n    }\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const MapStatePropTypes = {\n    bounds: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n    center: PropTypes.arrayOf(PropTypes.number),\n    controls: PropTypes.arrayOf(PropTypes.string),\n    behaviors: PropTypes.arrayOf(PropTypes.string),\n    margin: PropTypes.oneOfType([\n      PropTypes.arrayOf(PropTypes.number),\n      PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n    ]),\n    type: PropTypes.oneOf(['yandex#map', 'yandex#satellite', 'yandex#hybrid']),\n    zoom: PropTypes.number,\n  };\n\n  // TODO: https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Map-docpage/\n  const MapOptionsPropTypes = {};\n\n  Map.propTypes = {\n    /**\n     * [Map state parameters](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Map-docpage/#param-state)\n     */\n    state: PropTypes.shape(MapStatePropTypes),\n    /**\n     * Uncontrolled [Map state parameters](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Map-docpage/#param-state)\n     */\n    defaultState: PropTypes.shape(MapStatePropTypes),\n\n    /**\n     * [Map options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Map-docpage/#Map__param-options)\n     */\n    options: PropTypes.shape(MapOptionsPropTypes),\n    /**\n     * Uncontrolled [Map options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Map-docpage/#Map__param-options)\n     */\n    defaultOptions: PropTypes.shape(MapOptionsPropTypes),\n\n    /**\n     * YMaps object ref\n     */\n    instanceRef: PropTypes.func,\n\n    ymaps: PropTypes.object,\n\n    children: PropTypes.node,\n\n    /**\n     * Yandex.Maps Map parent element should have at least\n     * some size set to it, otherwise the map is rendered\n     * into the container with size 0\n     *\n     * To avoid this we will use `width` and `height` props as default\n     * way of sizing the map element, but then if we see that\n     * the library user also provides `style` or `className` prop,\n     * we will assume that the Map is sized by those and will\n     * not use these\n     */\n\n    /**\n     * Map container width\n     */\n    width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n    /**\n     * Map container height\n     */\n    height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n    /**\n     * Map container style\n     */\n    style: PropTypes.object,\n\n    /**\n     * Map container className\n     */\n    className: PropTypes.string,\n  };\n}\n\nMap.defaultProps = {\n  width: 320,\n  height: 240,\n};\n\nexport default withYMaps(Map, true, ['Map']);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { getProp, isControlledProp } from './util/props';\nimport withYMaps from './withYMaps';\nimport * as events from './util/events';\nimport applyRef from './util/ref';\nimport getParentElementSize from './util/getParentElementSize';\n\nexport class Panorama extends React.Component {\n  constructor() {\n    super();\n    this.state = { instance: null };\n    this._parentElement = null;\n    this._getRef = ref => {\n      this._parentElement = ref;\n    };\n  }\n\n  componentDidMount() {\n    this._mounted = true;\n\n    if (!this.props.ymaps.panorama.isSupported()) {\n      return;\n    }\n\n    Panorama.mountObject(\n      this._parentElement,\n      this.props.ymaps.panorama,\n      this.props\n    ).then(instance => this._mounted && this.setState({ instance }));\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.state.instance !== null) {\n      Panorama.updateObject(this.state.instance, prevProps, this.props);\n    }\n  }\n\n  componentWillUnmount() {\n    this._mounted = false;\n    Panorama.unmountObject(this.state.instance, this.props);\n  }\n\n  render() {\n    const parentElementStyle = getParentElementSize(this.props);\n\n    return <div ref={this._getRef} {...parentElementStyle} />;\n  }\n\n  static mountObject(parentElement, panorama, props) {\n    const { instanceRef, _events } = events.separateEvents(props);\n\n    const point = getProp(props, 'point');\n    const locateOptions = getProp(props, 'locateOptions');\n    const options = getProp(props, 'options');\n\n    return new Promise((resolve, reject) => {\n      panorama.locate(point, locateOptions).done(panoramas => {\n        if (panoramas.length > 0) {\n          const instance = new panorama.Player(\n            parentElement,\n            panoramas[0],\n            options\n          );\n\n          applyRef(null, instanceRef, instance);\n\n          Object.keys(_events).forEach(key =>\n            events.addEvent(instance, key, _events[key])\n          );\n\n          resolve(instance);\n        }\n      }, reject);\n    });\n  }\n\n  static updateObject(instance, oldProps, newProps) {\n    const { _events: newEvents, instanceRef } = events.separateEvents(newProps);\n    const { _events: oldEvents, instanceRef: oldRef } = events.separateEvents(\n      oldProps\n    );\n\n    if (isControlledProp(newProps, 'options')) {\n      const oldOptions = getProp(oldProps, 'options');\n      const newOptions = getProp(newProps, 'options');\n\n      if (oldOptions !== newOptions) {\n        instance.options.set(newOptions);\n      }\n    }\n\n    if (isControlledProp(newProps, 'point')) {\n      const point = getProp(newProps, 'point');\n      const oldPoint = getProp(oldProps, 'point');\n      const locateOptions = getProp(newProps, 'locateOptions');\n\n      if (point !== oldPoint) {\n        instance.moveTo(point, locateOptions);\n      }\n    }\n\n    events.updateEvents(instance, oldEvents, newEvents);\n\n    applyRef(oldRef, instanceRef, instance);\n  }\n\n  static unmountObject(instance, props) {\n    const { instanceRef, _events } = events.separateEvents(props);\n\n    if (instance !== null) {\n      Object.keys(_events).forEach(key =>\n        events.removeEvent(instance, key, _events[key])\n      );\n\n      // Clean used ref\n      applyRef(instanceRef);\n    }\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const PanoramaOptionsPropTypes = {};\n\n  Panorama.propTypes = {\n    /**\n     * [Panorama options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/panorama.Player-docpage/#panorama.Player__param-options)\n     */\n    options: PropTypes.shape(PanoramaOptionsPropTypes),\n    /**\n     * Uncontrolled [Panorama options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/panorama.Player-docpage/#panorama.Player__param-options)\n     */\n    defaultOptions: PropTypes.shape(PanoramaOptionsPropTypes),\n\n    /**\n     * The point for searching for nearby panoramas.\n     */\n    point: PropTypes.arrayOf(PropTypes.number),\n    /**\n     * Uncontrolled point for searching for nearby panoramas.\n     */\n    defaultPoint: PropTypes.arrayOf(PropTypes.number),\n\n    /**\n     * Panorama [locate options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/panorama.locate-docpage/#panorama.locate__param-options)\n     */\n    locateOptions: PropTypes.shape({\n      layer: PropTypes.oneOf(['yandex#panorama', 'yandex#airPanorama']),\n    }),\n\n    /**\n     * YMaps object ref\n     */\n    instanceRef: PropTypes.func,\n\n    ymaps: PropTypes.object,\n\n    children: PropTypes.node,\n\n    /**\n     * Yandex.Maps Panorama parent element should have at least\n     * some size set to it, otherwise the panorama is rendered\n     * into the container with size 0\n     *\n     * To avoid this we will use `width` and `height` props as default\n     * way of sizing the panorama element, but then if we see that\n     * the library user also provides `style` or `className` prop,\n     * we will assume that the panorama is sized by those and will\n     * not use these\n     */\n\n    /**\n     * Panorama container width\n     */\n    width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n    /**\n     * Panorama container height\n     */\n    height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n    /**\n     * Panorama container style\n     */\n    style: PropTypes.object,\n\n    /**\n     * Panorama container className\n     */\n    className: PropTypes.string,\n  };\n}\n\nPanorama.defaultProps = {\n  width: 320,\n  height: 240,\n};\n\nexport default withYMaps(Panorama, true, [\n  'panorama.isSupported',\n  'panorama.locate',\n  'panorama.createPlayer',\n  'panorama.Player',\n]);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as events from '../util/events';\nimport { getProp, isControlledProp } from '../util/props';\nimport { ParentContext } from '../Context';\nimport applyRef from '../util/ref';\n\nexport class BaseControl extends React.Component {\n  constructor() {\n    super();\n    this.state = { instance: null };\n  }\n\n  componentDidMount() {\n    const instance = BaseControl.mountControl(\n      this.props.ymaps.control[this.props.name],\n      this.props\n    );\n\n    this.setState({ instance });\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.state.instance !== null) {\n      BaseControl.updateControl(this.state.instance, prevProps, this.props);\n    }\n  }\n\n  componentWillUnmount() {\n    BaseControl.unmountControl(this.state.instance, this.props);\n  }\n\n  render() {\n    return (\n      <ParentContext.Provider value={this.state.instance}>\n        {this.props.children}\n      </ParentContext.Provider>\n    );\n  }\n\n  static mountControl(Control, props) {\n    const { instanceRef, parent, lazy, _events } = events.separateEvents(props);\n\n    const data = getProp(props, 'data');\n    const options = getProp(props, 'options');\n    const state = getProp(props, 'state');\n    const mapTypes = getProp(props, 'mapTypes');\n\n    const instance = new Control({ data, options, state, mapTypes, lazy });\n\n    Object.keys(_events).forEach(key =>\n      events.addEvent(instance, key, _events[key])\n    );\n\n    if (\n      parent &&\n      parent.controls &&\n      typeof parent.controls.add === 'function'\n    ) {\n      parent.controls.add(instance);\n    } else if (parent && parent.add && typeof parent.add === 'function') {\n      parent.add(instance);\n    } else {\n      throw new Error(`No parent found to mount ${props.name}`);\n    }\n\n    applyRef(null, instanceRef, instance);\n\n    return instance;\n  }\n\n  static updateControl(instance, oldProps, newProps) {\n    const { _events: newEvents, instanceRef } = events.separateEvents(newProps);\n    const { _events: oldEvents, instanceRef: oldRef } = events.separateEvents(\n      oldProps\n    );\n\n    if (isControlledProp(newProps, 'options')) {\n      const oldOptions = getProp(oldProps, 'options');\n      const newOptions = getProp(newProps, 'options');\n\n      if (oldOptions !== newOptions) {\n        instance.options.set(newOptions);\n      }\n    }\n\n    if (isControlledProp(newProps, 'data')) {\n      const oldData = getProp(oldProps, 'data');\n      const newData = getProp(newProps, 'data');\n\n      if (oldData !== newData) {\n        instance.data.set(newData);\n      }\n    }\n\n    if (isControlledProp(newProps, 'state')) {\n      const oldState = getProp(oldProps, 'state');\n      const newState = getProp(newProps, 'state');\n\n      if (oldState !== newState) {\n        instance.state.set(newState);\n      }\n    }\n\n    if (isControlledProp(newProps, 'mapTypes')) {\n      const oldMapTypes = getProp(oldProps, 'mapTypes');\n      const newMapTypes = getProp(newProps, 'mapTypes');\n\n      if (oldMapTypes !== newMapTypes) {\n        instance.removeAllMapTypes();\n        newMapTypes.forEach(type => instance.addMapType(type));\n      }\n    }\n\n    events.updateEvents(instance, oldEvents, newEvents);\n\n    applyRef(oldRef, instanceRef, instance);\n  }\n\n  static unmountControl(instance, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    if (instance !== null) {\n      Object.keys(_events).forEach(key =>\n        events.removeEvent(instance, key, _events[key])\n      );\n\n      if (parent.controls && typeof parent.controls.remove === 'function') {\n        parent.controls.remove(instance);\n      } else if (parent.remove && typeof parent.remove === 'function') {\n        parent.remove(instance);\n      }\n\n      applyRef(instanceRef);\n    }\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  BaseControl.propTypes = {\n    children: PropTypes.node,\n\n    /** ref prop but for Yandex.Maps object instances */\n    instanceRef: PropTypes.func,\n\n    /** Yandex.Maps API object */\n    ymaps: PropTypes.object,\n\n    /** Parent object (e.g, ymaps.Map or ymaps.Clusterer) */\n    parent: PropTypes.object,\n\n    /** Control name */\n    name: PropTypes.oneOf([\n      'Button',\n      'FullscreenControl',\n      'GeolocationControl',\n      'ListBox',\n      'ListBoxItem',\n      'RouteButton',\n      'RouteEditor',\n      'RoutePanel',\n      'RulerControl',\n      'SearchControl',\n      'TrafficControl',\n      'TypeSelector',\n      'ZoomControl',\n    ]).isRequired,\n  };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function TypeSelector(props) {\n  return <BaseControl {...props} name=\"TypeSelector\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  TypeSelector.propTypes = {\n    /**\n     * [Array of constructors for map types](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TypeSelector-docpage/#control.TypeSelector__param-parameters.mapTypes) or keys. If the parameter is omitted, the item is added to the standard set of map types.\n     */\n    mapTypes: PropTypes.arrayOf(\n      PropTypes.oneOf(['yandex#map', 'yandex#satellite', 'yandex#hybrid'])\n    ),\n    /**\n     * Uncontroled [array of constructors for map types](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TypeSelector-docpage/#control.TypeSelector__param-parameters.mapTypes) or keys. If the parameter is omitted, the item is added to the standard set of map types.\n     */\n    defaultMapTypes: PropTypes.arrayOf(\n      PropTypes.oneOf(['yandex#map', 'yandex#satellite', 'yandex#hybrid'])\n    ),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TypeSelector-docpage/#control.TypeSelector__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TypeSelector-docpage/#control.TypeSelector__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TypeSelector-docpage/#control.TypeSelector__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TypeSelector-docpage/#control.TypeSelector__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(TypeSelector, true, [`control.TypeSelector`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function Button(props) {\n  return <BaseControl {...props} name=\"Button\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  Button.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.Button-docpage/#control.Button__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.Button-docpage/#control.Button__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.Button-docpage/#control.Button__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.Button-docpage/#control.Button__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.Button-docpage/#control.Button__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.Button-docpage/#control.Button__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(Button, true, [`control.Button`]));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function FullscreenControl(props) {\n  return <BaseControl {...props} name=\"FullscreenControl\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  FullscreenControl.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.FullscreenControl-docpage/#control.FullscreenControl__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.FullscreenControl-docpage/#control.FullscreenControl__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.FullscreenControl-docpage/#control.FullscreenControl__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.FullscreenControl-docpage/#control.FullscreenControl__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.FullscreenControl-docpage/#control.FullscreenControl__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.FullscreenControl-docpage/#control.FullscreenControl__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(FullscreenControl, true, [`control.FullscreenControl`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function GeolocationControl(props) {\n  return <BaseControl {...props} name=\"GeolocationControl\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  GeolocationControl.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.GeolocationControl-docpage/#control.GeolocationControl__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.GeolocationControl-docpage/#control.GeolocationControl__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.GeolocationControl-docpage/#control.GeolocationControl__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.GeolocationControl-docpage/#control.GeolocationControl__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.GeolocationControl-docpage/#control.GeolocationControl__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.GeolocationControl-docpage/#control.GeolocationControl__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(GeolocationControl, true, [`control.GeolocationControl`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function ListBox(props) {\n  return <BaseControl {...props} name=\"ListBox\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  ListBox.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBox-docpage/#control.ListBox__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBox-docpage/#control.ListBox__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBox-docpage/#control.ListBox__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBox-docpage/#control.ListBox__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBox-docpage/#control.ListBox__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBox-docpage/#control.ListBox__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(ListBox, true, [`control.ListBox`]));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function ListBoxItem(props) {\n  return <BaseControl {...props} name=\"ListBoxItem\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  ListBoxItem.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBoxItem-docpage/#control.ListBoxItem__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBoxItem-docpage/#control.ListBoxItem__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBoxItem-docpage/#control.ListBoxItem__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBoxItem-docpage/#control.ListBoxItem__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBoxItem-docpage/#control.ListBoxItem__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ListBoxItem-docpage/#control.ListBoxItem__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(ListBoxItem, true, [`control.ListBoxItem`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function RouteButton(props) {\n  return <BaseControl {...props} name=\"RouteButton\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  RouteButton.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteButton-docpage/#control.RouteButton__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteButton-docpage/#control.RouteButton__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteButton-docpage/#control.RouteButton__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteButton-docpage/#control.RouteButton__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteButton-docpage/#control.RouteButton__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteButton-docpage/#control.RouteButton__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(RouteButton, true, [`control.RouteButton`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function RouteEditor(props) {\n  return <BaseControl {...props} name=\"RouteEditor\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  RouteEditor.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteEditor-docpage/#control.RouteEditor__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteEditor-docpage/#control.RouteEditor__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteEditor-docpage/#control.RouteEditor__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteEditor-docpage/#control.RouteEditor__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteEditor-docpage/#control.RouteEditor__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RouteEditor-docpage/#control.RouteEditor__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(RouteEditor, true, [`control.RouteEditor`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function RoutePanel(props) {\n  return <BaseControl {...props} name=\"RoutePanel\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  RoutePanel.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RoutePanel-docpage/#control.RoutePanel__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RoutePanel-docpage/#control.RoutePanel__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RoutePanel-docpage/#control.RoutePanel__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RoutePanel-docpage/#control.RoutePanel__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RoutePanel-docpage/#control.RoutePanel__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RoutePanel-docpage/#control.RoutePanel__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(RoutePanel, true, [`control.RoutePanel`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function RulerControl(props) {\n  return <BaseControl {...props} name=\"RulerControl\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  RulerControl.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RulerControl-docpage/#control.RulerControl__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RulerControl-docpage/#control.RulerControl__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RulerControl-docpage/#control.RulerControl__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RulerControl-docpage/#control.RulerControl__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RulerControl-docpage/#control.RulerControl__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.RulerControl-docpage/#control.RulerControl__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(RulerControl, true, [`control.RulerControl`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function SearchControl(props) {\n  return <BaseControl {...props} name=\"SearchControl\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  SearchControl.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#control.SearchControl__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#control.SearchControl__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#control.SearchControl__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#control.SearchControl__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#control.SearchControl__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#control.SearchControl__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(SearchControl, true, [`control.SearchControl`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function TrafficControl(props) {\n  return <BaseControl {...props} name=\"TrafficControl\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  TrafficControl.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TrafficControl-docpage/#control.TrafficControl__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TrafficControl-docpage/#control.TrafficControl__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TrafficControl-docpage/#control.TrafficControl__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TrafficControl-docpage/#control.TrafficControl__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TrafficControl-docpage/#control.TrafficControl__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.TrafficControl-docpage/#control.TrafficControl__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(TrafficControl, true, [`control.TrafficControl`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseControl } from './BaseControl';\n\nexport function ZoomControl(props) {\n  return <BaseControl {...props} name=\"ZoomControl\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  ZoomControl.propTypes = {\n    /**\n     * Control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ZoomControl-docpage/#control.ZoomControl__param-parameters.data)\n     */\n    data: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [data](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ZoomControl-docpage/#control.ZoomControl__param-parameters.data)\n     */\n    defaultData: PropTypes.shape({}),\n\n    /**\n     * Control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ZoomControl-docpage/#control.ZoomControl__param-parameters.options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ZoomControl-docpage/#control.ZoomControl__param-parameters.options)\n     */\n    defaultOptions: PropTypes.shape({}),\n\n    /**\n     * Control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ZoomControl-docpage/#control.ZoomControl__param-parameters.state)\n     */\n    state: PropTypes.shape({}),\n    /**\n     * Uncontrolled control [state](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/control.ZoomControl-docpage/#control.ZoomControl__param-parameters.state)\n     */\n    defaultState: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(\n  withYMaps(ZoomControl, true, [`control.ZoomControl`])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as events from '../util/events';\nimport { getProp, isControlledProp } from '../util/props';\nimport applyRef from '../util/ref';\n\nexport class BaseGeoObject extends React.Component {\n  constructor() {\n    super();\n    this.state = { instance: null };\n  }\n\n  componentDidMount() {\n    const { name, ymaps, dangerZone } = this.props;\n\n    const instance = BaseGeoObject.mountObject(\n      dangerZone && typeof dangerZone.modifyConstructor === 'function'\n        ? dangerZone.modifyConstructor(ymaps[name])\n        : ymaps[name],\n      this.props\n    );\n\n    this.setState({ instance });\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.state.instance !== null) {\n      BaseGeoObject.updateObject(this.state.instance, prevProps, this.props);\n    }\n  }\n\n  componentWillUnmount() {\n    BaseGeoObject.unmountObject(this.state.instance, this.props);\n  }\n\n  render() {\n    return null;\n  }\n\n  static mountObject(GeoObject, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    const geometry = getProp(props, 'geometry');\n    const properties = getProp(props, 'properties');\n    const options = getProp(props, 'options');\n\n    const instance = new GeoObject(geometry, properties, options);\n\n    Object.keys(_events).forEach(key =>\n      events.addEvent(instance, key, _events[key])\n    );\n\n    if (\n      parent &&\n      parent.geoObjects &&\n      typeof parent.geoObjects.add === 'function'\n    ) {\n      parent.geoObjects.add(instance);\n    } else if (parent && parent.add && typeof parent.add === 'function') {\n      parent.add(instance);\n    } else {\n      throw new Error(`No parent found to mount ${props.name}`);\n    }\n\n    applyRef(null, instanceRef, instance);\n\n    return instance;\n  }\n\n  static updateObject(instance, oldProps, newProps) {\n    const { _events: newEvents, instanceRef } = events.separateEvents(newProps);\n    const { _events: oldEvents, instanceRef: oldRef } = events.separateEvents(\n      oldProps\n    );\n\n    if (isControlledProp(newProps, 'geometry')) {\n      const oldGeometry = getProp(oldProps, 'geometry', {});\n      const newGeometry = getProp(newProps, 'geometry', {});\n\n      if (Array.isArray(newGeometry) && newGeometry !== oldGeometry) {\n        if (\n          // Circle geometry is a special case\n          Array.isArray(newGeometry[0]) &&\n          typeof newGeometry[1] === 'number'\n        ) {\n          instance.geometry.setCoordinates(newGeometry[0]);\n          instance.geometry.setRadius(newGeometry[1]);\n        } else {\n          instance.geometry.setCoordinates(newGeometry);\n        }\n      } else if (typeof newGeometry === 'object') {\n        if (newGeometry.coordinates !== oldGeometry.coordinates) {\n          instance.geometry.setCoordinates(newGeometry.coordinates);\n        }\n\n        if (newGeometry.radius !== oldGeometry.radius) {\n          instance.geometry.setRadius(newGeometry.radius);\n        }\n      }\n    }\n\n    if (isControlledProp(newProps, 'properties')) {\n      const oldProperties = getProp(oldProps, 'properties');\n      const newProperties = getProp(newProps, 'properties');\n\n      if (oldProperties !== newProperties) {\n        instance.properties.set(newProperties);\n      }\n    }\n\n    if (isControlledProp(newProps, 'options')) {\n      const oldOptions = getProp(oldProps, 'options');\n      const newOptions = getProp(newProps, 'options');\n\n      if (oldOptions !== newOptions) {\n        instance.options.set(newOptions);\n      }\n    }\n\n    events.updateEvents(instance, oldEvents, newEvents);\n\n    applyRef(oldRef, instanceRef, instance);\n  }\n\n  static unmountObject(instance, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    if (instance !== null) {\n      Object.keys(_events).forEach(key =>\n        events.removeEvent(instance, key, _events[key])\n      );\n\n      if (parent.geoObjects && typeof parent.geoObjects.remove === 'function') {\n        parent.geoObjects.remove(instance);\n      } else if (parent.remove && typeof parent.remove === 'function') {\n        parent.remove(instance);\n      }\n\n      applyRef(instanceRef);\n    }\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  BaseGeoObject.propTypes = {\n    /** ref prop but for Yandex.Maps object instances */\n    instanceRef: PropTypes.func,\n\n    /** Yandex.Maps API object */\n    ymaps: PropTypes.object,\n\n    /** Parent object (e.g, ymaps.Map or ymaps.Clusterer) */\n    parent: PropTypes.object,\n\n    /** GeoObject name */\n    name: PropTypes.oneOf([\n      'GeoObject',\n      'Placemark',\n      'Polyline',\n      'Rectangle',\n      'Polygon',\n      'Circle',\n    ]).isRequired,\n\n    /**\n     * Used in a special case where constructor needs to be\n     * modified before passing it to the mount method\n     */\n    dangerZone: PropTypes.shape({\n      modifyConstructor: PropTypes.func,\n    }),\n  };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as events from '../util/events';\nimport { getProp, isControlledProp } from '../util/props';\nimport { withParentContext, ParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\nimport applyRef from '../util/ref';\n\nexport class Clusterer extends React.Component {\n  constructor() {\n    super();\n    this.state = { instance: null };\n  }\n\n  componentDidMount() {\n    const instance = Clusterer.mountObject(\n      this.props.ymaps.Clusterer,\n      this.props\n    );\n\n    this.setState({ instance });\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.state.instance !== null) {\n      Clusterer.updateObject(this.state.instance, prevProps, this.props);\n    }\n  }\n\n  componentWillUnmount() {\n    Clusterer.unmountObject(this.state.instance, this.props);\n  }\n\n  render() {\n    return (\n      <ParentContext.Provider value={this.state.instance}>\n        {this.props.children}\n      </ParentContext.Provider>\n    );\n  }\n\n  static mountObject(Clusterer, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    const options = getProp(props, 'options');\n\n    const instance = new Clusterer(options);\n\n    Object.keys(_events).forEach(key =>\n      events.addEvent(instance, key, _events[key])\n    );\n\n    if (parent.geoObjects && typeof parent.geoObjects.add === 'function') {\n      parent.geoObjects.add(instance);\n    } else if (parent.add && typeof parent.add === 'function') {\n      parent.add(instance);\n    } else {\n      throw new Error('No parent found to mount Clusterer');\n    }\n\n    applyRef(null, instanceRef, instance);\n\n    return instance;\n  }\n\n  static updateObject(instance, oldProps, newProps) {\n    const { _events: newEvents, instanceRef } = events.separateEvents(newProps);\n    const { _events: oldEvents, instanceRef: oldRef } = events.separateEvents(\n      oldProps\n    );\n\n    if (isControlledProp(newProps, 'options')) {\n      const oldOptions = getProp(oldProps, 'options');\n      const newOptions = getProp(newProps, 'options');\n\n      if (oldOptions !== newOptions) {\n        instance.options.set(newOptions);\n      }\n    }\n\n    events.updateEvents(instance, oldEvents, newEvents);\n\n    applyRef(oldRef, instanceRef, instance);\n  }\n\n  static unmountObject(instance, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    if (instance !== null) {\n      Object.keys(_events).forEach(key =>\n        events.removeEvent(instance, key, _events[key])\n      );\n\n      if (parent.geoObjects && typeof parent.geoObjects.remove === 'function') {\n        parent.geoObjects.remove(instance);\n      } else if (parent.remove && typeof parent.remove === 'function') {\n        parent.remove(instance);\n      }\n\n      applyRef(instanceRef);\n    }\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  Clusterer.propTypes = {\n    /** Clusterer [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Clusterer-docpage/) */\n    options: PropTypes.shape({}),\n    /** Uncontrolled Clusterer [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Clusterer-docpage/) */\n    defaultOptions: PropTypes.shape({}),\n\n    instanceRef: PropTypes.func,\n\n    ymaps: PropTypes.object,\n\n    parent: PropTypes.object,\n\n    children: PropTypes.node,\n  };\n}\n\nexport default withParentContext(withYMaps(Clusterer, true, ['Clusterer']));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as events from '../util/events';\nimport { getProp, isControlledProp } from '../util/props';\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\nimport applyRef from '../util/ref';\n\nexport class ObjectManager extends React.Component {\n  constructor() {\n    super();\n    this.state = { instance: null };\n  }\n\n  componentDidMount() {\n    const instance = ObjectManager.mountObject(\n      this.props.ymaps.ObjectManager,\n      this.props\n    );\n\n    this.setState({ instance });\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.state.instance !== null) {\n      ObjectManager.updateObject(this.state.instance, prevProps, this.props);\n    }\n  }\n\n  componentWillUnmount() {\n    ObjectManager.unmountObject(this.state.instance, this.props);\n  }\n\n  render() {\n    return null;\n  }\n\n  static mountObject(ObjectManager, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    const options = getProp(props, 'options', {});\n    const features = getProp(props, 'features', {});\n    const filter = getProp(props, 'filter', null);\n    const objects = getProp(props, 'objects', {});\n    const clusters = getProp(props, 'clusters', {});\n\n    const instance = new ObjectManager(options);\n\n    instance.add(features || []);\n\n    instance.setFilter(filter);\n\n    instance.objects.options.set(objects);\n    instance.clusters.options.set(clusters);\n\n    Object.keys(_events).forEach(key =>\n      events.addEvent(instance, key, _events[key])\n    );\n\n    if (parent.geoObjects && typeof parent.geoObjects.add === 'function') {\n      parent.geoObjects.add(instance);\n    } else if (parent.add && typeof parent.add === 'function') {\n      parent.add(instance);\n    } else {\n      throw new Error('No parent found to mount ObjectManager');\n    }\n\n    applyRef(null, instanceRef, instance);\n\n    return instance;\n  }\n\n  static updateObject(instance, oldProps, newProps) {\n    const { _events: newEvents, instanceRef } = events.separateEvents(newProps);\n    const { _events: oldEvents, instanceRef: oldRef } = events.separateEvents(\n      oldProps\n    );\n\n    if (isControlledProp(newProps, 'options')) {\n      const oldOptions = getProp(oldProps, 'options');\n      const newOptions = getProp(newProps, 'options');\n\n      if (oldOptions !== newOptions) {\n        instance.options.set(newOptions);\n      }\n    }\n\n    if (isControlledProp(newProps, 'objects')) {\n      const oldObjectsOptions = getProp(oldProps, 'objects');\n      const newObjectsOptions = getProp(newProps, 'objects');\n\n      if (oldObjectsOptions !== newObjectsOptions) {\n        instance.objects.options.set(newObjectsOptions);\n      }\n    }\n\n    if (isControlledProp(newProps, 'clusters')) {\n      const oldClustersOptions = getProp(oldProps, 'clusters');\n      const newClustersOptions = getProp(newProps, 'clusters');\n\n      if (oldClustersOptions !== newClustersOptions) {\n        instance.clusters.options.set(newClustersOptions);\n      }\n    }\n\n    if (isControlledProp(newProps, 'filter')) {\n      const oldFilter = getProp(oldProps, 'filter');\n      const newFilter = getProp(newProps, 'filter');\n\n      if (oldFilter !== newFilter) {\n        instance.setFilter(newFilter);\n      }\n    }\n\n    if (isControlledProp(newProps, 'features')) {\n      const oldFeatures = getProp(oldProps, 'features');\n      const newFeatures = getProp(newProps, 'features');\n\n      if (oldFeatures !== newFeatures) {\n        instance.remove(oldFeatures);\n        instance.add(newFeatures);\n      }\n    }\n\n    events.updateEvents(instance, oldEvents, newEvents);\n\n    applyRef(oldRef, instanceRef, instance);\n  }\n\n  static unmountObject(instance, props) {\n    const { instanceRef, parent, _events } = events.separateEvents(props);\n\n    if (instance !== null) {\n      Object.keys(_events).forEach(key =>\n        events.removeEvent(instance, key, _events[key])\n      );\n\n      if (parent.geoObjects && typeof parent.geoObjects.remove === 'function') {\n        parent.geoObjects.remove(instance);\n      } else if (parent.remove && typeof parent.remove === 'function') {\n        parent.remove(instance);\n      }\n\n      applyRef(instanceRef);\n    }\n  }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const TYPE_FEATURE = 'Feature';\n\n  const TYPE_FEATURE_COLLECTION = 'FeatureCollection';\n\n  // https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#add-param-objects\n  const FeaturePropType = PropTypes.shape({\n    id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n    type: PropTypes.oneOf([TYPE_FEATURE]).isRequired,\n    geometry: PropTypes.object.isRequired,\n    options: PropTypes.object,\n    properties: PropTypes.object,\n  });\n\n  // INFO: A hack to make recursive prop-type check work properly\n  const FeatureCollection = {\n    type: PropTypes.oneOf([TYPE_FEATURE_COLLECTION]).isRequired,\n  };\n\n  FeatureCollection.features = PropTypes.arrayOf(\n    PropTypes.oneOfType([PropTypes.shape(FeatureCollection), FeaturePropType])\n  ).isRequired;\n\n  const FeatureCollectionPropType = PropTypes.shape(FeatureCollection);\n\n  const FeaturesPropType = PropTypes.oneOfType([\n    PropTypes.arrayOf(\n      PropTypes.oneOfType([FeatureCollectionPropType, FeaturePropType])\n    ),\n    FeatureCollectionPropType,\n  ]);\n\n  const FilterPropType = PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.func,\n  ]);\n\n  // TODO\n  const ObjectManagerOptionsPropType = PropTypes.shape({});\n\n  // TODO\n  const ObjectManagerObjectsOptionsPropType = PropTypes.shape({});\n\n  // TODO\n  const ObjectManagerClustersOptionsPropType = PropTypes.shape({});\n\n  ObjectManager.propTypes = {\n    /**\n     * ObjectManager [features](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__add-param-objects)\n     */\n    features: FeaturesPropType,\n    /**\n     * Uncontrolled ObjectManager [features](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__add-param-objects)\n     */\n    defaultFeatures: FeaturesPropType,\n\n    /**\n     * ObjectManager [features filter](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__setFilter-param-filterFunction)\n     */\n    filter: FilterPropType,\n    /**\n     * Uncontrolled ObjectManager [features filter](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__setFilter-param-filterFunction)\n     */\n    defaultFilter: FilterPropType,\n\n    /**\n     * ObjectManager [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#ObjectManager__param-options)\n     */\n    options: ObjectManagerOptionsPropType,\n    /**\n     * Uncontrolled ObjectManager [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#ObjectManager__param-options)\n     */\n    defaultOptions: ObjectManagerOptionsPropType,\n\n    /** ObjectManager object options */\n    objects: ObjectManagerObjectsOptionsPropType,\n    defaultObjects: ObjectManagerObjectsOptionsPropType,\n\n    /** ObjectManager clusters options */\n    clusters: ObjectManagerClustersOptionsPropType,\n    defaultClusters: ObjectManagerClustersOptionsPropType,\n\n    /** ref prop but for Yandex.Maps object instances */\n    instanceRef: PropTypes.func,\n\n    /**\n     * @ignore\n     * Yandex.Maps API object\n     */\n    ymaps: PropTypes.object,\n\n    /**\n     * @ignore\n     * Parent object (e.g, ymaps.Map or ymaps.Clusterer)\n     */\n    parent: PropTypes.object,\n  };\n}\n\nexport default withParentContext(\n  withYMaps(ObjectManager, true, ['ObjectManager'])\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseGeoObject } from './BaseGeoObject';\n\nconst geoObjectDangerZoneProps = {\n  modifyConstructor(Constructor) {\n    /**\n     * The only difference between GeoObject and all the other,\n     * more specific GeoObject constructors (like Placemark, Circle,\n     * or Polyline) is the way in which the arguments are passed to\n     * the constructor. GeoObject expects `feature` with `geometry` and\n     * `properties` keys and all the other GeoObject constructors\n     * expect `geometry` and `properties` as separate arguments\n     *\n     * We will hack around this difference with our custom constructor.\n     * That way we can completely reuse GeoObject static methods.\n     */\n    function GeoObjectConstructor(geometry, properties, options) {\n      Constructor.call(this, { geometry, properties }, options);\n    }\n\n    GeoObjectConstructor.prototype = Constructor.prototype;\n\n    return GeoObjectConstructor;\n  },\n};\n\nexport function GeoObject(props) {\n  return (\n    <BaseGeoObject\n      {...props}\n      name=\"GeoObject\"\n      dangerZone={geoObjectDangerZoneProps}\n    />\n  );\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const GeoObjectGeometryPropTypes = PropTypes.shape({\n    type: PropTypes.oneOf([\n      'Point',\n      'LineString',\n      'Rectangle',\n      'Polygon',\n      'Circle',\n    ]).isRequired,\n    coordinates: PropTypes.oneOfType([\n      PropTypes.arrayOf(PropTypes.number),\n      PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n      PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number))),\n    ]).isRequired,\n    radius: PropTypes.number,\n  });\n\n  GeoObject.propTypes = {\n    /**\n     * GeoObject [feature.geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/#param-feature.geometry)\n     */\n    geometry: GeoObjectGeometryPropTypes,\n    /**\n     * Uncontrolled GeoObject [feature.geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/#param-feature.geometry)\n     */\n    defaultGeometry: GeoObjectGeometryPropTypes,\n\n    /**\n     * GeoObject [feature.properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/#param-feature.properties)\n     */\n    properties: PropTypes.shape({}),\n    /**\n     * Uncontrolled GeoObject [feature.properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/#param-feature.properties)\n     */\n    defaultProperties: PropTypes.shape({}),\n\n    /**\n     * GeoObject [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/#param-options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled GeoObject [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/GeoObject-docpage/#param-options)\n     */\n    defaultOptions: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(GeoObject, true, ['GeoObject']));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseGeoObject } from './BaseGeoObject';\n\nexport function Circle(props) {\n  return <BaseGeoObject {...props} name=\"Circle\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const CircleGeometryPropTypes = PropTypes.arrayOf(\n    PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)])\n  );\n\n  Circle.propTypes = {\n    /**\n     * Circle [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Circle-docpage/#param-geometry)\n     */\n    geometry: CircleGeometryPropTypes,\n    /**\n     * Uncontrolled circle [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Circle-docpage/#param-geometry)\n     */\n    defaultGeometry: CircleGeometryPropTypes,\n\n    /**\n     * Circle [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Circle-docpage/#param-properties)\n     */\n    properties: PropTypes.shape({}),\n    /**\n     * Uncontrolled circle [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Circle-docpage/#param-properties)\n     */\n    defaultProperties: PropTypes.shape({}),\n\n    /**\n     * Circle [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Circle-docpage/#param-options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled circle [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Circle-docpage/#param-options)\n     */\n    defaultOptions: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(Circle, true, ['Circle']));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseGeoObject } from './BaseGeoObject';\n\nexport function Placemark(props) {\n  return <BaseGeoObject {...props} name=\"Placemark\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const PlacemarkGeometryPropTypes = PropTypes.arrayOf(PropTypes.number);\n\n  Placemark.propTypes = {\n    /**\n     * Placemark [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Placemark-docpage/#param-geometry)\n     */\n    geometry: PlacemarkGeometryPropTypes,\n    /**\n     * Uncontrolled Placemark [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Placemark-docpage/#param-geometry)\n     */\n    defaultGeometry: PlacemarkGeometryPropTypes,\n\n    /**\n     * Placemark [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Placemark-docpage/#param-properties)\n     */\n    properties: PropTypes.shape({}),\n    /**\n     * Uncontrolled Placemark [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Placemark-docpage/#param-properties)\n     */\n    defaultProperties: PropTypes.shape({}),\n\n    /**\n     * Placemark [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Placemark-docpage/#param-options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled Placemark [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Placemark-docpage/#param-options)\n     */\n    defaultOptions: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(Placemark, true, ['Placemark']));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseGeoObject } from './BaseGeoObject';\n\nexport function Polygon(props) {\n  return <BaseGeoObject {...props} name=\"Polygon\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const PolygonGeometryPropTypes = PropTypes.arrayOf(\n    PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number))\n  );\n\n  Polygon.propTypes = {\n    /**\n     * Polygon [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polygon-docpage/#param-geometry)\n     */\n    geometry: PolygonGeometryPropTypes,\n    /**\n     * Uncontrolled Polygon [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polygon-docpage/#param-geometry)\n     */\n    defaultGeometry: PolygonGeometryPropTypes,\n\n    /**\n     * Polygon [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polygon-docpage/#param-properties)\n     */\n    properties: PropTypes.shape({}),\n    /**\n     * Uncontrolled Polygon [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polygon-docpage/#param-properties)\n     */\n    defaultProperties: PropTypes.shape({}),\n\n    /**\n     * Polygon [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polygon-docpage/#param-options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled Polygon [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polygon-docpage/#param-options)\n     */\n    defaultOptions: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(Polygon, true, ['Polygon']));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseGeoObject } from './BaseGeoObject';\n\nexport function Polyline(props) {\n  return <BaseGeoObject {...props} name=\"Polyline\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const PolylineGeometryPropTypes = PropTypes.arrayOf(\n    PropTypes.arrayOf(PropTypes.number)\n  );\n\n  Polyline.propTypes = {\n    /**\n     * Polyline [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polyline-docpage/#param-geometry)\n     */\n    geometry: PolylineGeometryPropTypes,\n    /**\n     * Uncontrolled Polyline [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polyline-docpage/#param-geometry)\n     */\n    defaultGeometry: PolylineGeometryPropTypes,\n\n    /**\n     * Polyline [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polyline-docpage/#param-properties)\n     */\n    properties: PropTypes.shape({}),\n    /**\n     * Uncontrolled Polyline [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polyline-docpage/#param-properties)\n     */\n    defaultProperties: PropTypes.shape({}),\n\n    /**\n     * Polyline [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polyline-docpage/#param-options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled Polyline [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Polyline-docpage/#param-options)\n     */\n    defaultOptions: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(Polyline, true, ['Polyline']));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withParentContext } from '../Context';\nimport withYMaps from '../withYMaps';\n\nimport { BaseGeoObject } from './BaseGeoObject';\n\nexport function Rectangle(props) {\n  return <BaseGeoObject {...props} name=\"Rectangle\" />;\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  const RectangleGeometryPropTypes = PropTypes.arrayOf(\n    PropTypes.arrayOf(PropTypes.number)\n  );\n\n  Rectangle.propTypes = {\n    /**\n     * Rectangle [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Rectangle-docpage/#param-geometry)\n     */\n    geometry: RectangleGeometryPropTypes,\n    /**\n     * Uncontrolled Rectangle [geometry](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Rectangle-docpage/#param-geometry)\n     */\n    defaultGeometry: RectangleGeometryPropTypes,\n\n    /**\n     * Rectangle [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Rectangle-docpage/#param-properties)\n     */\n    properties: PropTypes.shape({}),\n    /**\n     * Uncontrolled Rectangle [properties](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Rectangle-docpage/#param-properties)\n     */\n    defaultProperties: PropTypes.shape({}),\n\n    /**\n     * Rectangle [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Rectangle-docpage/#param-options)\n     */\n    options: PropTypes.shape({}),\n    /**\n     * Uncontrolled Rectangle [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/Rectangle-docpage/#param-options)\n     */\n    defaultOptions: PropTypes.shape({}),\n  };\n}\n\nexport default withParentContext(withYMaps(Rectangle, true, ['Rectangle']));\n","import React from \"react\";\nimport {Container, Card, Image, Col, Row} from 'react-bootstrap';\nimport { YMaps, Map, Placemark, ZoomControl} from 'react-yandex-maps';\nimport { BsFillTelephoneFill, BsFillEnvelopeFill, BsFillGeoAltFill} from \"react-icons/bs\";\n\nconst Main_contacts = () => {\n    return (\n      <Card border=\"light\" className=\"text-center bg-secondary text-white my-3 shadow1\">\n      <Card.Body>\n        <Row className=\"justify-content-md-center\" style={{\n                width: \"100%\" }}>\n          <Col xs= {6} md={4}>\n          <Container  className=\"\">\n          < BsFillGeoAltFill size={25} className=\"my-1\"/>\n            <h5 className=\"text-center\"> Адрес</h5>\n          </Container>\n            <p className=\"text-center\"> проспект Академика Коптюга, 4,\n             ИМ СО РАН, г.Новосибирск </p>\n          </Col>\n          <Col xs= {6} md={4}>\n          <Container  className=\"\">\n          <BsFillTelephoneFill size={25} className=\"my-1\"/>\n            <h5 className=\"text-center\"> Телефон</h5>\n            </Container>\n            <p className=\"text-center\"> +7 (383) 329-76-10 </p>\n          </Col>\n          <Col xs= {6} md={4}>\n          <Container  className=\"\">\n          <BsFillEnvelopeFill size={25} className=\"my-1\"/>\n            <h5 className=\"text-center\"> Email</h5>\n            </Container>\n            <p className=\"text-center\"> info@ai-biolab.ru </p>\n          </Col>\n        </Row>\n      </Card.Body>\n\n      <YMaps >\n        <div >\n          <Map defaultState={{ center: [54.8463754, 83.1039456], zoom: 15, controls: []}} width='100%'>\n          <ZoomControl options={{ float: 'right' }} />\n          <Placemark geometry={[54.8463754, 83.1039456]} />\n          </Map>\n\n        </div>\n      </YMaps>\n      </Card>\n\n    )\n}\n\nexport default Main_contacts;\n","import React from \"react\";\nimport { Container, Card, ListGroup } from 'react-bootstrap';\n\nconst Main_publications = () => {\n    const publications = [\n        {\n            year: 2024,\n            items: [\n                \n                {\n                    title: \"S. Kabanikhin, O. Krivorotko, A. Neverov, G. Kaminskiy, O. Semenova. Identification of the mathematical model of Tuberculosis and HIV co-infection dynamics.\",\n                    journal: \"Mathematics. 2024.\",\n                    volume: \"V. 12. Article 3636.\",\n                    doi: \"10.3390/math12233636\",\n                    link: \"https://ai-biolab.ru/data/mathematics-12-03636.pdf\"\n                },\n                {\n                    title: \"V. Petrakova. Inverse coefficient problem for epidemiological mean field formulation.\",\n                    journal: \"Mathematics 2024,\",\n                    volume: \"12(22), 3581;\",\n                    doi: \"10.3390/math12223581\",\n                    link: \"https://ai-biolab.ru/data/mathematics-12-03581-v2.pdf\"\n                },\n                {\n                    title: \"O. Krivorotko, N. Zyatkov. The Forecasting of the Spread of Infectious Diseases Based on Conditional Generative Adversarial Networks.\",\n                    journal: \"Mathematics 2024,\",\n                    volume: \"12, 3044.\",\n                    link: \"https://ai-biolab.ru/data/mathematics-12-03044.pdf\"\n                },\n                {\n                    title: \"O. Krivorotko, S. Kabanikhin. Artificial intelligence for COVID-19 spread modeling.\",\n                    journal: \"Journal of Inverse and Ill-Posed Problems.\",\n                    volume: \"Vol. 32, No.2.\",\n                    doi: \"10.1515/jiip-2024-0013\",\n                    link: \"https://ai-biolab.ru/data/COVID_review_10.1515_jiip-2024-0013.pdf\"\n                },\n                {\n                    title: \"G. Akindinov, O. Krivorotko, V. Matyukhin. Numerical solution of an inverse problem for a general hyperbolic heat equation.\",\n                    journal: \"In: Olenev, N., Evtushenko, Y., Jacimovic, M., Khachay, M., Malkova, V. (eds) Advances in Optimization and Applications.\",\n                    volume: \"OPTIMA 2023. Communications in Computer and Information Science, vol 1913.\",\n                    publisher: \"Springer, Cham.\",\n                    year: 2024,\n                    pages: \"P. 47-60.\"\n                }\n            ]\n        },\n    ];\n\n    return (\n        <Container style={{ padding: 0, margin: 0 }}>\n            {publications.map((pubYear) => (\n                <div key={pubYear.year} className=\"my-4\">\n                    <h3>{pubYear.year}</h3>\n                    <ListGroup as=\"ol\" variant=\"flush\" className=\"p-0 m-0\">\n                        {pubYear.items.map((item, index) => (\n                            <ListGroup.Item as=\"li\" key={index} className=\"p-0 m-0\">\n                                <a href={item.link} style={{ textDecoration: 'none' }}>\n                                    <Card className=\"pubcardcol\" style={{ margin: 0, padding: 0 }}>\n                                        <Card.Body>\n                                            <Card.Title>\n                                                <h5 align='left'>{item.title}</h5>\n                                            </Card.Title>\n                                            <Card.Text align='left'>\n                                                {item.journal && <span>{item.journal} </span>}\n                                                {item.volume && <span>{item.volume} </span>}\n                                                {item.pages && <span>{item.pages} </span>}\n                                                {item.details && <span>{item.details} </span>}\n                                                {item.conference && <span>{item.conference} </span>}\n                                                {item.doi && <span>DOI: {item.doi}</span>}\n                                            </Card.Text>\n                                        </Card.Body>\n                                    </Card>\n                                </a>\n                            </ListGroup.Item>\n                        ))}\n                    </ListGroup>\n                </div>\n            ))}\n        </Container>\n    );\n};\n\nexport default Main_publications;","import React, {forwardRef} from \"react\";\nimport {Container, Card, Image, Col, Row} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\n\n\nconst ConferenseItem = forwardRef((props, ref) => {\n    return (\n      <Col className=\"my-3\" ref={ref}>\n      <a href={props.conf.hreff}>\n        <Card border=\"light\" style={{ width: '24rem' }, { minWidth: '20rem' }} className=\"mx-auto shadow1 align-center\"  >\n        <Container style={{ width: '9rem' }, {height: '9rem'}} className=\" text-center\">\n        <Image variant=\"top\"  className=\"my-5\" style={{ width:  props.conf.width}, {height: props.conf.height}}\n        src={props.conf.image}\n        roundedCircle={props.conf.rounded}\n        fluid\n        />\n        </Container>\n          <Card.Body>\n            <Card.Title className=\"text-center\"><a href={props.conf.hreff} className=\"nav-link d-inline text-black\" target=\"_blank\" rel=\"noopener noreferrer\">{props.conf.name}</a></Card.Title>\n          </Card.Body>\n        </Card>\n        </a>\n      </Col>\n    )})\n\nconst MConferenseItem = motion(ConferenseItem);\nexport default MConferenseItem;\nexport {ConferenseItem}\n","import React, { useState } from 'react';\nimport {Container, Card, Row, Button, CarouselItem, CarouselCaption, Col } from 'react-bootstrap'\nimport MTeamItem from './Components/TeamItem'\nimport Main_picture from './Components/Main_picture'\nimport Main_contacts from './Components/Main_contacts'\nimport Main_publications from './Components/Main_publications'\nimport Main_conferences from './Components/Main_conferences'\nimport Main_publications_more_detailed from './Components/Main_publications_more_detailed'\nimport { motion } from \"framer-motion\"\nimport Zvonareva from \"./images/team/Zvonareva.png\"\nimport Krivorotko from \"./images/team/Krivorotko.png\"\nimport Zyatkov from \"./images/team/Zyatkov.png\"\nimport Neverov from \"./images/team/Neverov.png\"\nimport Petrakova from \"./images/team/Petrakova.jpg\"\nimport Kabanikhin from \"./images/team/Kabanikhin.jpg\"\nimport Koshelev from \"./images/team/Koshelev.jpg\"\nimport Semenova from \"./images/team/Semenova.jpg\"\nimport Mikhailapov from \"./images/team/Mikhailapov.png\"\nimport Footer from './Components/Footer'\nimport Question from \"./images/conf/Question.png\"\nimport Novikov from \"./images/team/Novikov.jpg\"\nimport {Carousel} from 'react-bootstrap'\nimport sem_a from \"./images/news/sem_a.PNG\"\nimport sem_b from \"./images/news/sem_b.PNG\"\nimport sem_c from \"./images/news/sem_c.PNG\"\nimport conf_bioresources from \"./images/conf/conf_bioresources.PNG\"\nimport conf_Dynamics from \"./images/conf/conf_Dynamics.PNG\"\nimport conf_e from \"./images/news/conf_e.PNG\"\nimport Sirius_conference from \"./images/conf/Sirius_conference.png\"\nimport conf_ModernProblemsOfInverseProblems from \"./images/conf/conf_ModernProblemsOfInverseProblems.png\"\n\n\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 100,\n },\n}\n\nconst itemAnimation = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nexport function Main() {\n\n  const newsItems = [\n    {\n      title: \"3 апреля пройдёт семинар лаборатории на тему «Почему живое плохо подходит для дифференциального и вероятностного моделирования»\",\n      date: \"29.03.2025\",\n      image: sem_a,\n      link: \"/Sem_o\"\n    },\n    {\n      title: \"20 марта пройдёт семинар лаборатории на тему «Полу-контролируемая классификация: Основные идеи»\",\n      date: \"19.03.2025\",\n      image: sem_b,\n      link: \"/Sem_n\"\n    },\n    {\n      title: \"6 марта состоится совместное заседание семинара «Прикладная статистика»  и семинара лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов\",\n      date: \"04.03.2025\",\n      image: sem_a,\n      link: \"/Sem_m\"\n    },\n    \n  ];\n\n  const posts = [\n    {id: 1, wid: '8rem', name: 'Криворотько Ольга Игоревна', url:'/Krivorotko_info', institution: 'д.ф.-м.н.,заведующий лабораторией',Phone:' 📞 +7(383) 329-7610',mail:'📩 o.i.krivorotko@math.nsc.ru', image: Krivorotko},\n    {id: 2, wid: '8rem', name: 'Новиков Никита Сергеевич ', institution: 'к.ф.-м.н.,старший научный сотрудник',Phone:'',mail:'📩 novikov-1989@yandex.ru', image: Novikov},\n    {id: 3, wid: '8rem', name: 'Зятьков Николай Юрьевич', url:'/Zyatkov_info', institution: 'к.т.н.,научный сотрудник',Phone:' 📞 +7(383) 329-7610',mail:'📩 n.y.zyatkov@math.nsc.ru ', image: Zyatkov},\n    {id: 4, wid: '8rem', name: 'Петракова Виктория Сергеевна ', url:'/Petrakova_info', institution: 'к.ф.-м.н., научный сотрудник',Phone:'📞 +7(923) 267-3748',mail:'📩 vika-svetlakova@yandex.ru', image: Petrakova},\n    {id: 5, wid: '8rem', name: 'Звонарева Татьяна Александровна ',url:'/Zvonareva_info', institution: 'младший научный сотрудник',Phone:' 📞 +7(383) 329-7611',mail:'📩 t.a.zvonareva@math.nsc.ru', image: Zvonareva},\n    {id: 6, wid: '8rem', name: 'Семёнова Диана Анзоровна ',url:'/Semenova_info', institution: 'младший научный сотрудник',Phone:'📞 +7(926) 189-8945',mail:'📩 dianasoulmate@yandex.ru', image: Semenova},\n    {id: 7, wid: '8rem', name: 'Неверов Андрей Вячеславович ',url:'/Neverov_info', institution: 'аспирант ИМ СО РАН',institution2:'инженер-исследователь',Phone:' 📞 +7(383) 3297611',mail:'📩 a.neverov@g.nsu.ru', image: Neverov},\n    {id: 8, wid: '8rem', name: 'Нестерова Ангелина Витальевна ',url:'/Nesterova_info', institution: 'аспирант ИМ СО РАН',institution2:'инженер-исследователь',Phone:'',mail:'📩 a.v.nesterova@math.nsc.ru' , image: Question},\n    {id: 9, wid: '8rem', name: 'Михайлапов Денис Иванович',url:'/Mikhailapov_info', institution: 'стажер-исследователь',Phone:'',mail:'📩 d.i.mikhailapov@math.nsc.ru', image: Mikhailapov},\n    {id: 10, wid: '8rem', name: 'Стрижак Сергей Владимирович ', institution: 'к.т.н., старший научный сотрудник',institution2:'',Phone:'',mail:'📩 strijhak@yandex.ru', image: Question},\n    {id: 11, wid: '8rem', name: 'Кошелев Константин Борисович ', institution: 'к.ф.-м.н., старший научный сотрудник',Phone:'',mail:'📩 koshelevkb@mail.ru', image: Koshelev},\n    {id: 12, wid: '8rem', name: 'Кабанихин Сергей Игоревич', url:'/Kabanikhin_info', institution: 'д.ф.-м.н.,член-корреспондент РАН,главный научный сотрудник',Phone:' 📞 +7 (383) 330-8353',mail:'📩 ksi52@mail.ru', image: Kabanikhin}\n  ]\n\n\n    const [hoveredIndex, setHoveredIndex] = useState(null);\n  \n    const conferences = [\n      {\n        title: \"Международная научно-практическая конференция «Биоресурсы, изменение климата и сохранение биоразнообразия: междисциплинарные подходы, инновационные решения»\",\n        image: conf_bioresources,\n        link: \"/Conf_bioresources\",\n        location: \"Онлайн-конференция\",\n        time: \"С 27 по 28 февраля 2025 года.\"\n      },\n      {\n        title: \"Научная конференция «Динамика в Сибири»\",\n        image: conf_Dynamics,\n        link: \"/Conf_dynamics\",\n        location: \"Институт математики им. С.Л. Соболева СО РАН.\",\n        time: \"С 24 февраля по 1 марта 2025 года.\"\n      },            \n    ];\n    const conferencestwo = [\n      {\n        title: \"Научная конференция «Математика искусственного интеллекта»\",\n        image: Sirius_conference,\n        link: \"/Conf_mathematicsAI\",\n        location: \"Международный математический центр Сириус\",\n        time: \"С 24 по 28 марта 2025 года.\"\n      },\n      {\n        title: \"IV Международная научно-практическая конференция «Инновационные методы математики и физики в экологических и гидрометеорологических исследованиях»\",\n        image: conf_ModernProblemsOfInverseProblems,\n        link: \"/Conf_innovativeMethods\",\n        location: \"Российский государственный гидрометеорологический университет\",\n        time: \"4 апреля 2025 года.\"\n      },            \n    ];\n\n  return(\n      <>\n      <Main_picture />\n        <Container >\n        <motion.div initial=\"hidden\" custom={2} variants={variants} whileInView=\"visible\" viewport={{ amount: 0.05, once: true }}>\n          <Card className=\"text-center bg-secondary text-white my-3\">\n            <Card.Title>\n              <h4 className=\"my-1\">Новости</h4>\n            </Card.Title>\n          </Card>\n        </motion.div>\n\n        <Row>\n          {newsItems.map((item, index) => (\n            <Col xs={12} md={6} lg={4} key={index} className=\"mb-4\"> {/* Измените размеры колонок здесь */}\n              <a href={item.link} style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article className=\"card_t\">\n        <div className=\"card_image_t\">\n          <img src={item.image} alt={item.title}></img>\n        </div>\n        <div className=\"card_content_t\">\n          <h5 className=\"card_title_t\">{item.title}</h5>\n          <p className=\"card_descr_t\">{item.date}</p>\n        </div>\n      </article>\n    </a>\n            </Col>\n          ))}\n        </Row>\n\n        <Button href=\"/News\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n          <div style={{ fontSize: 16 }}><b>Все новости</b></div>\n        </Button>\n          \n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n          <Card className=\"text-center bg-secondary text-white my-3\" >\n            <Card.Title> <h4 className=\"my-1 \">Состав лаборатории</h4> </Card.Title>\n          </Card>\n          </motion.div>\n          <motion.div  initial=\"hidden\"\n            animate=\"visible\">\n          <Container>\n            <Row xs={1} md={2} className=\"justify-content-md-center\" >\n              {posts.map((post, index) =>\n                  <MTeamItem  initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05, once: true}}\n                     custom={index + 1}\n                    variants={variants} key = {post.id} post = {post}/>\n              )}\n            </Row>\n          </Container>\n          </motion.div>\n\n          <motion.div initial=\"hidden\"\n          animate=\"visible\" custom={3}\n          variants={variants}>\n        </motion.div>\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"my-3\"><hr />\n          <h4 className=\"text-left mx-5 text-secondary\">Kонтакты</h4>\n            </motion.div>\n            <motion.div initial=\"hidden\"\n               custom={2}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n            <Main_contacts />\n          </motion.div>\n            <motion.div initial=\"hidden\"\n               custom={2}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"my-3\"><hr />\n          <h4 className=\"text-left mx-5 text-secondary\">Публикации</h4></motion.div>\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n            <Main_publications />\n            </motion.div>\n            <motion.div initial=\"hidden\"\n          animate=\"visible\" custom={2}\n          variants={variants}>\n          <Button href=\"/Main_publications_more_detailed\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>Подробнее</b></div></Button>\n            </motion.div>\n            <motion.div \n        initial=\"hidden\" \n        custom={2} \n        variants={variants} \n        whileInView=\"visible\" \n        viewport={{ amount: 0.05, once: true }}\n      >\n        <Card className=\"text-center bg-secondary text-white my-3\">\n          <Card.Title>\n            <h4 className=\"my-1\">Конференции</h4>\n          </Card.Title>\n        </Card>\n      </motion.div>\n\n      <div className=\"cards_container\">\n        <ul className=\"cards_t\">\n          {conferences.map((conf, index) => (\n            <li \n              key={index} \n              className=\"cards_item_conf\" \n              onMouseEnter={() => setHoveredIndex(index)} \n              onMouseLeave={() => setHoveredIndex(null)}\n            >\n              <a href={conf.link} style={{ textDecoration: 'none', color: 'inherit' }}>\n                <article className=\"card_conf\">\n                  <div className=\"card_image_conf my-4\">\n                    <img src={conf.image} alt=\"Конференция\" />\n                  </div>\n                  <div className=\"card_content_t\">\n                    <h5 className=\"card_title_t\">{conf.title}</h5>\n                    {hoveredIndex === index && (\n                      <div className=\"additional_info\">\n                        <p>{conf.title}</p>\n                        <p>Место проведения: {conf.location}</p>\n                        <p>Дата проведения: {conf.time}</p>\n                      </div>\n                    )}\n                  </div>\n                </article>\n              </a>\n            </li>\n          ))}\n        </ul>\n        <ul className=\"cards_t\">\n          {conferencestwo.map((conf, index) => (\n            <li \n              key={index} \n              className=\"cards_item_conf\" \n              onMouseEnter={() => setHoveredIndex(index)} \n              onMouseLeave={() => setHoveredIndex(null)}\n            >\n              <a href={conf.link} style={{ textDecoration: 'none', color: 'inherit' }}>\n                <article className=\"card_conf\">\n                  <div className=\"card_image_conf my-4\">\n                    <img src={conf.image} alt=\"Конференция\" />\n                  </div>\n                  <div className=\"card_content_t\">\n                    <h5 className=\"card_title_t\">{conf.title}</h5>\n                    {hoveredIndex === index && (\n                      <div className=\"additional_info\">\n                        <p>{conf.title}</p>\n                        <p>Место проведения: {conf.location}</p>\n                        <p>Дата проведения: {conf.time}</p>\n                      </div>\n                    )}\n                  </div>\n                </article>\n              </a>\n            </li>\n          ))}\n        </ul>\n        <Button \n          href=\"/Conferences\" \n          className=\"text-white shadow4 my-3 py-2 mp_info\" \n          variant=\"info\" \n          size=\"sm\"\n        >\n          <div style={{ fontSize: 16 }}><b>Все конференции</b></div>\n        </Button>\n      </div>\n            \n      </Container>\n      <Footer />\n    </>\n          \n)\n}\n","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n  let index = 0;\n  return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n  let index = 0;\n  React.Children.forEach(children, child => {\n    if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n  });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n  return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };","import * as React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseTabs from '@restart/ui/Tabs';\nimport Nav from './Nav';\nimport NavLink from './NavLink';\nimport NavItem from './NavItem';\nimport TabContent from './TabContent';\nimport TabPane from './TabPane';\nimport { forEach, map } from './ElementChildren';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getDefaultActiveKey(children) {\n  let defaultActiveKey;\n  forEach(children, child => {\n    if (defaultActiveKey == null) {\n      defaultActiveKey = child.props.eventKey;\n    }\n  });\n  return defaultActiveKey;\n}\nfunction renderTab(child) {\n  const {\n    title,\n    eventKey,\n    disabled,\n    tabClassName,\n    tabAttrs,\n    id\n  } = child.props;\n  if (title == null) {\n    return null;\n  }\n  return /*#__PURE__*/_jsx(NavItem, {\n    as: \"li\",\n    role: \"presentation\",\n    children: /*#__PURE__*/_jsx(NavLink, {\n      as: \"button\",\n      type: \"button\",\n      eventKey: eventKey,\n      disabled: disabled,\n      id: id,\n      className: tabClassName,\n      ...tabAttrs,\n      children: title\n    })\n  });\n}\nconst Tabs = props => {\n  const {\n    id,\n    onSelect,\n    transition,\n    mountOnEnter = false,\n    unmountOnExit = false,\n    variant = 'tabs',\n    children,\n    activeKey = getDefaultActiveKey(children),\n    ...controlledProps\n  } = useUncontrolled(props, {\n    activeKey: 'onSelect'\n  });\n  return /*#__PURE__*/_jsxs(BaseTabs, {\n    id: id,\n    activeKey: activeKey,\n    onSelect: onSelect,\n    transition: getTabTransitionComponent(transition),\n    mountOnEnter: mountOnEnter,\n    unmountOnExit: unmountOnExit,\n    children: [/*#__PURE__*/_jsx(Nav, {\n      ...controlledProps,\n      role: \"tablist\",\n      as: \"ul\",\n      variant: variant,\n      children: map(children, renderTab)\n    }), /*#__PURE__*/_jsx(TabContent, {\n      children: map(children, child => {\n        const childProps = {\n          ...child.props\n        };\n        delete childProps.title;\n        delete childProps.disabled;\n        delete childProps.tabClassName;\n        delete childProps.tabAttrs;\n        return /*#__PURE__*/_jsx(TabPane, {\n          ...childProps\n        });\n      })\n    })]\n  });\n};\nTabs.displayName = 'Tabs';\nexport default Tabs;","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n  /**\n   * Specify whether the feedback is for valid or invalid fields\n   *\n   * @type {('valid'|'invalid')}\n   */\n  type: PropTypes.string,\n  /** Display feedback as a tooltip. */\n  tooltip: PropTypes.bool,\n  as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n  as: Component = 'div',\n  className,\n  type = 'valid',\n  tooltip = false,\n  ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n  ...props,\n  ref: ref,\n  className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n  id,\n  bsPrefix,\n  className,\n  type = 'checkbox',\n  isValid = false,\n  isInvalid = false,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'input',\n  ...props\n}, ref) => {\n  const {\n    controlId\n  } = useContext(FormContext);\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ref: ref,\n    type: type,\n    id: id || controlId,\n    className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n  });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  htmlFor,\n  ...props\n}, ref) => {\n  const {\n    controlId\n  } = useContext(FormContext);\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n  return /*#__PURE__*/_jsx(\"label\", {\n    ...props,\n    ref: ref,\n    htmlFor: htmlFor || controlId,\n    className: classNames(className, bsPrefix)\n  });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n  id,\n  bsPrefix,\n  bsSwitchPrefix,\n  inline = false,\n  reverse = false,\n  disabled = false,\n  isValid = false,\n  isInvalid = false,\n  feedbackTooltip = false,\n  feedback,\n  feedbackType,\n  className,\n  style,\n  title = '',\n  type = 'checkbox',\n  label,\n  children,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as = 'input',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n  bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n  const {\n    controlId\n  } = useContext(FormContext);\n  const innerFormContext = useMemo(() => ({\n    controlId: id || controlId\n  }), [controlId, id]);\n  const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n  const input = /*#__PURE__*/_jsx(FormCheckInput, {\n    ...props,\n    type: type === 'switch' ? 'checkbox' : type,\n    ref: ref,\n    isValid: isValid,\n    isInvalid: isInvalid,\n    disabled: disabled,\n    as: as\n  });\n  return /*#__PURE__*/_jsx(FormContext.Provider, {\n    value: innerFormContext,\n    children: /*#__PURE__*/_jsx(\"div\", {\n      style: style,\n      className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, reverse && `${bsPrefix}-reverse`, type === 'switch' && bsSwitchPrefix),\n      children: children || /*#__PURE__*/_jsxs(_Fragment, {\n        children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n          title: title,\n          children: label\n        }), feedback && /*#__PURE__*/_jsx(Feedback, {\n          type: feedbackType,\n          tooltip: feedbackTooltip,\n          children: feedback\n        })]\n      })\n    })\n  });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n  Input: FormCheckInput,\n  Label: FormCheckLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  type,\n  size,\n  htmlSize,\n  id,\n  className,\n  isValid = false,\n  isInvalid = false,\n  plaintext,\n  readOnly,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'input',\n  ...props\n}, ref) => {\n  const {\n    controlId\n  } = useContext(FormContext);\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n  process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `<FormControl>` when `id` is specified.') : void 0;\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    type: type,\n    size: htmlSize,\n    ref: ref,\n    readOnly: readOnly,\n    id: id || controlId,\n    className: classNames(className, plaintext ? `${bsPrefix}-plaintext` : bsPrefix, size && `${bsPrefix}-${size}`, type === 'color' && `${bsPrefix}-color`, isValid && 'is-valid', isInvalid && 'is-invalid')\n  });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n  Feedback\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormFloating = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nFormFloating.displayName = 'FormFloating';\nexport default FormFloating;","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n  controlId,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  const context = useMemo(() => ({\n    controlId\n  }), [controlId]);\n  return /*#__PURE__*/_jsx(FormContext.Provider, {\n    value: context,\n    children: /*#__PURE__*/_jsx(Component, {\n      ...props,\n      ref: ref\n    })\n  });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'label',\n  bsPrefix,\n  column = false,\n  visuallyHidden = false,\n  className,\n  htmlFor,\n  ...props\n}, ref) => {\n  const {\n    controlId\n  } = useContext(FormContext);\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n  let columnClass = 'col-form-label';\n  if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n  const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n  process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `<FormLabel>` when `htmlFor` is specified.') : void 0;\n  htmlFor = htmlFor || controlId;\n  if (column) return /*#__PURE__*/_jsx(Col, {\n    ref: ref,\n    as: \"label\",\n    className: classes,\n    htmlFor: htmlFor,\n    ...props\n  });\n  return (\n    /*#__PURE__*/\n    // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n    _jsx(Component, {\n      ref: ref,\n      className: classes,\n      htmlFor: htmlFor,\n      ...props\n    })\n  );\n});\nFormLabel.displayName = 'FormLabel';\nexport default FormLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  id,\n  ...props\n}, ref) => {\n  const {\n    controlId\n  } = useContext(FormContext);\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n  return /*#__PURE__*/_jsx(\"input\", {\n    ...props,\n    type: \"range\",\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    id: id || controlId\n  });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  size,\n  htmlSize,\n  className,\n  isValid = false,\n  isInvalid = false,\n  id,\n  ...props\n}, ref) => {\n  const {\n    controlId\n  } = useContext(FormContext);\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n  return /*#__PURE__*/_jsx(\"select\", {\n    ...props,\n    size: htmlSize,\n    ref: ref,\n    className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n    id: id || controlId\n  });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n  bsPrefix,\n  className,\n  as: Component = 'small',\n  muted,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n  return /*#__PURE__*/_jsx(Component, {\n    ...props,\n    ref: ref,\n    className: classNames(className, bsPrefix, muted && 'text-muted')\n  });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, {\n  ...props,\n  ref: ref,\n  type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n  Input: FormCheck.Input,\n  Label: FormCheck.Label\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  children,\n  controlId,\n  label,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n  return /*#__PURE__*/_jsxs(FormGroup, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    controlId: controlId,\n    ...props,\n    children: [children, /*#__PURE__*/_jsx(\"label\", {\n      htmlFor: controlId,\n      children: label\n    })]\n  });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n  /**\n   * The Form `ref` will be forwarded to the underlying element,\n   * which means, unless it's rendered `as` a composite component,\n   * it will be a DOM node, when resolved.\n   *\n   * @type {ReactRef}\n   * @alias ref\n   */\n  _ref: PropTypes.any,\n  /**\n   * Mark a form as having been validated. Setting it to `true` will\n   * toggle any validation styles on the forms elements.\n   */\n  validated: PropTypes.bool,\n  as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n  className,\n  validated,\n  // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n  as: Component = 'form',\n  ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n  ...props,\n  ref: ref,\n  className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n  Group: FormGroup,\n  Control: FormControl,\n  Floating: FormFloating,\n  Check: FormCheck,\n  Switch,\n  Label: FormLabel,\n  Text: FormText,\n  Range: FormRange,\n  Select: FormSelect,\n  FloatingLabel\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, SuppressedError, Symbol */\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n    var _, done = false;\r\n    for (var i = decorators.length - 1; i >= 0; i--) {\r\n        var context = {};\r\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n        if (kind === \"accessor\") {\r\n            if (result === void 0) continue;\r\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n            if (_ = accept(result.get)) descriptor.get = _;\r\n            if (_ = accept(result.set)) descriptor.set = _;\r\n            if (_ = accept(result.init)) initializers.unshift(_);\r\n        }\r\n        else if (_ = accept(result)) {\r\n            if (kind === \"field\") initializers.unshift(_);\r\n            else descriptor[key] = _;\r\n        }\r\n    }\r\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n    done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n    var useValue = arguments.length > 2;\r\n    for (var i = 0; i < initializers.length; i++) {\r\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n    }\r\n    return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n    return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\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 || Array.prototype.slice.call(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: false } : 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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n    if (value !== null && value !== void 0) {\r\n        if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n        var dispose;\r\n        if (async) {\r\n            if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n            dispose = value[Symbol.asyncDispose];\r\n        }\r\n        if (dispose === void 0) {\r\n            if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n            dispose = value[Symbol.dispose];\r\n        }\r\n        if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n        env.stack.push({ value: value, dispose: dispose, async: async });\r\n    }\r\n    else if (async) {\r\n        env.stack.push({ async: true });\r\n    }\r\n    return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n    var e = new Error(message);\r\n    return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n    function fail(e) {\r\n        env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n        env.hasError = true;\r\n    }\r\n    function next() {\r\n        while (env.stack.length) {\r\n            var rec = env.stack.pop();\r\n            try {\r\n                var result = rec.dispose && rec.dispose.call(rec.value);\r\n                if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n            }\r\n            catch (e) {\r\n                fail(e);\r\n            }\r\n        }\r\n        if (env.hasError) throw env.error;\r\n    }\r\n    return next();\r\n}\r\n\r\nexport default {\r\n    __extends: __extends,\r\n    __assign: __assign,\r\n    __rest: __rest,\r\n    __decorate: __decorate,\r\n    __param: __param,\r\n    __metadata: __metadata,\r\n    __awaiter: __awaiter,\r\n    __generator: __generator,\r\n    __createBinding: __createBinding,\r\n    __exportStar: __exportStar,\r\n    __values: __values,\r\n    __read: __read,\r\n    __spread: __spread,\r\n    __spreadArrays: __spreadArrays,\r\n    __spreadArray: __spreadArray,\r\n    __await: __await,\r\n    __asyncGenerator: __asyncGenerator,\r\n    __asyncDelegator: __asyncDelegator,\r\n    __asyncValues: __asyncValues,\r\n    __makeTemplateObject: __makeTemplateObject,\r\n    __importStar: __importStar,\r\n    __importDefault: __importDefault,\r\n    __classPrivateFieldGet: __classPrivateFieldGet,\r\n    __classPrivateFieldSet: __classPrivateFieldSet,\r\n    __classPrivateFieldIn: __classPrivateFieldIn,\r\n    __addDisposableResource: __addDisposableResource,\r\n    __disposeResources: __disposeResources,\r\n};\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { createContext, forwardRef, HTMLAttributes, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CAccordionProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * The active item key.\n   */\n  activeItemKey?: number | string\n  /**\n   * Make accordion items stay open when another item is opened\n   */\n  alwaysOpen?: boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\n   */\n  flush?: boolean\n}\n\nexport interface CAccordionContextProps {\n  _activeItemKey?: number | string\n  alwaysOpen?: boolean\n  setActiveKey: React.Dispatch<React.SetStateAction<number | string | undefined>>\n}\n\nexport const CAccordionContext = createContext({} as CAccordionContextProps)\n\nexport const CAccordion = forwardRef<HTMLDivElement, CAccordionProps>(\n  ({ children, activeItemKey, alwaysOpen = false, className, flush, ...rest }, ref) => {\n    const [_activeItemKey, setActiveKey] = useState(activeItemKey)\n\n    return (\n      <div\n        className={classNames('accordion', { 'accordion-flush': flush }, className)}\n        {...rest}\n        ref={ref}\n      >\n        <CAccordionContext.Provider value={{ _activeItemKey, alwaysOpen, setActiveKey }}>\n          {children}\n        </CAccordionContext.Provider>\n      </div>\n    )\n  },\n)\n\nCAccordion.propTypes = {\n  alwaysOpen: PropTypes.bool,\n  activeItemKey: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  flush: PropTypes.bool,\n}\n\nCAccordion.displayName = 'CAccordion'\n","import React, {\n  createContext,\n  forwardRef,\n  HTMLAttributes,\n  useContext,\n  useEffect,\n  useRef,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CAccordionContext } from './CAccordion'\n\nexport interface CAccordionItemContextProps {\n  setVisible: (a: boolean) => void\n  visible?: boolean\n}\n\nexport const CAccordionItemContext = createContext({} as CAccordionItemContextProps)\n\nexport interface CAccordionItemProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Item key.\n   */\n  itemKey?: number | string\n}\n\nexport const CAccordionItem = forwardRef<HTMLDivElement, CAccordionItemProps>(\n  ({ children, className, itemKey, ...rest }, ref) => {\n    const _itemKey = useRef(itemKey ?? Math.random().toString(36).slice(2, 11))\n\n    const { _activeItemKey, alwaysOpen, setActiveKey } = useContext(CAccordionContext)\n    const [visible, setVisible] = useState(Boolean(_activeItemKey === _itemKey.current))\n\n    useEffect(() => {\n      !alwaysOpen && visible && setActiveKey(_itemKey.current)\n    }, [visible])\n\n    useEffect(() => {\n      setVisible(Boolean(_activeItemKey === _itemKey.current))\n    }, [_activeItemKey])\n\n    return (\n      <div className={classNames('accordion-item', className)} {...rest} ref={ref}>\n        <CAccordionItemContext.Provider value={{ setVisible, visible }}>\n          {children}\n        </CAccordionItemContext.Provider>\n      </div>\n    )\n  },\n)\n\nCAccordionItem.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  itemKey: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n}\n\nCAccordionItem.displayName = 'CAccordionItem'\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}","export default function _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n  return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  setPrototypeOf(subClass, superClass);\n}","function replaceClassName(origClass, classToRemove) {\n  return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n  if (element.classList) {\n    element.classList.remove(className);\n  } else if (typeof element.className === 'string') {\n    element.className = replaceClassName(element.className, className);\n  } else {\n    element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n  }\n}","export default {\n  disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n  return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n *   transition: `opacity ${duration}ms ease-in-out`,\n *   opacity: 0,\n * }\n *\n * const transitionStyles = {\n *   entering: { opacity: 1 },\n *   entered:  { opacity: 1 },\n *   exiting:  { opacity: 0 },\n *   exited:  { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n *  - `'entering'`\n *  - `'entered'`\n *  - `'exiting'`\n *  - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n    var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n    var initialStatus;\n    _this.appearStatus = null;\n\n    if (props.in) {\n      if (appear) {\n        initialStatus = EXITED;\n        _this.appearStatus = ENTERING;\n      } else {\n        initialStatus = ENTERED;\n      }\n    } else {\n      if (props.unmountOnExit || props.mountOnEnter) {\n        initialStatus = UNMOUNTED;\n      } else {\n        initialStatus = EXITED;\n      }\n    }\n\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\n    }\n\n    return null;\n  } // getSnapshotBeforeUpdate(prevProps) {\n  //   let nextStatus = null\n  //   if (prevProps !== this.props) {\n  //     const { status } = this.state\n  //     if (this.props.in) {\n  //       if (status !== ENTERING && status !== ENTERED) {\n  //         nextStatus = ENTERING\n  //       }\n  //     } else {\n  //       if (status === ENTERING || status === ENTERED) {\n  //         nextStatus = EXITING\n  //       }\n  //     }\n  //   }\n  //   return { nextStatus }\n  // }\n  ;\n\n  var _proto = Transition.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\n      if (this.props.in) {\n        if (status !== ENTERING && status !== ENTERED) {\n          nextStatus = ENTERING;\n        }\n      } else {\n        if (status === ENTERING || status === ENTERED) {\n          nextStatus = EXITING;\n        }\n      }\n    }\n\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\n    if (timeout != null && typeof timeout !== 'number') {\n      exit = timeout.exit;\n      enter = timeout.enter; // TODO: remove fallback for next major\n\n      appear = timeout.appear !== undefined ? timeout.appear : enter;\n    }\n\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      if (nextStatus === ENTERING) {\n        if (this.props.unmountOnExit || this.props.mountOnEnter) {\n          var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n          // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n          // To make the animation happen,  we have to separate each rendering and avoid being processed as batched.\n\n          if (node) forceReflow(node);\n        }\n\n        this.performEnter(mounting);\n      } else {\n        this.performExit();\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context ? this.context.isMounting : mounting;\n\n    var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n        maybeNode = _ref2[0],\n        maybeAppearing = _ref2[1];\n\n    var timeouts = this.getTimeouts();\n    var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n    // if we are mounting and running this it means appear _must_ be set\n\n    if (!mounting && !enter || config.disabled) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onEnter(maybeNode, maybeAppearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(maybeNode, maybeAppearing);\n\n      _this2.onTransitionEnd(enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(maybeNode, maybeAppearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit() {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts();\n    var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n    if (!exit || config.disabled) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onExit(maybeNode);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(maybeNode);\n\n      _this3.onTransitionEnd(timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(maybeNode);\n        });\n      });\n    });\n  };\n\n  _proto.cancelNextCallback = function cancelNextCallback() {\n    if (this.nextCallback !== null) {\n      this.nextCallback.cancel();\n      this.nextCallback = null;\n    }\n  };\n\n  _proto.safeSetState = function safeSetState(nextState, callback) {\n    // This shouldn't be necessary, but there are weird race conditions with\n    // setState callbacks and unmounting in testing, so always make sure that\n    // we can cancel any pending setState callbacks after we unmount.\n    callback = this.setNextCallback(callback);\n    this.setState(nextState, callback);\n  };\n\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n    this.setNextCallback(handler);\n    var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n    var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n    if (!node || doesNotHaveTimeoutOrListener) {\n      setTimeout(this.nextCallback, 0);\n      return;\n    }\n\n    if (this.props.addEndListener) {\n      var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n          maybeNode = _ref3[0],\n          maybeNextCallback = _ref3[1];\n\n      this.props.addEndListener(maybeNode, maybeNextCallback);\n    }\n\n    if (timeout != null) {\n      setTimeout(this.nextCallback, timeout);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        _in = _this$props.in,\n        _mountOnEnter = _this$props.mountOnEnter,\n        _unmountOnExit = _this$props.unmountOnExit,\n        _appear = _this$props.appear,\n        _enter = _this$props.enter,\n        _exit = _this$props.exit,\n        _timeout = _this$props.timeout,\n        _addEndListener = _this$props.addEndListener,\n        _onEnter = _this$props.onEnter,\n        _onEntering = _this$props.onEntering,\n        _onEntered = _this$props.onEntered,\n        _onExit = _this$props.onExit,\n        _onExiting = _this$props.onExiting,\n        _onExited = _this$props.onExited,\n        _nodeRef = _this$props.nodeRef,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n    return (\n      /*#__PURE__*/\n      // allows for nested Transitions\n      React.createElement(TransitionGroupContext.Provider, {\n        value: null\n      }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n    );\n  };\n\n  return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A React reference to DOM element that need to transition:\n   * https://stackoverflow.com/a/51127130/4671932\n   *\n   *   - When `nodeRef` prop is used, `node` is not passed to callback functions\n   *      (e.g. `onEnter`) because user already has direct access to the node.\n   *   - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n   *     `nodeRef` need to be provided to `Transition` with changed `key` prop\n   *     (see\n   *     [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n   */\n  nodeRef: PropTypes.shape({\n    current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n      var value = propValue[key];\n      return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n    }\n  }),\n\n  /**\n   * A `function` child can be used instead of a React element. This function is\n   * called with the current transition status (`'entering'`, `'entered'`,\n   * `'exiting'`, `'exited'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * By default the child component does not perform the enter transition when\n   * it first mounts, regardless of the value of `in`. If you want this\n   * behavior, set both `appear` and `in` to `true`.\n   *\n   * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n   * > only adds an additional enter transition. However, in the\n   * > `<CSSTransition>` component that first enter transition does result in\n   * > additional `.appear-*` classes, that way you can choose to style it\n   * > differently.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided.\n   *\n   * You may specify a single timeout for all transitions:\n   *\n   * ```jsx\n   * timeout={500}\n   * ```\n   *\n   * or individually:\n   *\n   * ```jsx\n   * timeout={{\n   *  appear: 500,\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * - `appear` defaults to the value of `enter`\n   * - `enter` defaults to `0`\n   * - `exit` defaults to `0`\n   *\n   * @type {number | { enter?: number, exit?: number, appear?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt = timeoutsShape;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. Timeouts are still used as a fallback if provided.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n  in: false,\n  mountOnEnter: false,\n  unmountOnExit: false,\n  appear: false,\n  enter: true,\n  exit: true,\n  onEnter: noop,\n  onEntering: noop,\n  onEntered: noop,\n  onExit: noop,\n  onExiting: noop,\n  onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return addOneClass(node, c);\n  });\n};\n\nvar removeClass = function removeClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return removeOneClass(node, c);\n  });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n *         <div>\n *           {\"I'll receive my-node-* classes\"}\n *         </div>\n *       </CSSTransition>\n *       <button type=\"button\" onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n *   opacity: 0;\n * }\n * .my-node-enter-active {\n *   opacity: 1;\n *   transition: opacity 200ms;\n * }\n * .my-node-exit {\n *   opacity: 1;\n * }\n * .my-node-exit-active {\n *   opacity: 0;\n *   transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(CSSTransition, _React$Component);\n\n  function CSSTransition() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.appliedClasses = {\n      appear: {},\n      enter: {},\n      exit: {}\n    };\n\n    _this.onEnter = function (maybeNode, maybeAppearing) {\n      var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n          node = _this$resolveArgument[0],\n          appearing = _this$resolveArgument[1];\n\n      _this.removeClasses(node, 'exit');\n\n      _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n      if (_this.props.onEnter) {\n        _this.props.onEnter(maybeNode, maybeAppearing);\n      }\n    };\n\n    _this.onEntering = function (maybeNode, maybeAppearing) {\n      var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n          node = _this$resolveArgument2[0],\n          appearing = _this$resolveArgument2[1];\n\n      var type = appearing ? 'appear' : 'enter';\n\n      _this.addClass(node, type, 'active');\n\n      if (_this.props.onEntering) {\n        _this.props.onEntering(maybeNode, maybeAppearing);\n      }\n    };\n\n    _this.onEntered = function (maybeNode, maybeAppearing) {\n      var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n          node = _this$resolveArgument3[0],\n          appearing = _this$resolveArgument3[1];\n\n      var type = appearing ? 'appear' : 'enter';\n\n      _this.removeClasses(node, type);\n\n      _this.addClass(node, type, 'done');\n\n      if (_this.props.onEntered) {\n        _this.props.onEntered(maybeNode, maybeAppearing);\n      }\n    };\n\n    _this.onExit = function (maybeNode) {\n      var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n          node = _this$resolveArgument4[0];\n\n      _this.removeClasses(node, 'appear');\n\n      _this.removeClasses(node, 'enter');\n\n      _this.addClass(node, 'exit', 'base');\n\n      if (_this.props.onExit) {\n        _this.props.onExit(maybeNode);\n      }\n    };\n\n    _this.onExiting = function (maybeNode) {\n      var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n          node = _this$resolveArgument5[0];\n\n      _this.addClass(node, 'exit', 'active');\n\n      if (_this.props.onExiting) {\n        _this.props.onExiting(maybeNode);\n      }\n    };\n\n    _this.onExited = function (maybeNode) {\n      var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n          node = _this$resolveArgument6[0];\n\n      _this.removeClasses(node, 'exit');\n\n      _this.addClass(node, 'exit', 'done');\n\n      if (_this.props.onExited) {\n        _this.props.onExited(maybeNode);\n      }\n    };\n\n    _this.resolveArguments = function (maybeNode, maybeAppearing) {\n      return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n      : [maybeNode, maybeAppearing];\n    };\n\n    _this.getClassNames = function (type) {\n      var classNames = _this.props.classNames;\n      var isStringClassNames = typeof classNames === 'string';\n      var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n      var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n      var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n      var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n      return {\n        baseClassName: baseClassName,\n        activeClassName: activeClassName,\n        doneClassName: doneClassName\n      };\n    };\n\n    return _this;\n  }\n\n  var _proto = CSSTransition.prototype;\n\n  _proto.addClass = function addClass(node, type, phase) {\n    var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n    var _this$getClassNames = this.getClassNames('enter'),\n        doneClassName = _this$getClassNames.doneClassName;\n\n    if (type === 'appear' && phase === 'done' && doneClassName) {\n      className += \" \" + doneClassName;\n    } // This is to force a repaint,\n    // which is necessary in order to transition styles when adding a class name.\n\n\n    if (phase === 'active') {\n      if (node) forceReflow(node);\n    }\n\n    if (className) {\n      this.appliedClasses[type][phase] = className;\n\n      _addClass(node, className);\n    }\n  };\n\n  _proto.removeClasses = function removeClasses(node, type) {\n    var _this$appliedClasses$ = this.appliedClasses[type],\n        baseClassName = _this$appliedClasses$.base,\n        activeClassName = _this$appliedClasses$.active,\n        doneClassName = _this$appliedClasses$.done;\n    this.appliedClasses[type] = {};\n\n    if (baseClassName) {\n      removeClass(node, baseClassName);\n    }\n\n    if (activeClassName) {\n      removeClass(node, activeClassName);\n    }\n\n    if (doneClassName) {\n      removeClass(node, doneClassName);\n    }\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        _ = _this$props.classNames,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n    return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n      onEnter: this.onEnter,\n      onEntered: this.onEntered,\n      onEntering: this.onEntering,\n      onExit: this.onExit,\n      onExiting: this.onExiting,\n      onExited: this.onExited\n    }));\n  };\n\n  return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n  classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n  /**\n   * The animation classNames applied to the component as it appears, enters,\n   * exits or has finished the transition. A single name can be provided, which\n   * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n   *\n   * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n   * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n   * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n   *\n   * A few details to note about how these classes are applied:\n   *\n   * 1. They are _joined_ with the ones that are already defined on the child\n   *    component, so if you want to add some base styles, you can use\n   *    `className` without worrying that it will be overridden.\n   *\n   * 2. If the transition component mounts with `in={false}`, no classes are\n   *    applied yet. You might be expecting `*-exit-done`, but if you think\n   *    about it, a component cannot finish exiting if it hasn't entered yet.\n   *\n   * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n   *    allows you to define different behavior for when appearing is done and\n   *    when regular entering is done, using selectors like\n   *    `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n   *    an epic entrance animation when element first appears in the DOM using\n   *    [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n   *    simply use `fade-enter-done` for defining both cases.\n   *\n   * Each individual classNames can also be specified independently like:\n   *\n   * ```js\n   * classNames={{\n   *  appear: 'my-appear',\n   *  appearActive: 'my-active-appear',\n   *  appearDone: 'my-done-appear',\n   *  enter: 'my-enter',\n   *  enterActive: 'my-active-enter',\n   *  enterDone: 'my-done-enter',\n   *  exit: 'my-exit',\n   *  exitActive: 'my-active-exit',\n   *  exitDone: 'my-done-exit',\n   * }}\n   * ```\n   *\n   * If you want to set these classes using CSS Modules:\n   *\n   * ```js\n   * import styles from './styles.css';\n   * ```\n   *\n   * you might want to use camelCase in your CSS file, that way could simply\n   * spread them instead of listing them one by one:\n   *\n   * ```js\n   * classNames={{ ...styles }}\n   * ```\n   *\n   * @type {string | {\n   *  appear?: string,\n   *  appearActive?: string,\n   *  appearDone?: string,\n   *  enter?: string,\n   *  enterActive?: string,\n   *  enterDone?: string,\n   *  exit?: string,\n   *  exitActive?: string,\n   *  exitDone?: string,\n   * }}\n   */\n  classNames: classNamesShape,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n   * applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter-active' or\n   * 'appear-active' class is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or\n   * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' class is\n   * applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' classes\n   * are **removed** and the `exit-done` class is added to the DOM node.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n  if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n  if (element.classList) return !!className && element.classList.contains(className);\n  return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","// code borrowed from https://github.com/reach/reach-ui\n// problem described https://github.com/facebook/react/issues/13029\n\nimport { useMemo } from 'react'\n\nexport type AssignableRef<ValueType> =\n  | {\n      bivarianceHack(instance: ValueType | null): void\n    }['bivarianceHack']\n  | React.MutableRefObject<ValueType | null>\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function useForkedRef<RefValueType = any>(\n  ...refs: (AssignableRef<RefValueType> | null | undefined)[]\n) {\n  return useMemo(() => {\n    if (refs.every((ref) => ref == null)) {\n      return null\n    }\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    return (node: any) => {\n      refs.forEach((ref) => {\n        assignRef(ref, node)\n      })\n    }\n  }, refs)\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assignRef<RefValueType = any>(\n  ref: AssignableRef<RefValueType> | null | undefined,\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  value: any,\n) {\n  if (ref == null) return\n  if (isFunction(ref)) {\n    ref(value)\n  } else {\n    try {\n      ref.current = value\n    } catch {\n      throw new Error(`Cannot assign value \"${value}\" to ref \"${ref}\"`)\n    }\n  }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types\nexport function isFunction(value: any): value is Function {\n  return !!(value && {}.toString.call(value) == '[object Function]')\n}\n","import { RefObject, useEffect, useState } from 'react'\n\nexport const useIsVisible = (ref: RefObject<HTMLElement>) => {\n  const [isIntersecting, setIntersecting] = useState(false)\n\n  useEffect(() => {\n    const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting))\n\n    ref.current && observer.observe(ref.current)\n    return () => observer.disconnect()\n  }, [])\n\n  return isIntersecting\n}\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n  if (node == null) {\n    return window;\n  }\n\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView || window : window;\n  }\n\n  return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n  // IE 11 has no ShadowRoot\n  if (typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n\n  var OwnElement = getWindow(node).ShadowRoot;\n  return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n  var state = _ref.state;\n  Object.keys(state.elements).forEach(function (name) {\n    var style = state.styles[name] || {};\n    var attributes = state.attributes[name] || {};\n    var element = state.elements[name]; // arrow is optional + virtual elements\n\n    if (!isHTMLElement(element) || !getNodeName(element)) {\n      return;\n    } // Flow doesn't support to extend this property, but it's the most\n    // effective way to apply styles to an HTMLElement\n    // $FlowFixMe[cannot-write]\n\n\n    Object.assign(element.style, style);\n    Object.keys(attributes).forEach(function (name) {\n      var value = attributes[name];\n\n      if (value === false) {\n        element.removeAttribute(name);\n      } else {\n        element.setAttribute(name, value === true ? '' : value);\n      }\n    });\n  });\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state;\n  var initialStyles = {\n    popper: {\n      position: state.options.strategy,\n      left: '0',\n      top: '0',\n      margin: '0'\n    },\n    arrow: {\n      position: 'absolute'\n    },\n    reference: {}\n  };\n  Object.assign(state.elements.popper.style, initialStyles.popper);\n  state.styles = initialStyles;\n\n  if (state.elements.arrow) {\n    Object.assign(state.elements.arrow.style, initialStyles.arrow);\n  }\n\n  return function () {\n    Object.keys(state.elements).forEach(function (name) {\n      var element = state.elements[name];\n      var attributes = state.attributes[name] || {};\n      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n      var style = styleProperties.reduce(function (style, property) {\n        style[property] = '';\n        return style;\n      }, {}); // arrow is optional + virtual elements\n\n      if (!isHTMLElement(element) || !getNodeName(element)) {\n        return;\n      }\n\n      Object.assign(element.style, style);\n      Object.keys(attributes).forEach(function (attribute) {\n        element.removeAttribute(attribute);\n      });\n    });\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'applyStyles',\n  enabled: true,\n  phase: 'write',\n  fn: applyStyles,\n  effect: effect,\n  requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n  return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n  var uaData = navigator.userAgentData;\n\n  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n    return uaData.brands.map(function (item) {\n      return item.brand + \"/\" + item.version;\n    }).join(' ');\n  }\n\n  return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n  return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n\n  var clientRect = element.getBoundingClientRect();\n  var scaleX = 1;\n  var scaleY = 1;\n\n  if (includeScale && isHTMLElement(element)) {\n    scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n    scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n  }\n\n  var _ref = isElement(element) ? getWindow(element) : window,\n      visualViewport = _ref.visualViewport;\n\n  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n  var width = clientRect.width / scaleX;\n  var height = clientRect.height / scaleY;\n  return {\n    width: width,\n    height: height,\n    top: y,\n    right: x + width,\n    bottom: y + height,\n    left: x,\n    x: x,\n    y: y\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n  var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n  // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n  var width = element.offsetWidth;\n  var height = element.offsetHeight;\n\n  if (Math.abs(clientRect.width - width) <= 1) {\n    width = clientRect.width;\n  }\n\n  if (Math.abs(clientRect.height - height) <= 1) {\n    height = clientRect.height;\n  }\n\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: width,\n    height: height\n  };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (rootNode && isShadowRoot(rootNode)) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n  // $FlowFixMe[incompatible-return]: assume body is always available\n  return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n  element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    // $FlowFixMe[incompatible-return]\n    // $FlowFixMe[prop-missing]\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || ( // DOM Element detected\n    isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n    // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var isFirefox = /firefox/i.test(getUAString());\n  var isIE = /Trident/i.test(getUAString());\n\n  if (isIE && isHTMLElement(element)) {\n    // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n    var elementCss = getComputedStyle(element);\n\n    if (elementCss.position === 'fixed') {\n      return null;\n    }\n  }\n\n  var currentNode = getParentNode(element);\n\n  if (isShadowRoot(currentNode)) {\n    currentNode = currentNode.host;\n  }\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n    // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n  return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n  var v = within(min, value, max);\n  return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n  return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}","export default function expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n  padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : padding;\n  return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name,\n      options = _ref.options;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = toPaddingObject(options.padding, state);\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n  return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n  var x = _ref.x,\n      y = _ref.y;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: round(x * dpr) / dpr || 0,\n    y: round(y * dpr) / dpr || 0\n  };\n}\n\nexport function mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      variation = _ref2.variation,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive,\n      roundOffsets = _ref2.roundOffsets,\n      isFixed = _ref2.isFixed;\n  var _offsets$x = offsets.x,\n      x = _offsets$x === void 0 ? 0 : _offsets$x,\n      _offsets$y = offsets.y,\n      y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n  var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n    x: x,\n    y: y\n  }) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref3.x;\n  y = _ref3.y;\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n    var heightProp = 'clientHeight';\n    var widthProp = 'clientWidth';\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n\n      if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n        heightProp = 'scrollHeight';\n        widthProp = 'scrollWidth';\n      }\n    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n    offsetParent = offsetParent;\n\n    if (placement === top || (placement === left || placement === right) && variation === end) {\n      sideY = bottom;\n      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n      offsetParent[heightProp];\n      y -= offsetY - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left || (placement === top || placement === bottom) && variation === end) {\n      sideX = right;\n      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n      offsetParent[widthProp];\n      x -= offsetX - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n    x: x,\n    y: y\n  }, getWindow(popper)) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref4.x;\n  y = _ref4.y;\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n  var state = _ref5.state,\n      options = _ref5.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n      _options$roundOffsets = options.roundOffsets,\n      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    variation: getVariation(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration,\n    isFixed: state.options.strategy === 'fixed'\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n};","var hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}","var hash = {\n  start: 'end',\n  end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return hash[matched];\n  });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe[incompatible-return]: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n  var _element$ownerDocumen;\n\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n  return Object.assign({}, rect, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n  var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0;\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    var layoutViewport = isLayoutViewport();\n\n    if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n  var _element$ownerDocumen;\n\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n  var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$strategy = _options.strategy,\n      strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n  var referenceClientRect = getBoundingClientRect(state.elements.reference);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements;\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases – research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : tetherOffset;\n  var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n    mainAxis: tetherOffsetValue,\n    altAxis: tetherOffsetValue\n  } : Object.assign({\n    mainAxis: 0,\n    altAxis: 0\n  }, tetherOffsetValue);\n  var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var _offsetModifierState$;\n\n    var mainSide = mainAxis === 'y' ? top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = offset + overflow[mainSide];\n    var max = offset - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n    var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = offset + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _offsetModifierState$2;\n\n    var _mainSide = mainAxis === 'x' ? top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _len = altAxis === 'y' ? 'height' : 'width';\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n    var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n  var rect = element.getBoundingClientRect();\n  var scaleX = round(rect.width) / element.offsetWidth || 1;\n  var scaleY = round(rect.height) / element.offsetHeight || 1;\n  return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent, true);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}","export default function getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nexport default function orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}","export default function debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return !args.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nexport function popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(setOptionsAction) {\n        var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n        cleanupModifierEffects();\n        state.options = Object.assign({}, defaultOptions, state.options, options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        });\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update – it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update – it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref) {\n        var name = _ref.name,\n            _ref$options = _ref.options,\n            options = _ref$options === void 0 ? {} : _ref$options,\n            effect = _ref.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign({}, existing, current, {\n      options: Object.assign({}, existing.options, current.options),\n      data: Object.assign({}, existing.data, current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n};","const getTransitionDurationFromElement = (element: HTMLElement) => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * 1000\n}\n\nexport default getTransitionDurationFromElement","import getTransitionDurationFromElement from './getTransitionDurationFromElement'\n\nconst execute = (callback: () => void) => {\n  if (typeof callback === 'function') {\n    callback()\n  }\n}\n\nconst triggerTransitionEnd = (element: HTMLElement) => {\n  element.dispatchEvent(new Event('transitionend'))\n}\n\nconst executeAfterTransition = (\n  callback: () => void,\n  transitionElement: HTMLElement,\n  waitForTransition = true,\n) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }: { target: any }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener('transitionend', handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener('transitionend', handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\nexport default executeAfterTransition\n","const isRTL = (element?: HTMLElement | HTMLDivElement | null) => {\n  if (typeof document !== 'undefined' && document.documentElement.dir === 'rtl') {\n    return true\n  }\n\n  if (element) {\n    return element.closest('[dir=\"rtl\"]') !== null\n  }\n\n  return false\n}\n\nexport default isRTL\n","import { Placement } from '@popperjs/core'\nimport isRTL from './isRTL'\n\nconst getRTLPlacement = (placement: string, element: HTMLDivElement | null): Placement => {\n  switch (placement) {\n    case 'right': {\n      return isRTL(element) ? 'left' : 'right'\n    }\n    case 'left': {\n      return isRTL(element) ? 'right' : 'left'\n    }\n    default: {\n      return placement as Placement\n    }\n  }\n}\n\nexport default getRTLPlacement\n","const isInViewport = (element: HTMLElement) => {\n  const rect = element.getBoundingClientRect()\n  return (\n    Math.floor(rect.top) >= 0 &&\n    Math.floor(rect.left) >= 0 &&\n    Math.floor(rect.bottom) <= (window.innerHeight || document.documentElement.clientHeight) &&\n    Math.floor(rect.right) <= (window.innerWidth || document.documentElement.clientWidth)\n  )\n}\n\nexport default isInViewport\n","const isObjectInArray = <T>(array: T[], item: T, ignore: string[] = []) =>\n  array.some((_item: T) => {\n    let result = true\n    for (const key in item) {\n      if (!ignore.includes(key) && item[key] !== _item[key]) {\n        result = false\n        break\n      }\n    }\n\n    return result\n  })\n\nexport default isObjectInArray\n","import { useRef } from 'react'\nimport { createPopper } from '@popperjs/core'\nimport type { Instance, Options } from '@popperjs/core'\n\nimport { executeAfterTransition } from '../utils'\n\ninterface UsePopperOutput {\n  popper: Instance | undefined\n  initPopper: (reference: HTMLElement, popper: HTMLElement, options: Partial<Options>) => void\n  destroyPopper: () => void\n}\n\nexport const usePopper = (): UsePopperOutput => {\n  const _popper = useRef<Instance>()\n  const el = useRef<HTMLElement>()\n\n  const initPopper = (reference: HTMLElement, popper: HTMLElement, options: Partial<Options>) => {\n    _popper.current = createPopper(reference, popper, options)\n    el.current = popper\n  }\n\n  const destroyPopper = () => {\n    const popperInstance = _popper.current\n\n    if (popperInstance && el.current) {\n      executeAfterTransition(() => {\n        popperInstance.destroy()\n      }, el.current)\n    }\n\n    _popper.current = undefined\n  }\n\n  return {\n    popper: _popper.current,\n    initPopper,\n    destroyPopper,\n  }\n}\n","import { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport const useStateWithCallback = <S>(\n  initialState: S,\n  handler?: (prevState: S) => void,\n  runHandler?: boolean,\n): [S, Dispatch<SetStateAction<S>>] => {\n  const [state, setState] = useState(initialState)\n  handler &&\n    useEffect(() => {\n      runHandler && handler(state)\n    }, [state])\n  return [state, setState]\n}\n","import React, { forwardRef, HTMLAttributes, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { CSSTransition } from 'react-transition-group'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CCollapseProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Set horizontal collapsing to transition the width instead of height.\n   */\n  horizontal?: boolean\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Toggle the visibility of component.\n   */\n  visible?: boolean\n}\n\nexport const CCollapse = forwardRef<HTMLDivElement, CCollapseProps>(\n  ({ children, className, horizontal, onHide, onShow, visible, ...rest }, ref) => {\n    const collapseRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, collapseRef)\n\n    const [height, setHeight] = useState<number>()\n    const [width, setWidth] = useState<number>()\n\n    const onEntering = () => {\n      onShow && onShow()\n\n      if (horizontal) {\n        collapseRef.current && setWidth(collapseRef.current.scrollWidth)\n        return\n      }\n      collapseRef.current && setHeight(collapseRef.current.scrollHeight)\n    }\n\n    const onEntered = () => {\n      if (horizontal) {\n        setWidth(0)\n        return\n      }\n      setHeight(0)\n    }\n\n    const onExit = () => {\n      if (horizontal) {\n        collapseRef.current && setWidth(collapseRef.current.scrollWidth)\n        return\n      }\n      collapseRef.current && setHeight(collapseRef.current.scrollHeight)\n    }\n\n    const onExiting = () => {\n      onHide && onHide()\n      if (horizontal) {\n        setWidth(0)\n        return\n      }\n      setHeight(0)\n    }\n\n    const onExited = () => {\n      if (horizontal) {\n        setWidth(0)\n        return\n      }\n      setHeight(0)\n    }\n\n    return (\n      <CSSTransition\n        in={visible}\n        nodeRef={collapseRef}\n        onEntering={onEntering}\n        onEntered={onEntered}\n        onExit={onExit}\n        onExiting={onExiting}\n        onExited={onExited}\n        timeout={350}\n      >\n        {(state) => {\n          const currentHeight = height === 0 ? null : { height }\n          const currentWidth = width === 0 ? null : { width }\n          return (\n            <div\n              className={classNames(className, {\n                'collapse-horizontal': horizontal,\n                collapsing: state === 'entering' || state === 'exiting',\n                'collapse show': state === 'entered',\n                collapse: state === 'exited',\n              })}\n              style={{ ...currentHeight, ...currentWidth }}\n              {...rest}\n              ref={forkedRef}\n            >\n              {children}\n            </div>\n          )\n        }}\n      </CSSTransition>\n    )\n  },\n)\n\nCCollapse.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  horizontal: PropTypes.bool,\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  visible: PropTypes.bool,\n}\n\nCCollapse.displayName = 'CCollapse'\n","import React, { forwardRef, HTMLAttributes, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CAccordionItemContext } from './CAccordionItem'\n\nimport { CCollapse } from './../collapse/CCollapse'\n\nexport interface CAccordionBodyProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CAccordionBody = forwardRef<HTMLDivElement, CAccordionBodyProps>(\n  ({ children, className, ...rest }, ref) => {\n    const { visible } = useContext(CAccordionItemContext)\n\n    return (\n      <CCollapse className=\"accordion-collapse\" visible={visible}>\n        <div className={classNames('accordion-body', className)} {...rest} ref={ref}>\n          {children}\n        </div>\n      </CCollapse>\n    )\n  },\n)\n\nCAccordionBody.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCAccordionBody.displayName = 'CAccordionBody'\n","import React, { forwardRef, HTMLAttributes, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CAccordionItemContext } from './CAccordionItem'\n\nexport interface CAccordionButtonProps extends HTMLAttributes<HTMLButtonElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CAccordionButton = forwardRef<HTMLButtonElement, CAccordionButtonProps>(\n  ({ children, className, ...rest }, ref) => {\n    const { visible, setVisible } = useContext(CAccordionItemContext)\n\n    return (\n      <button\n        type=\"button\"\n        className={classNames('accordion-button', { collapsed: !visible }, className)}\n        aria-expanded={!visible}\n        onClick={() => setVisible(!visible)}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </button>\n    )\n  },\n)\n\nCAccordionButton.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCAccordionButton.displayName = 'CAccordionButton'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CAccordionButton } from './CAccordionButton'\n\nexport interface CAccordionHeaderProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CAccordionHeader = forwardRef<HTMLDivElement, CAccordionHeaderProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('accordion-header', className)} {...rest} ref={ref}>\n        <CAccordionButton>{children}</CAccordionButton>\n      </div>\n    )\n  },\n)\n\nCAccordionHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCAccordionHeader.displayName = 'CAccordionHeader'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCloseButtonProps extends HTMLAttributes<HTMLButtonElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * Change the default color to white.\n   */\n  white?: boolean\n}\n\nexport const CCloseButton = forwardRef<HTMLButtonElement, CCloseButtonProps>(\n  ({ className, disabled, white, ...rest }, ref) => {\n    return (\n      <button\n        type=\"button\"\n        className={classNames(\n          'btn',\n          'btn-close',\n          {\n            'btn-close-white': white,\n          },\n          disabled,\n          className,\n        )}\n        aria-label=\"Close\"\n        disabled={disabled}\n        {...rest}\n        ref={ref}\n      />\n    )\n  },\n)\n\nCCloseButton.propTypes = {\n  className: PropTypes.string,\n  disabled: PropTypes.bool,\n  white: PropTypes.bool,\n}\n\nCCloseButton.displayName = 'CCloseButton'\n","import PropTypes from 'prop-types'\n\nimport type { Placements, Triggers } from './types'\n\nexport const colorPropType = PropTypes.oneOfType([\n  PropTypes.oneOf([\n    'primary',\n    'secondary',\n    'success',\n    'danger',\n    'warning',\n    'info',\n    'dark',\n    'light',\n  ]),\n  PropTypes.string,\n])\n\nexport const fallbackPlacementsPropType = PropTypes.oneOfType([\n  PropTypes.arrayOf(PropTypes.oneOf<Placements>(['top', 'bottom', 'right', 'left']).isRequired),\n  PropTypes.oneOf<Placements>(['top', 'bottom', 'right', 'left']),\n])\n\nexport const gradientsPropType = PropTypes.oneOf([\n  'primary-gradient',\n  'secondary-gradient',\n  'success-gradient',\n  'danger-gradient',\n  'warning-gradient',\n  'info-gradient',\n  'dark-gradient',\n  'light-gradient',\n])\n\nexport const placementPropType = PropTypes.oneOf<Placements>([\n  'auto',\n  'auto-start',\n  'auto-end',\n  'top-end',\n  'top',\n  'top-start',\n  'bottom-end',\n  'bottom',\n  'bottom-start',\n  'right-start',\n  'right',\n  'right-end',\n  'left-start',\n  'left',\n  'left-end',\n])\n\nexport const shapePropType = PropTypes.oneOfType([\n  PropTypes.oneOf([\n    'rounded',\n    'rounded-top',\n    'rounded-end',\n    'rounded-bottom',\n    'rounded-start',\n    'rounded-circle',\n    'rounded-pill',\n    'rounded-0',\n    'rounded-1',\n    'rounded-2',\n    'rounded-3',\n  ]),\n  PropTypes.string,\n])\n\nexport const textColorsPropType = PropTypes.oneOfType([\n  colorPropType,\n  PropTypes.oneOf(['white', 'muted']),\n  PropTypes.string,\n])\n\nexport const triggerPropType = PropTypes.oneOfType([\n  PropTypes.arrayOf(PropTypes.oneOf<Triggers>(['hover', 'focus', 'click']).isRequired),\n  PropTypes.oneOf<Triggers>(['hover', 'focus', 'click']),\n])\n","import React, { forwardRef, HTMLAttributes, useEffect, useState, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { CCloseButton } from '../close-button/CCloseButton'\n\nimport { useForkedRef } from '../../hooks'\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CAlertProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color: Colors\n  /**\n   * Optionally add a close button to alert and allow it to self dismiss.\n   */\n  dismissible?: boolean\n  /**\n   * Callback fired when the component requests to be closed.\n   */\n  onClose?: () => void\n  /**\n   * Set the alert variant to a solid.\n   */\n  variant?: 'solid' | string\n  /**\n   * Toggle the visibility of component.\n   */\n  visible?: boolean\n}\n\nexport const CAlert = forwardRef<HTMLDivElement, CAlertProps>(\n  (\n    {\n      children,\n      className,\n      color = 'primary',\n      dismissible,\n      variant,\n      visible = true,\n      onClose,\n      ...rest\n    },\n    ref,\n  ) => {\n    const alertRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, alertRef)\n    const [_visible, setVisible] = useState(visible)\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    return (\n      <Transition\n        in={_visible}\n        mountOnEnter\n        nodeRef={alertRef}\n        onExit={onClose}\n        timeout={150}\n        unmountOnExit\n      >\n        {(state) => (\n          <div\n            className={classNames(\n              'alert',\n              variant === 'solid' ? `bg-${color} text-white` : `alert-${color}`,\n              {\n                'alert-dismissible fade': dismissible,\n                show: state === 'entered',\n              },\n              className,\n            )}\n            role=\"alert\"\n            {...rest}\n            ref={forkedRef}\n          >\n            {children}\n            {dismissible && <CCloseButton onClick={() => setVisible(false)} />}\n          </div>\n        )}\n      </Transition>\n    )\n  },\n)\n\nCAlert.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType.isRequired,\n  dismissible: PropTypes.bool,\n  onClose: PropTypes.func,\n  variant: PropTypes.string,\n  visible: PropTypes.bool,\n}\n\nCAlert.displayName = 'CAlert'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CAlertHeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CAlertHeading = forwardRef<HTMLHeadingElement, CAlertHeadingProps>(\n  ({ children, className, component: Component = 'h4', ...rest }, ref) => {\n    return (\n      <Component className={classNames('alert-heading', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCAlertHeading.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCAlertHeading.displayName = 'CAlertHeading'\n","import React, { AllHTMLAttributes, ElementType, forwardRef, MouseEvent } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CLinkProps extends AllHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n  /**\n   * Toggle the active state for the component.\n   */\n  active?: boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * The href attribute specifies the URL of the page the link goes to.\n   */\n  href?: string\n}\n\nexport const CLink = forwardRef<HTMLButtonElement | HTMLAnchorElement, CLinkProps>(\n  ({ children, active, className, component: Component = 'a', disabled, ...rest }, ref) => {\n    return (\n      <Component\n        // TODO: remove duplicated classes ex. `active active` in `<CListGroupItem>`\n        className={classNames(className, { active, disabled })}\n        {...(active && { 'aria-current': 'page' })}\n        {...(Component === 'a' && disabled && { 'aria-disabled': true, tabIndex: -1 })}\n        {...((Component === 'a' || Component === 'button') && {\n          onClick: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n            event.preventDefault\n            !disabled && rest.onClick && rest.onClick(event)\n          },\n        })}\n        disabled={disabled}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCLink.propTypes = {\n  active: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n  disabled: PropTypes.bool,\n}\n\nCLink.displayName = 'CLink'\n","import React, { AnchorHTMLAttributes, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink } from '../link/CLink'\n\nexport interface CAlertLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CAlertLink = forwardRef<HTMLAnchorElement, CAlertLinkProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <CLink className={classNames('alert-link', className)} {...rest} ref={ref}>\n        {children}\n      </CLink>\n    )\n  },\n)\n\nCAlertLink.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCAlertLink.displayName = 'CAlertLink'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType, shapePropType, textColorsPropType } from '../../props'\nimport type { Colors, Shapes, TextColors } from '../../types'\n\nexport interface CAvatarProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Select the shape of the component.\n   *\n   * @type 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string\n   */\n  shape?: Shapes\n  /**\n   * Size the component small, large, or extra large.\n   */\n  size?: string\n  /**\n   * The src attribute for the img element.\n   */\n  src?: string\n  /**\n   * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  status?: Colors\n  /**\n   * Sets the text color of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'white' | 'muted' | 'high-emphasis' | 'medium-emphasis' | 'disabled' | 'high-emphasis-inverse' | 'medium-emphasis-inverse' | 'disabled-inverse' | string\n   */\n  textColor?: TextColors\n}\n\nexport const CAvatar = forwardRef<HTMLDivElement, CAvatarProps>(\n  ({ children, className, color, shape, size, src, status, textColor, ...rest }, ref) => {\n    const statusClassName = status && classNames('avatar-status', `bg-${status}`)\n\n    return (\n      <div\n        className={classNames(\n          'avatar',\n          {\n            [`bg-${color}`]: color,\n            [`avatar-${size}`]: size,\n            [`text-${textColor}`]: textColor,\n          },\n          shape,\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {src ? <img src={src} className=\"avatar-img\" /> : children}\n        {status && <span className={statusClassName}></span>}\n      </div>\n    )\n  },\n)\n\nCAvatar.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  shape: shapePropType,\n  size: PropTypes.string,\n  src: PropTypes.string,\n  status: PropTypes.string,\n  textColor: textColorsPropType,\n}\n\nCAvatar.displayName = 'CAvatar'\n","import React, { forwardRef, HTMLAttributes, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CBackdropProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Toggle the visibility of modal component.\n   */\n  visible?: boolean\n}\n\nexport const CBackdrop = forwardRef<HTMLDivElement, CBackdropProps>(\n  ({ className = 'modal-backdrop', visible, ...rest }, ref) => {\n    const backdropRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, backdropRef)\n\n    return (\n      <Transition in={visible} mountOnEnter nodeRef={backdropRef} timeout={150} unmountOnExit>\n        {(state) => (\n          <div\n            className={classNames(className, 'fade', {\n              show: state === 'entered',\n            })}\n            {...rest}\n            ref={forkedRef}\n          />\n        )}\n      </Transition>\n    )\n  },\n)\n\nCBackdrop.propTypes = {\n  className: PropTypes.string,\n  visible: PropTypes.bool,\n}\n\nCBackdrop.displayName = 'CBackdrop'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType, gradientsPropType, shapePropType, textColorsPropType } from '../../props'\nimport type { Colors, Gradients, Shapes, TextColors } from '../../types'\n\nexport interface CBadgeProps extends HTMLAttributes<HTMLDivElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'primary-gradient' | 'secondary-gradient' | 'success-gradient' | 'danger-gradient' | 'warning-gradient' | 'info-gradient' | 'dark-gradient' | 'light-gradient' | string\n   */\n  color?: Colors | Gradients\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Position badge in one of the corners of a link or button.\n   */\n  position?: 'top-start' | 'top-end' | 'bottom-end' | 'bottom-start'\n  /**\n   * Select the shape of the component.\n   *\n   * @type 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string\n   */\n  shape?: Shapes\n  /**\n   * Size the component small.\n   */\n  size?: 'sm'\n  /**\n   * Sets the text color of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'white' | 'muted' | 'high-emphasis' | 'medium-emphasis' | 'disabled' | 'high-emphasis-inverse' | 'medium-emphasis-inverse' | 'disabled-inverse' | string\n   */\n  textColor?: TextColors\n}\nexport const CBadge = forwardRef<HTMLDivElement | HTMLSpanElement, CBadgeProps>(\n  (\n    {\n      children,\n      className,\n      color,\n      component: Component = 'span',\n      position,\n      shape,\n      size,\n      textColor,\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <Component\n        className={classNames(\n          'badge',\n          {\n            [`bg-${color}`]: color,\n            'position-absolute translate-middle': position,\n            'top-0': position?.includes('top'),\n            'top-100': position?.includes('bottom'),\n            'start-100': position?.includes('end'),\n            'start-0': position?.includes('start'),\n            [`badge-${size}`]: size,\n            [`text-${textColor}`]: textColor,\n          },\n          shape,\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCBadge.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: PropTypes.oneOfType([colorPropType, gradientsPropType]),\n  component: PropTypes.string,\n  position: PropTypes.oneOf(['top-start', 'top-end', 'bottom-end', 'bottom-start']),\n  shape: shapePropType,\n  size: PropTypes.oneOf(['sm']),\n  textColor: textColorsPropType,\n}\n\nCBadge.displayName = 'CBadge'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CBreadcrumbProps extends HTMLAttributes<HTMLOListElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CBreadcrumb = forwardRef<HTMLOListElement, CBreadcrumbProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <nav aria-label=\"breadcrumb\">\n        <ol className={classNames('breadcrumb', className)} {...rest} ref={ref}>\n          {children}\n        </ol>\n      </nav>\n    )\n  },\n)\n\nCBreadcrumb.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCBreadcrumb.displayName = 'CBreadcrumb'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink } from '../link/CLink'\n\nexport interface CBreadcrumbItemProps extends HTMLAttributes<HTMLLIElement> {\n  /**\n   * Toggle the active state for the component.\n   */\n  active?: boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * The `href` attribute for the inner `<CLink>` component.\n   */\n  href?: string\n}\n\nexport const CBreadcrumbItem = forwardRef<HTMLLIElement, CBreadcrumbItemProps>(\n  ({ children, active, className, href, ...rest }, ref) => {\n    return (\n      <li\n        className={classNames(\n          'breadcrumb-item',\n          {\n            active: active,\n          },\n          className,\n        )}\n        {...(active && { 'aria-current': 'page' })}\n        {...rest}\n        ref={ref}\n      >\n        {href ? <CLink href={href}>{children}</CLink> : children}\n      </li>\n    )\n  },\n)\n\nCBreadcrumbItem.propTypes = {\n  active: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  href: PropTypes.string,\n}\n\nCBreadcrumbItem.displayName = 'CBreadcrumbItem'\n","import React, { ElementType, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink, CLinkProps } from '../link/CLink'\n\nimport { colorPropType } from '../../props'\nimport type { Colors, Shapes } from '../../types'\n\nexport interface CButtonProps extends Omit<CLinkProps, 'size'> {\n  /**\n   * Toggle the active state for the component.\n   */\n  active?: boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * The href attribute specifies the URL of the page the link goes to.\n   */\n  href?: string\n  /**\n   * The role attribute describes the role of an element in programs that can make use of it, such as screen readers or magnifiers.\n   */\n  role?: string\n  /**\n   * Select the shape of the component.\n   *\n   * @type 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string\n   */\n  shape?: Shapes\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Specifies the type of button. Always specify the type attribute for the `<button>` element.\n   * Different browsers may use different default types for the `<button>` element.\n   */\n  type?: 'button' | 'submit' | 'reset'\n  /**\n   * Set the button variant to an outlined button or a ghost button.\n   */\n  variant?: 'outline' | 'ghost'\n}\n\nexport const CButton = forwardRef<HTMLButtonElement | HTMLAnchorElement, CButtonProps>(\n  (\n    {\n      children,\n      className,\n      color = 'primary',\n      component = 'button',\n      shape,\n      size,\n      type = 'button',\n      variant,\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <CLink\n        component={rest.href ? 'a' : component}\n        type={type}\n        className={classNames(\n          'btn',\n          variant ? `btn-${variant}-${color}` : `btn-${color}`,\n          { [`btn-${size}`]: size },\n          shape,\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </CLink>\n    )\n  },\n)\n\nCButton.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  component: PropTypes.elementType,\n  shape: PropTypes.string,\n  size: PropTypes.oneOf(['sm', 'lg']),\n  type: PropTypes.oneOf(['button', 'submit', 'reset']),\n  variant: PropTypes.oneOf(['outline', 'ghost']),\n}\n\nCButton.displayName = 'CButton'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CButtonToolbarProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CButtonToolbar = forwardRef<HTMLDivElement, CButtonToolbarProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('btn-toolbar', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCButtonToolbar.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCButtonToolbar.displayName = 'CButtonToolbar'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CButtonGroupProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\n   */\n  vertical?: boolean\n}\n\nexport const CButtonGroup = forwardRef<HTMLDivElement, CButtonGroupProps>(\n  ({ children, className, size, vertical, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames(\n          vertical ? 'btn-group-vertical' : 'btn-group',\n          { [`btn-group-${size}`]: size },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCButtonGroup.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  size: PropTypes.oneOf(['sm', 'lg']),\n  vertical: PropTypes.bool,\n}\n\nCButtonGroup.displayName = 'CButtonGroup'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CCalloutProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n}\n\nexport const CCallout = forwardRef<HTMLDivElement, CCalloutProps>(\n  ({ children, className, color, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames(\n          'callout',\n          {\n            [`callout-${color}`]: color,\n          },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCCallout.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCCallout.displayName = 'CCallout'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType, gradientsPropType } from '../../props'\nimport type { Colors, Gradients } from '../../types'\n\nexport interface CCardProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type {'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'primary-gradient' | 'secondary-gradient' | 'success-gradient' | 'danger-gradient' | 'warning-gradient' | 'info-gradient' | 'dark-gradient' | 'light-gradient' | string }\n   */\n  color?: Colors | Gradients\n  /**\n   * Sets the text color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'white' | 'muted' | 'high-emphasis' | 'medium-emphasis' | 'disabled' | 'high-emphasis-inverse' | 'medium-emphasis-inverse' | 'disabled-inverse' | string\n   */\n  textColor?: string\n}\n\nexport const CCard = forwardRef<HTMLDivElement, CCardProps>(\n  ({ children, className, color, textColor, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames(\n          'card',\n          {\n            [`bg-${color}`]: color,\n            [`text-${textColor}`]: textColor,\n          },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCCard.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: PropTypes.oneOfType([colorPropType, gradientsPropType]),\n  textColor: PropTypes.string,\n}\n\nCCard.displayName = 'CCard'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardBodyProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CCardBody = forwardRef<HTMLDivElement, CCardBodyProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('card-body', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCCardBody.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCCardBody.displayName = 'CCardBody'\n","import PropTypes from 'prop-types'\nimport React, { forwardRef, HTMLAttributes } from 'react'\nimport classNames from 'classnames'\n\nexport interface CCardFooterProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CCardFooter = forwardRef<HTMLDivElement, CCardFooterProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('card-footer', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCCardFooter.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCCardFooter.displayName = 'CCardFooter'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardGroupProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CCardGroup = forwardRef<HTMLDivElement, CCardGroupProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('card-group', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCCardGroup.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCCardGroup.displayName = 'CCardGroup'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardHeaderProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CCardHeader = forwardRef<HTMLDivElement, CCardHeaderProps>(\n  ({ children, component: Component = 'div', className, ...rest }, ref) => {\n    return (\n      <Component className={classNames('card-header', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCCardHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCCardHeader.displayName = 'CCardHeader'\n","import React, { ElementType, forwardRef, ImgHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardImageProps\n  extends ImgHTMLAttributes<HTMLImageElement | HTMLOrSVGElement | HTMLOrSVGImageElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\n   */\n  orientation?: 'top' | 'bottom'\n}\n\nexport const CCardImage = forwardRef<\n  HTMLImageElement | HTMLOrSVGElement | HTMLOrSVGImageElement,\n  CCardImageProps\n>(({ children, className, component: Component = 'img', orientation, ...rest }, ref) => {\n  return (\n    <Component\n      className={classNames(orientation ? `card-img-${orientation}` : 'card-img', className)}\n      {...rest}\n      ref={ref}\n    >\n      {children}\n    </Component>\n  )\n})\n\nCCardImage.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n  orientation: PropTypes.oneOf(['top', 'bottom']),\n}\n\nCCardImage.displayName = 'CCardImage'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardImageOverlayProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CCardImageOverlay = forwardRef<HTMLDivElement, CCardImageOverlayProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('card-img-overlay', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCCardImageOverlay.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCCardImageOverlay.displayName = 'CCardImageOverlay'\n","import React, { AnchorHTMLAttributes, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink } from '../link/CLink'\n\nexport interface CCardLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * The href attribute specifies the URL of the page the link goes to.\n   */\n  href?: string\n}\n\nexport const CCardLink = forwardRef<HTMLAnchorElement, CCardLinkProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <CLink className={classNames('card-link', className)} {...rest} ref={ref}>\n        {children}\n      </CLink>\n    )\n  },\n)\n\nCCardLink.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCCardLink.displayName = 'CCardLink'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardSubtitleProps extends HTMLAttributes<HTMLHeadingElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\nexport const CCardSubtitle = forwardRef<HTMLHeadingElement, CCardSubtitleProps>(\n  ({ children, component: Component = 'h6', className, ...rest }, ref) => {\n    return (\n      <Component className={classNames('card-subtitle', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCCardSubtitle.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCCardSubtitle.displayName = 'CCardSubtitle'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardTextProps extends HTMLAttributes<HTMLParagraphElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CCardText = forwardRef<HTMLParagraphElement, CCardTextProps>(\n  ({ children, component: Component = 'p', className, ...rest }, ref) => {\n    return (\n      <Component className={classNames('card-text', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCCardText.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCCardText.displayName = 'CCardText'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCardTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CCardTitle = forwardRef<HTMLHeadingElement, CCardTitleProps>(\n  ({ children, component: Component = 'h5', className, ...rest }, ref) => {\n    return (\n      <Component className={classNames('card-title', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCCardTitle.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCCardTitle.displayName = 'CCardTitle'\n","import React, {\n  Children,\n  createContext,\n  forwardRef,\n  HTMLAttributes,\n  TouchEvent,\n  useState,\n  useEffect,\n  useRef,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { isInViewport } from '../../utils'\nimport { useForkedRef } from '../../hooks'\n\nexport interface CCarouselProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * index of the active item.\n   */\n  activeIndex?: number\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Adding in the previous and next controls.\n   */\n  controls?: boolean\n  /**\n   * Add darker controls, indicators, and captions.\n   */\n  dark?: boolean\n  /**\n   * The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.\n   */\n  interval?: boolean | number\n  /**\n   * Adding indicators at the bottom of the carousel for each item.\n   */\n  indicators?: boolean\n  /**\n   * Callback fired when a slide transition end.\n   */\n  onSlid?: (active: number, direction: string) => void\n  /**\n   * Callback fired when a slide transition starts.\n   */\n  onSlide?: (active: number, direction: string) => void\n  /**\n   * If set to 'hover', pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave. If set to false, hovering over the carousel won't pause it.\n   */\n  pause?: boolean | 'hover'\n  /**\n   * Set whether the carousel should support left/right swipe interactions on touchscreen devices.\n   *\n   * @since 4.5.0\n   */\n  touch?: boolean\n  /**\n   * Set type of the transition.\n   */\n  transition?: 'slide' | 'crossfade'\n  /**\n   * Set whether the carousel should cycle continuously or have hard stops.\n   */\n  wrap?: boolean\n}\n\ninterface DataType {\n  timeout?: null | ReturnType<typeof setTimeout>\n}\n\nexport interface ContextProps {\n  setAnimating: (a: boolean) => void\n  setCustomInterval: (a: boolean | number) => void\n}\n\nexport const CCarouselContext = createContext({} as ContextProps)\n\nexport const CCarousel = forwardRef<HTMLDivElement, CCarouselProps>(\n  (\n    {\n      children,\n      activeIndex = 0,\n      className,\n      controls,\n      dark,\n      indicators,\n      interval = 5000,\n      onSlid,\n      onSlide,\n      pause = 'hover',\n      touch = true,\n      transition,\n      wrap = true,\n      ...rest\n    },\n    ref,\n  ) => {\n    const carouselRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, carouselRef)\n    const data = useRef<DataType>({}).current\n\n    const [active, setActive] = useState<number>(activeIndex)\n    const [animating, setAnimating] = useState<boolean>(false)\n    const [customInterval, setCustomInterval] = useState<boolean | number>()\n    const [direction, setDirection] = useState<string>('next')\n    const [itemsNumber, setItemsNumber] = useState<number>(0)\n    const [touchPosition, setTouchPosition] = useState<number | null>(null)\n    const [visible, setVisible] = useState<boolean>()\n\n    useEffect(() => {\n      setItemsNumber(Children.toArray(children).length)\n    })\n\n    useEffect(() => {\n      visible && cycle()\n    }, [visible])\n\n    useEffect(() => {\n      !animating && cycle()\n      !animating && onSlid && onSlid(active, direction)\n      animating && onSlide && onSlide(active, direction)\n    }, [animating])\n\n    useEffect(() => {\n      window.addEventListener('scroll', handleScroll)\n\n      return () => {\n        window.removeEventListener('scroll', handleScroll)\n      }\n    })\n\n    const cycle = () => {\n      _pause()\n      if (!wrap && active === itemsNumber - 1) {\n        return\n      }\n\n      if (typeof interval === 'number') {\n        data.timeout = setTimeout(\n          () => nextItemWhenVisible(),\n          typeof customInterval === 'number' ? customInterval : interval,\n        )\n      }\n    }\n    const _pause = () => pause && data.timeout && clearTimeout(data.timeout)\n\n    const nextItemWhenVisible = () => {\n      // Don't call next when the page isn't visible\n      // or the carousel or its parent isn't visible\n      if (!document.hidden && carouselRef.current && isInViewport(carouselRef.current)) {\n        if (animating) {\n          return\n        }\n        handleControlClick('next')\n      }\n    }\n\n    const handleControlClick = (direction: string) => {\n      if (animating) {\n        return\n      }\n      setDirection(direction)\n      if (direction === 'next') {\n        active === itemsNumber - 1 ? setActive(0) : setActive(active + 1)\n      } else {\n        active === 0 ? setActive(itemsNumber - 1) : setActive(active - 1)\n      }\n    }\n\n    const handleIndicatorClick = (index: number) => {\n      if (active === index) {\n        return\n      }\n\n      if (active < index) {\n        setDirection('next')\n        setActive(index)\n        return\n      }\n\n      if (active > index) {\n        setDirection('prev')\n        setActive(index)\n      }\n    }\n\n    const handleScroll = () => {\n      if (!document.hidden && carouselRef.current && isInViewport(carouselRef.current)) {\n        setVisible(true)\n      } else {\n        setVisible(false)\n      }\n    }\n\n    const handleTouchMove = (e: TouchEvent) => {\n      const touchDown = touchPosition\n\n      if (touchDown === null) {\n        return\n      }\n\n      const currentTouch = e.touches[0].clientX\n      const diff = touchDown - currentTouch\n\n      if (diff > 5) {\n        handleControlClick('next')\n      }\n\n      if (diff < -5) {\n        handleControlClick('prev')\n      }\n\n      setTouchPosition(null)\n    }\n\n    const handleTouchStart = (e: TouchEvent) => {\n      const touchDown = e.touches[0].clientX\n      setTouchPosition(touchDown)\n    }\n\n    return (\n      <div\n        className={classNames(\n          'carousel slide',\n          {\n            'carousel-dark': dark,\n            'carousel-fade': transition === 'crossfade',\n          },\n          className,\n        )}\n        onMouseEnter={_pause}\n        onMouseLeave={cycle}\n        {...(touch && { onTouchStart: handleTouchStart, onTouchMove: handleTouchMove })}\n        {...rest}\n        ref={forkedRef}\n      >\n        <CCarouselContext.Provider\n          value={{\n            setAnimating,\n            setCustomInterval,\n          }}\n        >\n          {indicators && (\n            <ol className=\"carousel-indicators\">\n              {Array.from({ length: itemsNumber }, (_, i) => i).map((index) => {\n                return (\n                  <li\n                    key={`indicator${index}`}\n                    onClick={() => {\n                      !animating && handleIndicatorClick(index)\n                    }}\n                    className={active === index ? 'active' : ''}\n                    data-coreui-target=\"\"\n                  />\n                )\n              })}\n            </ol>\n          )}\n          <div className=\"carousel-inner\">\n            {Children.map(children, (child, index) => {\n              if (React.isValidElement(child)) {\n                return React.cloneElement(child as React.ReactElement<any>, {\n                  active: active === index ? true : false,\n                  direction: direction,\n                  key: index,\n                })\n              }\n              return\n            })}\n          </div>\n          {controls && (\n            <>\n              <button className=\"carousel-control-prev\" onClick={() => handleControlClick('prev')}>\n                <span className={`carousel-control-prev-icon`} aria-label=\"prev\" />\n              </button>\n              <button className=\"carousel-control-next\" onClick={() => handleControlClick('next')}>\n                <span className={`carousel-control-next-icon`} aria-label=\"next\" />\n              </button>\n            </>\n          )}\n        </CCarouselContext.Provider>\n      </div>\n    )\n  },\n)\n\nCCarousel.propTypes = {\n  activeIndex: PropTypes.number,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  controls: PropTypes.bool,\n  dark: PropTypes.bool,\n  indicators: PropTypes.bool,\n  interval: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n  onSlid: PropTypes.func,\n  onSlide: PropTypes.func,\n  pause: PropTypes.oneOf([false, 'hover']),\n  touch: PropTypes.bool,\n  transition: PropTypes.oneOf(['slide', 'crossfade']),\n  wrap: PropTypes.bool,\n}\n\nCCarousel.displayName = 'CCarousel'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CCarouselCaptionProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CCarouselCaption = forwardRef<HTMLDivElement, CCarouselCaptionProps>(\n  ({ className, ...rest }, ref) => {\n    return <div className={classNames('carousel-caption', className)} {...rest} ref={ref} />\n  },\n)\n\nCCarouselCaption.propTypes = {\n  className: PropTypes.string,\n}\n\nCCarouselCaption.displayName = 'CCarouselCaption'\n","import React, { forwardRef, HTMLAttributes, useContext, useEffect, useState, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { useForkedRef } from '../../hooks'\nimport { CCarouselContext } from './CCarousel'\nexport interface CCarouselItemProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * @ignore\n   */\n  active?: boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * @ignore\n   */\n  direction?: string\n  /**\n   * The amount of time to delay between automatically cycling an item.\n   */\n  interval?: boolean | number\n}\n\nexport const CCarouselItem = forwardRef<HTMLDivElement, CCarouselItemProps>(\n  ({ children, className, active, direction, interval = false, ...rest }, ref) => {\n    const { setAnimating, setCustomInterval } = useContext(CCarouselContext)\n    const carouselItemRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, carouselItemRef)\n\n    const prevActive = useRef<boolean>()\n    const [directionClassName, setDirectionClassName] = useState<string>()\n    const [orderClassName, setOrderClassName] = useState<string>()\n    const [activeClassName, setActiveClassName] = useState(active && 'active')\n    const [count, setCount] = useState(0)\n\n    useEffect(() => {\n      if (active) {\n        setCustomInterval(interval)\n        if (count !== 0) setOrderClassName(`carousel-item-${direction}`)\n      }\n\n      if (prevActive.current && !active) {\n        setActiveClassName('active')\n      }\n\n      if (active || prevActive.current) {\n        setTimeout(() => {\n          if (count !== 0) {\n            // @ts-expect-error reflow is necessary to proper transition\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            const reflow = carouselItemRef.current?.offsetHeight\n            setDirectionClassName(`carousel-item-${direction === 'next' ? 'start' : 'end'}`)\n          }\n        }, 0)\n      }\n\n      prevActive.current = active\n\n      if (count === 0) setCount(count + 1)\n    }, [active])\n\n    useEffect(() => {\n      carouselItemRef.current?.addEventListener('transitionstart', () => {\n        active && setAnimating(true)\n      })\n      carouselItemRef.current?.addEventListener('transitionend', () => {\n        active && setAnimating(false)\n        setDirectionClassName('')\n        setOrderClassName('')\n        if (active) {\n          setActiveClassName('active')\n        }\n        if (!active) {\n          setActiveClassName('')\n        }\n      })\n      return () => {\n        carouselItemRef.current?.removeEventListener('transitionstart', () => {\n          active && setAnimating(true)\n        })\n        carouselItemRef.current?.removeEventListener('transitionend', () => {\n          active && setAnimating(false)\n          setDirectionClassName('')\n          setOrderClassName('')\n          if (active) {\n            setActiveClassName('active')\n          }\n          if (!active) {\n            setActiveClassName('')\n          }\n        })\n      }\n    })\n\n    return (\n      <div\n        className={classNames(\n          'carousel-item',\n          activeClassName,\n          directionClassName,\n          orderClassName,\n          className,\n        )}\n        ref={forkedRef}\n        {...rest}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCCarouselItem.propTypes = {\n  active: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  direction: PropTypes.string,\n  interval: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n}\n\nCCarouselItem.displayName = 'CCarouselItem'\n","import React, { FC, ReactNode, useEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport PropTypes from 'prop-types'\n\nconst getContainer = (container?: Element | (() => Element | null) | null) => {\n  if (container) {\n    return typeof container === 'function' ? container() : container\n  }\n\n  return document.body\n}\n\nexport interface CConditionalPortalProps {\n  /**\n   * @ignore\n   */\n  children: ReactNode\n  /**\n   * An HTML element or function that returns a single element, with `document.body` as the default.\n   * \n   * @since v4.11.0\n   */\n  container?: Element | (() => Element | null) | null\n  /**\n   * Render some children into a different part of the DOM\n   */\n  portal: boolean | any\n}\n\nexport const CConditionalPortal: FC<CConditionalPortalProps> = ({\n  children,\n  container,\n  portal,\n}) => {\n  const [_container, setContainer] = useState<ReturnType<typeof getContainer>>(null)\n\n  useEffect(() => {\n    portal && setContainer(getContainer(container) || document.body)\n  }, [container, portal])\n\n  return typeof window !== 'undefined' && portal && _container ? (\n    createPortal(children, _container)\n  ) : (\n    <>{children}</>\n  )\n}\n\nCConditionalPortal.propTypes = {\n  children: PropTypes.node,\n  container: PropTypes.any, // HTMLElement\n  portal: PropTypes.bool,\n}\n\nCConditionalPortal.displayName = 'CConditionalPortal'\n","export default 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}","export default function toInteger(dirtyNumber) {\n  if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n    return NaN;\n  }\n  var number = Number(dirtyNumber);\n  if (isNaN(number)) {\n    return number;\n  }\n  return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","export default function requiredArgs(required, args) {\n  if (args.length < required) {\n    throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n  }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n  requiredArgs(1, arguments);\n  var argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime());\n  } else if (typeof argument === 'number' || argStr === '[object Number]') {\n    return new Date(argument);\n  } else {\n    if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n      // eslint-disable-next-line no-console\n      console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n      // eslint-disable-next-line no-console\n      console.warn(new Error().stack);\n    }\n    return new Date(NaN);\n  }\n}","var defaultOptions = {};\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n  requiredArgs(1, arguments);\n  if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n    return false;\n  }\n  var date = toDate(dirtyDate);\n  return !isNaN(Number(date));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n  requiredArgs(1, arguments);\n  return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addMilliseconds(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var timestamp = toDate(dirtyDate).getTime();\n  var amount = toInteger(dirtyAmount);\n  return new Date(timestamp + amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n  requiredArgs(1, arguments);\n  var weekStartsOn = 1;\n  var date = toDate(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getUTCFullYear();\n  var fourthOfJanuaryOfNextYear = new Date(0);\n  fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n  var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n  var fourthOfJanuaryOfThisYear = new Date(0);\n  fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n  var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var year = getUTCISOWeekYear(dirtyDate);\n  var fourthOfJanuary = new Date(0);\n  fourthOfJanuary.setUTCFullYear(year, 0, 4);\n  fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n  var date = startOfUTCISOWeek(fourthOfJanuary);\n  return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = toDate(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getUTCFullYear();\n  var defaultOptions = getDefaultOptions();\n  var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var firstWeekOfNextYear = new Date(0);\n  firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n  var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n  var firstWeekOfThisYear = new Date(0);\n  firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n  var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n  var year = getUTCWeekYear(dirtyDate, options);\n  var firstWeek = new Date(0);\n  firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setUTCHours(0, 0, 0, 0);\n  var date = startOfUTCWeek(firstWeek, options);\n  return date;\n}","export default function addLeadingZeros(number, targetLength) {\n  var sign = number < 0 ? '-' : '';\n  var output = Math.abs(number).toString();\n  while (output.length < targetLength) {\n    output = '0' + output;\n  }\n  return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n  // Year\n  y: function y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    var signedYear = date.getUTCFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    var year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n  },\n  // Month\n  M: function M(date, token) {\n    var month = date.getUTCMonth();\n    return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n  // Day of the month\n  d: function d(date, token) {\n    return addLeadingZeros(date.getUTCDate(), token.length);\n  },\n  // AM or PM\n  a: function a(date, token) {\n    var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n    switch (token) {\n      case 'a':\n      case 'aa':\n        return dayPeriodEnumValue.toUpperCase();\n      case 'aaa':\n        return dayPeriodEnumValue;\n      case 'aaaaa':\n        return dayPeriodEnumValue[0];\n      case 'aaaa':\n      default:\n        return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n    }\n  },\n  // Hour [1-12]\n  h: function h(date, token) {\n    return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n  },\n  // Hour [0-23]\n  H: function H(date, token) {\n    return addLeadingZeros(date.getUTCHours(), token.length);\n  },\n  // Minute\n  m: function m(date, token) {\n    return addLeadingZeros(date.getUTCMinutes(), token.length);\n  },\n  // Second\n  s: function s(date, token) {\n    return addLeadingZeros(date.getUTCSeconds(), token.length);\n  },\n  // Fraction of second\n  S: function S(date, token) {\n    var numberOfDigits = token.length;\n    var milliseconds = date.getUTCMilliseconds();\n    var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n    return addLeadingZeros(fractionalSeconds, token.length);\n  }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n  am: 'am',\n  pm: 'pm',\n  midnight: 'midnight',\n  noon: 'noon',\n  morning: 'morning',\n  afternoon: 'afternoon',\n  evening: 'evening',\n  night: 'night'\n};\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n  // Era\n  G: function G(date, token, localize) {\n    var era = date.getUTCFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case 'G':\n      case 'GG':\n      case 'GGG':\n        return localize.era(era, {\n          width: 'abbreviated'\n        });\n      // A, B\n      case 'GGGGG':\n        return localize.era(era, {\n          width: 'narrow'\n        });\n      // Anno Domini, Before Christ\n      case 'GGGG':\n      default:\n        return localize.era(era, {\n          width: 'wide'\n        });\n    }\n  },\n  // Year\n  y: function y(date, token, localize) {\n    // Ordinal number\n    if (token === 'yo') {\n      var signedYear = date.getUTCFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      var year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, {\n        unit: 'year'\n      });\n    }\n    return lightFormatters.y(date, token);\n  },\n  // Local week-numbering year\n  Y: function Y(date, token, localize, options) {\n    var signedWeekYear = getUTCWeekYear(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === 'YY') {\n      var twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === 'Yo') {\n      return localize.ordinalNumber(weekYear, {\n        unit: 'year'\n      });\n    }\n\n    // Padding\n    return addLeadingZeros(weekYear, token.length);\n  },\n  // ISO week-numbering year\n  R: function R(date, token) {\n    var isoWeekYear = getUTCISOWeekYear(date);\n\n    // Padding\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function u(date, token) {\n    var year = date.getUTCFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n  // Quarter\n  Q: function Q(date, token, localize) {\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case 'Q':\n        return String(quarter);\n      // 01, 02, 03, 04\n      case 'QQ':\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case 'Qo':\n        return localize.ordinalNumber(quarter, {\n          unit: 'quarter'\n        });\n      // Q1, Q2, Q3, Q4\n      case 'QQQ':\n        return localize.quarter(quarter, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case 'QQQQQ':\n        return localize.quarter(quarter, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // 1st quarter, 2nd quarter, ...\n      case 'QQQQ':\n      default:\n        return localize.quarter(quarter, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone quarter\n  q: function q(date, token, localize) {\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case 'q':\n        return String(quarter);\n      // 01, 02, 03, 04\n      case 'qq':\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case 'qo':\n        return localize.ordinalNumber(quarter, {\n          unit: 'quarter'\n        });\n      // Q1, Q2, Q3, Q4\n      case 'qqq':\n        return localize.quarter(quarter, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case 'qqqqq':\n        return localize.quarter(quarter, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // 1st quarter, 2nd quarter, ...\n      case 'qqqq':\n      default:\n        return localize.quarter(quarter, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // Month\n  M: function M(date, token, localize) {\n    var month = date.getUTCMonth();\n    switch (token) {\n      case 'M':\n      case 'MM':\n        return lightFormatters.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case 'Mo':\n        return localize.ordinalNumber(month + 1, {\n          unit: 'month'\n        });\n      // Jan, Feb, ..., Dec\n      case 'MMM':\n        return localize.month(month, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // J, F, ..., D\n      case 'MMMMM':\n        return localize.month(month, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // January, February, ..., December\n      case 'MMMM':\n      default:\n        return localize.month(month, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone month\n  L: function L(date, token, localize) {\n    var month = date.getUTCMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case 'L':\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case 'LL':\n        return addLeadingZeros(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case 'Lo':\n        return localize.ordinalNumber(month + 1, {\n          unit: 'month'\n        });\n      // Jan, Feb, ..., Dec\n      case 'LLL':\n        return localize.month(month, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // J, F, ..., D\n      case 'LLLLL':\n        return localize.month(month, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // January, February, ..., December\n      case 'LLLL':\n      default:\n        return localize.month(month, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // Local week of year\n  w: function w(date, token, localize, options) {\n    var week = getUTCWeek(date, options);\n    if (token === 'wo') {\n      return localize.ordinalNumber(week, {\n        unit: 'week'\n      });\n    }\n    return addLeadingZeros(week, token.length);\n  },\n  // ISO week of year\n  I: function I(date, token, localize) {\n    var isoWeek = getUTCISOWeek(date);\n    if (token === 'Io') {\n      return localize.ordinalNumber(isoWeek, {\n        unit: 'week'\n      });\n    }\n    return addLeadingZeros(isoWeek, token.length);\n  },\n  // Day of the month\n  d: function d(date, token, localize) {\n    if (token === 'do') {\n      return localize.ordinalNumber(date.getUTCDate(), {\n        unit: 'date'\n      });\n    }\n    return lightFormatters.d(date, token);\n  },\n  // Day of year\n  D: function D(date, token, localize) {\n    var dayOfYear = getUTCDayOfYear(date);\n    if (token === 'Do') {\n      return localize.ordinalNumber(dayOfYear, {\n        unit: 'dayOfYear'\n      });\n    }\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n  // Day of week\n  E: function E(date, token, localize) {\n    var dayOfWeek = date.getUTCDay();\n    switch (token) {\n      // Tue\n      case 'E':\n      case 'EE':\n      case 'EEE':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'EEEEE':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'EEEEEE':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'EEEE':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Local day of week\n  e: function e(date, token, localize, options) {\n    var dayOfWeek = date.getUTCDay();\n    var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case 'e':\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case 'ee':\n        return addLeadingZeros(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case 'eo':\n        return localize.ordinalNumber(localDayOfWeek, {\n          unit: 'day'\n        });\n      case 'eee':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'eeeee':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'eeeeee':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'eeee':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone local day of week\n  c: function c(date, token, localize, options) {\n    var dayOfWeek = date.getUTCDay();\n    var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case 'c':\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case 'cc':\n        return addLeadingZeros(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case 'co':\n        return localize.ordinalNumber(localDayOfWeek, {\n          unit: 'day'\n        });\n      case 'ccc':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // T\n      case 'ccccc':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // Tu\n      case 'cccccc':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'standalone'\n        });\n      // Tuesday\n      case 'cccc':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // ISO day of week\n  i: function i(date, token, localize) {\n    var dayOfWeek = date.getUTCDay();\n    var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case 'i':\n        return String(isoDayOfWeek);\n      // 02\n      case 'ii':\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      // 2nd\n      case 'io':\n        return localize.ordinalNumber(isoDayOfWeek, {\n          unit: 'day'\n        });\n      // Tue\n      case 'iii':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'iiiii':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'iiiiii':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'iiii':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // AM or PM\n  a: function a(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n    switch (token) {\n      case 'a':\n      case 'aa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'aaa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        }).toLowerCase();\n      case 'aaaaa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'aaaa':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // AM, PM, midnight, noon\n  b: function b(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n    }\n    switch (token) {\n      case 'b':\n      case 'bb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'bbb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        }).toLowerCase();\n      case 'bbbbb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'bbbb':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // in the morning, in the afternoon, in the evening, at night\n  B: function B(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n    switch (token) {\n      case 'B':\n      case 'BB':\n      case 'BBB':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'BBBBB':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'BBBB':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Hour [1-12]\n  h: function h(date, token, localize) {\n    if (token === 'ho') {\n      var hours = date.getUTCHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return lightFormatters.h(date, token);\n  },\n  // Hour [0-23]\n  H: function H(date, token, localize) {\n    if (token === 'Ho') {\n      return localize.ordinalNumber(date.getUTCHours(), {\n        unit: 'hour'\n      });\n    }\n    return lightFormatters.H(date, token);\n  },\n  // Hour [0-11]\n  K: function K(date, token, localize) {\n    var hours = date.getUTCHours() % 12;\n    if (token === 'Ko') {\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return addLeadingZeros(hours, token.length);\n  },\n  // Hour [1-24]\n  k: function k(date, token, localize) {\n    var hours = date.getUTCHours();\n    if (hours === 0) hours = 24;\n    if (token === 'ko') {\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return addLeadingZeros(hours, token.length);\n  },\n  // Minute\n  m: function m(date, token, localize) {\n    if (token === 'mo') {\n      return localize.ordinalNumber(date.getUTCMinutes(), {\n        unit: 'minute'\n      });\n    }\n    return lightFormatters.m(date, token);\n  },\n  // Second\n  s: function s(date, token, localize) {\n    if (token === 'so') {\n      return localize.ordinalNumber(date.getUTCSeconds(), {\n        unit: 'second'\n      });\n    }\n    return lightFormatters.s(date, token);\n  },\n  // Fraction of second\n  S: function S(date, token) {\n    return lightFormatters.S(date, token);\n  },\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function X(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    if (timezoneOffset === 0) {\n      return 'Z';\n    }\n    switch (token) {\n      // Hours and optional minutes\n      case 'X':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case 'XXXX':\n      case 'XX':\n        // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case 'XXXXX':\n      case 'XXX': // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function x(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Hours and optional minutes\n      case 'x':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case 'xxxx':\n      case 'xx':\n        // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case 'xxxxx':\n      case 'xxx': // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (GMT)\n  O: function O(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Short\n      case 'O':\n      case 'OO':\n      case 'OOO':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n      // Long\n      case 'OOOO':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (specific non-location)\n  z: function z(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Short\n      case 'z':\n      case 'zz':\n      case 'zzz':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n      // Long\n      case 'zzzz':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Seconds timestamp\n  t: function t(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timestamp = Math.floor(originalDate.getTime() / 1000);\n    return addLeadingZeros(timestamp, token.length);\n  },\n  // Milliseconds timestamp\n  T: function T(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timestamp = originalDate.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n  var sign = offset > 0 ? '-' : '+';\n  var absOffset = Math.abs(offset);\n  var hours = Math.floor(absOffset / 60);\n  var minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  var delimiter = dirtyDelimiter || '';\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n  if (offset % 60 === 0) {\n    var sign = offset > 0 ? '-' : '+';\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n  var delimiter = dirtyDelimiter || '';\n  var sign = offset > 0 ? '-' : '+';\n  var absOffset = Math.abs(offset);\n  var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n  var minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\nexport default formatters;","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var timestamp = date.getTime();\n  date.setUTCMonth(0, 1);\n  date.setUTCHours(0, 0, 0, 0);\n  var startOfYearTimestamp = date.getTime();\n  var difference = timestamp - startOfYearTimestamp;\n  return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n  switch (pattern) {\n    case 'P':\n      return formatLong.date({\n        width: 'short'\n      });\n    case 'PP':\n      return formatLong.date({\n        width: 'medium'\n      });\n    case 'PPP':\n      return formatLong.date({\n        width: 'long'\n      });\n    case 'PPPP':\n    default:\n      return formatLong.date({\n        width: 'full'\n      });\n  }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n  switch (pattern) {\n    case 'p':\n      return formatLong.time({\n        width: 'short'\n      });\n    case 'pp':\n      return formatLong.time({\n        width: 'medium'\n      });\n    case 'ppp':\n      return formatLong.time({\n        width: 'long'\n      });\n    case 'pppp':\n    default:\n      return formatLong.time({\n        width: 'full'\n      });\n  }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n  var matchResult = pattern.match(/(P+)(p+)?/) || [];\n  var datePattern = matchResult[1];\n  var timePattern = matchResult[2];\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n  var dateTimeFormat;\n  switch (datePattern) {\n    case 'P':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'short'\n      });\n      break;\n    case 'PP':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'medium'\n      });\n      break;\n    case 'PPP':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'long'\n      });\n      break;\n    case 'PPPP':\n    default:\n      dateTimeFormat = formatLong.dateTime({\n        width: 'full'\n      });\n      break;\n  }\n  return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter\n};\nexport default longFormatters;","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n  return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n  return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n  if (token === 'YYYY') {\n    throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'YY') {\n    throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'D') {\n    throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'DD') {\n    throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  }\n}","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'less than a second',\n    other: 'less than {{count}} seconds'\n  },\n  xSeconds: {\n    one: '1 second',\n    other: '{{count}} seconds'\n  },\n  halfAMinute: 'half a minute',\n  lessThanXMinutes: {\n    one: 'less than a minute',\n    other: 'less than {{count}} minutes'\n  },\n  xMinutes: {\n    one: '1 minute',\n    other: '{{count}} minutes'\n  },\n  aboutXHours: {\n    one: 'about 1 hour',\n    other: 'about {{count}} hours'\n  },\n  xHours: {\n    one: '1 hour',\n    other: '{{count}} hours'\n  },\n  xDays: {\n    one: '1 day',\n    other: '{{count}} days'\n  },\n  aboutXWeeks: {\n    one: 'about 1 week',\n    other: 'about {{count}} weeks'\n  },\n  xWeeks: {\n    one: '1 week',\n    other: '{{count}} weeks'\n  },\n  aboutXMonths: {\n    one: 'about 1 month',\n    other: 'about {{count}} months'\n  },\n  xMonths: {\n    one: '1 month',\n    other: '{{count}} months'\n  },\n  aboutXYears: {\n    one: 'about 1 year',\n    other: 'about {{count}} years'\n  },\n  xYears: {\n    one: '1 year',\n    other: '{{count}} years'\n  },\n  overXYears: {\n    one: 'over 1 year',\n    other: 'over {{count}} years'\n  },\n  almostXYears: {\n    one: 'almost 1 year',\n    other: 'almost {{count}} years'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'in ' + result;\n    } else {\n      return result + ' ago';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n  return function () {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    // TODO: Remove String()\n    var width = options.width ? String(options.width) : args.defaultWidth;\n    var format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, MMMM do, y',\n  long: 'MMMM do, y',\n  medium: 'MMM d, y',\n  short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n  full: 'h:mm:ss a zzzz',\n  long: 'h:mm:ss a z',\n  medium: 'h:mm:ss a',\n  short: 'h:mm a'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n  return function (dirtyIndex, options) {\n    var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n    var valuesArray;\n    if (context === 'formatting' && args.formattingValues) {\n      var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n      valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      var _defaultWidth = args.defaultWidth;\n      var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n      valuesArray = args.values[_width] || args.values[_defaultWidth];\n    }\n    var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n    // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['B', 'A'],\n  abbreviated: ['BC', 'AD'],\n  wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n  wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n  short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n  abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n  wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  var rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st';\n      case 2:\n        return number + 'nd';\n      case 3:\n        return number + 'rd';\n    }\n  }\n  return number + 'th';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","export default function buildMatchFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var width = options.width;\n    var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n    var matchResult = string.match(matchPattern);\n    if (!matchResult) {\n      return null;\n    }\n    var matchedString = matchResult[0];\n    var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n    var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    }) : findKey(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    });\n    var value;\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}\nfunction findKey(object, predicate) {\n  for (var key in object) {\n    if (object.hasOwnProperty(key) && predicate(object[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\nfunction findIndex(array, predicate) {\n  for (var key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","export default function buildMatchPatternFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    var matchedString = matchResult[0];\n    var parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n  code: 'en-US',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n *    and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n  var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n  requiredArgs(2, arguments);\n  var formatStr = String(dirtyFormatStr);\n  var defaultOptions = getDefaultOptions();\n  var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n  var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  if (!locale.localize) {\n    throw new RangeError('locale must contain localize property');\n  }\n  if (!locale.formatLong) {\n    throw new RangeError('locale must contain formatLong property');\n  }\n  var originalDate = toDate(dirtyDate);\n  if (!isValid(originalDate)) {\n    throw new RangeError('Invalid time value');\n  }\n\n  // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n  // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n  // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n  var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n  var utcDate = subMilliseconds(originalDate, timezoneOffset);\n  var formatterOptions = {\n    firstWeekContainsDate: firstWeekContainsDate,\n    weekStartsOn: weekStartsOn,\n    locale: locale,\n    _originalDate: originalDate\n  };\n  var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n    var firstCharacter = substring[0];\n    if (firstCharacter === 'p' || firstCharacter === 'P') {\n      var longFormatter = longFormatters[firstCharacter];\n      return longFormatter(substring, locale.formatLong);\n    }\n    return substring;\n  }).join('').match(formattingTokensRegExp).map(function (substring) {\n    // Replace two single quote characters with one single quote character\n    if (substring === \"''\") {\n      return \"'\";\n    }\n    var firstCharacter = substring[0];\n    if (firstCharacter === \"'\") {\n      return cleanEscapedString(substring);\n    }\n    var formatter = formatters[firstCharacter];\n    if (formatter) {\n      if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n        throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n      }\n      if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n        throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n      }\n      return formatter(utcDate, substring, locale.localize, formatterOptions);\n    }\n    if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n      throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n    }\n    return substring;\n  }).join('');\n  return result;\n}\nfunction cleanEscapedString(input) {\n  var matched = input.match(escapedStringRegExp);\n  if (!matched) {\n    return input;\n  }\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n  var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n  utcDate.setUTCFullYear(date.getFullYear());\n  return date.getTime() - utcDate.getTime();\n}","/* UAParser.js v1.0.35\n   Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\n   MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"1.0.35\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=350;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",VIERA=\"Viera\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\",CHROMIUM_OS=\"Chromium OS\",MAC_OS=\"Mac OS\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i<arr.length;i++){enums[arr[i].toUpperCase()]=arr[i]}return enums},has=function(str1,str2){return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:false},lowerize=function(str){return str.toLowerCase()},majorize=function(version){return typeof version===STR_TYPE?version.replace(/[^\\d\\.]/g,EMPTY).split(\".\")[0]:undefined},trim=function(str,len){if(typeof str===STR_TYPE){str=str.replace(/^\\s\\s*/,EMPTY);return typeof len===UNDEF_TYPE?str:str.substring(0,UA_MAX_LENGTH)}};var rgxMapper=function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i<arrays.length&&!matches){var regex=arrays[i],props=arrays[i+1];j=k=0;while(j<regex.length&&!matches){if(!regex[j]){break}matches=regex[j++].exec(ua);if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(has(map[i],str)){return i===UNKNOWN?undefined:i}}return str};var oldSafariMap={\"1.0\":\"/8\",1.2:\"/1\",1.3:\"/3\",\"2.0\":\"/412\",\"2.0.2\":\"/416\",\"2.0.3\":\"/417\",\"2.0.4\":\"/419\",\"?\":\"/\"},windowsVersionMap={ME:\"4.90\",\"NT 3.11\":\"NT3.51\",\"NT 4.0\":\"NT4.0\",2e3:\"NT 5.0\",XP:[\"NT 5.1\",\"NT 5.2\"],Vista:\"NT 6.0\",7:\"NT 6.1\",8:\"NT 6.2\",8.1:\"NT 6.3\",10:[\"NT 6.4\",\"NT 10.0\"],RT:\"ARM\"};var regexes={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Chrome\"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Edge\"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[NAME,VERSION],[/opios[\\/ ]+([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Mini\"]],[/\\bopr\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,/(heytap|ovi)browser\\/([\\d\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[NAME,VERSION],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[VERSION,[NAME,\"UC\"+BROWSER]],[/microm.+\\bqbcore\\/([\\w\\.]+)/i,/\\bqbcore\\/([\\w\\.]+).+microm/i],[VERSION,[NAME,\"WeChat(Win) Desktop\"]],[/micromessenger\\/([\\w\\.]+)/i],[VERSION,[NAME,\"WeChat\"]],[/konqueror\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Konqueror\"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[VERSION,[NAME,\"IE\"]],[/ya(?:search)?browser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Yandex\"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 Secure \"+BROWSER],VERSION],[/\\bfocus\\/([\\w\\.]+)/i],[VERSION,[NAME,FIREFOX+\" Focus\"]],[/\\bopt\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Touch\"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Coc Coc\"]],[/dolfin\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Dolphin\"]],[/coast\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Coast\"]],[/miuibrowser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"MIUI \"+BROWSER]],[/fxios\\/([-\\w\\.]+)/i],[VERSION,[NAME,FIREFOX]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[NAME,\"360 \"+BROWSER]],[/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 \"+BROWSER],VERSION],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[NAME,/_/g,\" \"],VERSION],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[NAME,VERSION],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i,/\\[(linkedin)app\\]/i],[NAME],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[NAME,FACEBOOK],VERSION],[/(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,/(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[NAME,VERSION],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[VERSION,[NAME,\"GSA\"]],[/musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i],[VERSION,[NAME,\"TikTok\"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[VERSION,[NAME,CHROME+\" Headless\"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[NAME,CHROME+\" WebView\"],VERSION],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[VERSION,[NAME,\"Android \"+BROWSER]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[NAME,VERSION],[/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i],[VERSION,[NAME,\"Mobile Safari\"]],[/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i],[VERSION,NAME],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[NAME,[VERSION,strMapper,oldSafariMap]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[NAME,VERSION],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[NAME,\"Netscape\"],VERSION],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[VERSION,[NAME,FIREFOX+\" Reality\"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i,/panasonic;(viera)/i],[NAME,VERSION],[/(cobalt)\\/([\\w\\.]+)/i],[NAME,[VERSION,/master.|lts./,\"\"]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[[ARCHITECTURE,\"amd64\"]],[/(ia32(?=;))/i],[[ARCHITECTURE,lowerize]],[/((?:i[346]|x)86)[;\\)]/i],[[ARCHITECTURE,\"ia32\"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[[ARCHITECTURE,\"arm64\"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[[ARCHITECTURE,\"armhf\"]],[/windows (ce|mobile); ppc;/i],[[ARCHITECTURE,\"arm\"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[[ARCHITECTURE,/ower/,EMPTY,lowerize]],[/(sun4\\w)[;\\)]/i],[[ARCHITECTURE,\"sparc\"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[[ARCHITECTURE,lowerize]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,TABLET]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,MOBILE]],[/(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i],[MODEL,[VENDOR,APPLE],[TYPE,MOBILE]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[MODEL,[VENDOR,APPLE],[TYPE,TABLET]],[/(macintosh);/i],[MODEL,[VENDOR,APPLE]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[MODEL,[VENDOR,SHARP],[TYPE,MOBILE]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,TABLET]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,MOBILE]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[MODEL,/_/g,\" \"],[VENDOR,XIAOMI],[TYPE,MOBILE]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[MODEL,/_/g,\" \"],[VENDOR,XIAOMI],[TYPE,TABLET]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],[MODEL,[VENDOR,\"OPPO\"],[TYPE,MOBILE]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[MODEL,[VENDOR,\"Vivo\"],[TYPE,MOBILE]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[MODEL,[VENDOR,\"Realme\"],[TYPE,MOBILE]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,MOBILE]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[MODEL,[VENDOR,MOTOROLA],[TYPE,TABLET]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[MODEL,[VENDOR,LG],[TYPE,TABLET]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[MODEL,[VENDOR,LG],[TYPE,MOBILE]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[MODEL,[VENDOR,\"Lenovo\"],[TYPE,TABLET]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[MODEL,/_/g,\" \"],[VENDOR,\"Nokia\"],[TYPE,MOBILE]],[/(pixel c)\\b/i],[MODEL,[VENDOR,GOOGLE],[TYPE,TABLET]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[MODEL,[VENDOR,GOOGLE],[TYPE,MOBILE]],[/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[MODEL,[VENDOR,SONY],[TYPE,MOBILE]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[MODEL,\"Xperia Tablet\"],[VENDOR,SONY],[TYPE,TABLET]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[MODEL,[VENDOR,\"OnePlus\"],[TYPE,MOBILE]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[MODEL,[VENDOR,AMAZON],[TYPE,TABLET]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[MODEL,/(.+)/g,\"Fire Phone $1\"],[VENDOR,AMAZON],[TYPE,MOBILE]],[/(playbook);[-\\w\\),; ]+(rim)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[MODEL,[VENDOR,BLACKBERRY],[TYPE,MOBILE]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[MODEL,[VENDOR,ASUS],[TYPE,TABLET]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[MODEL,[VENDOR,ASUS],[TYPE,MOBILE]],[/(nexus 9)/i],[MODEL,[VENDOR,\"HTC\"],[TYPE,TABLET]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i],[VENDOR,[MODEL,/_/g,\" \"],[TYPE,MOBILE]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[MODEL,[VENDOR,\"Acer\"],[TYPE,TABLET]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[MODEL,[VENDOR,\"Meizu\"],[TYPE,MOBILE]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kobo)\\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(surface duo)/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,TABLET]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[MODEL,[VENDOR,\"Fairphone\"],[TYPE,MOBILE]],[/(u304aa)/i],[MODEL,[VENDOR,\"AT&T\"],[TYPE,MOBILE]],[/\\bsie-(\\w*)/i],[MODEL,[VENDOR,\"Siemens\"],[TYPE,MOBILE]],[/\\b(rct\\w+) b/i],[MODEL,[VENDOR,\"RCA\"],[TYPE,TABLET]],[/\\b(venue[\\d ]{2,7}) b/i],[MODEL,[VENDOR,\"Dell\"],[TYPE,TABLET]],[/\\b(q(?:mv|ta)\\w+) b/i],[MODEL,[VENDOR,\"Verizon\"],[TYPE,TABLET]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[MODEL,[VENDOR,\"Barnes & Noble\"],[TYPE,TABLET]],[/\\b(tm\\d{3}\\w+) b/i],[MODEL,[VENDOR,\"NuVision\"],[TYPE,TABLET]],[/\\b(k88) b/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,TABLET]],[/\\b(nx\\d{3}j) b/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,MOBILE]],[/\\b(gen\\d{3}) b.+49h/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,MOBILE]],[/\\b(zur\\d{3}) b/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,TABLET]],[/\\b((zeki)?tb.*\\b) b/i],[MODEL,[VENDOR,\"Zeki\"],[TYPE,TABLET]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[VENDOR,\"Dragon Touch\"],MODEL,[TYPE,TABLET]],[/\\b(ns-?\\w{0,9}) b/i],[MODEL,[VENDOR,\"Insignia\"],[TYPE,TABLET]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[MODEL,[VENDOR,\"NextBook\"],[TYPE,TABLET]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[VENDOR,\"Voice\"],MODEL,[TYPE,MOBILE]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[VENDOR,\"LvTel\"],MODEL,[TYPE,MOBILE]],[/\\b(ph-1) /i],[MODEL,[VENDOR,\"Essential\"],[TYPE,MOBILE]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[MODEL,[VENDOR,\"Envizen\"],[TYPE,TABLET]],[/\\b(trio[-\\w\\. ]+) b/i],[MODEL,[VENDOR,\"MachSpeed\"],[TYPE,TABLET]],[/\\btu_(1491) b/i],[MODEL,[VENDOR,\"Rotor\"],[TYPE,TABLET]],[/(shield[\\w ]+) b/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,TABLET]],[/(sprint) (\\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kin\\.[onetw]{3})/i],[[MODEL,/\\./g,\" \"],[VENDOR,MICROSOFT],[TYPE,MOBILE]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,TABLET]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,MOBILE]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV]],[/hbbtv.+maple;(\\d+)/i],[[MODEL,/^/,\"SmartTV\"],[VENDOR,SAMSUNG],[TYPE,SMARTTV]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[VENDOR,LG],[TYPE,SMARTTV]],[/(apple) ?tv/i],[VENDOR,[MODEL,APPLE+\" TV\"],[TYPE,SMARTTV]],[/crkey/i],[[MODEL,CHROME+\"cast\"],[VENDOR,GOOGLE],[TYPE,SMARTTV]],[/droid.+aft(\\w)( bui|\\))/i],[MODEL,[VENDOR,AMAZON],[TYPE,SMARTTV]],[/\\(dtv[\\);].+(aquos)/i,/(aquos-tv[\\w ]+)\\)/i],[MODEL,[VENDOR,SHARP],[TYPE,SMARTTV]],[/(bravia[\\w ]+)( bui|\\))/i],[MODEL,[VENDOR,SONY],[TYPE,SMARTTV]],[/(mitv-\\w{5}) bui/i],[MODEL,[VENDOR,XIAOMI],[TYPE,SMARTTV]],[/Hbbtv.*(technisat) (.*);/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i],[[VENDOR,trim],[MODEL,trim],[TYPE,SMARTTV]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[TYPE,SMARTTV]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/droid.+; (shield) bui/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,CONSOLE]],[/(playstation [345portablevi]+)/i],[MODEL,[VENDOR,SONY],[TYPE,CONSOLE]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,CONSOLE]],[/((pebble))app/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i],[MODEL,[VENDOR,APPLE],[TYPE,WEARABLE]],[/droid.+; (glass) \\d/i],[MODEL,[VENDOR,GOOGLE],[TYPE,WEARABLE]],[/droid.+; (wt63?0{2,3})\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,WEARABLE]],[/(quest( 2| pro)?)/i],[MODEL,[VENDOR,FACEBOOK],[TYPE,WEARABLE]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[VENDOR,[TYPE,EMBEDDED]],[/(aeobc)\\b/i],[MODEL,[VENDOR,AMAZON],[TYPE,EMBEDDED]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[MODEL,[TYPE,MOBILE]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[MODEL,[TYPE,TABLET]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[TYPE,TABLET]],[/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],[[TYPE,MOBILE]],[/(android[-\\w\\. ]{0,9});.+buil/i],[MODEL,[VENDOR,\"Generic\"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[VERSION,[NAME,EDGE+\"HTML\"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[VERSION,[NAME,\"Blink\"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,/\\b(libweb)/i],[NAME,VERSION],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[VERSION,NAME]],os:[[/microsoft (windows) (vista|xp)/i],[NAME,VERSION],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[NAME,[VERSION,strMapper,windowsVersionMap]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[NAME,\"Windows\"],[VERSION,strMapper,windowsVersionMap]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/ios;fbsv\\/([\\d\\.]+)/i,/cfnetwork\\/.+darwin/i],[[VERSION,/_/g,\".\"],[NAME,\"iOS\"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[NAME,MAC_OS],[VERSION,/_/g,\".\"]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],[VERSION,NAME],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[NAME,VERSION],[/\\(bb(10);/i],[VERSION,[NAME,BLACKBERRY]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[VERSION,[NAME,\"Symbian\"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[VERSION,[NAME,FIREFOX+\" OS\"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[VERSION,[NAME,\"webOS\"]],[/watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i],[VERSION,[NAME,\"watchOS\"]],[/crkey\\/([\\d\\.]+)/i],[VERSION,[NAME,CHROME+\"cast\"]],[/(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i],[[NAME,CHROMIUM_OS],VERSION],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\\/(\\d+\\.[\\w\\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[NAME,VERSION],[/(sunos) ?([\\w\\.\\d]*)/i],[[NAME,\"Solaris\"],VERSION],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\\w\\.]*)/i],[NAME,VERSION]]};var UAParser=function(ua,extensions){if(typeof ua===OBJ_TYPE){extensions=ua;ua=undefined}if(!(this instanceof UAParser)){return new UAParser(ua,extensions).getResult()}var _navigator=typeof window!==UNDEF_TYPE&&window.navigator?window.navigator:undefined;var _ua=ua||(_navigator&&_navigator.userAgent?_navigator.userAgent:EMPTY);var _uach=_navigator&&_navigator.userAgentData?_navigator.userAgentData:undefined;var _rgxmap=extensions?extend(regexes,extensions):regexes;var _isSelfNav=_navigator&&_navigator.userAgent==_ua;this.getBrowser=function(){var _browser={};_browser[NAME]=undefined;_browser[VERSION]=undefined;rgxMapper.call(_browser,_ua,_rgxmap.browser);_browser[MAJOR]=majorize(_browser[VERSION]);if(_isSelfNav&&_navigator&&_navigator.brave&&typeof _navigator.brave.isBrave==FUNC_TYPE){_browser[NAME]=\"Brave\"}return _browser};this.getCPU=function(){var _cpu={};_cpu[ARCHITECTURE]=undefined;rgxMapper.call(_cpu,_ua,_rgxmap.cpu);return _cpu};this.getDevice=function(){var _device={};_device[VENDOR]=undefined;_device[MODEL]=undefined;_device[TYPE]=undefined;rgxMapper.call(_device,_ua,_rgxmap.device);if(_isSelfNav&&!_device[TYPE]&&_uach&&_uach.mobile){_device[TYPE]=MOBILE}if(_isSelfNav&&_device[MODEL]==\"Macintosh\"&&_navigator&&typeof _navigator.standalone!==UNDEF_TYPE&&_navigator.maxTouchPoints&&_navigator.maxTouchPoints>2){_device[MODEL]=\"iPad\";_device[TYPE]=TABLET}return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined;_engine[VERSION]=undefined;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined;_os[VERSION]=undefined;rgxMapper.call(_os,_ua,_rgxmap.os);if(_isSelfNav&&!_os[NAME]&&_uach&&_uach.platform!=\"Unknown\"){_os[NAME]=_uach.platform.replace(/chrome os/i,CHROMIUM_OS).replace(/macos/i,MAC_OS)}return _os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n  return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n  if (!userAgent) {\n    console.error('No userAgent string was provided');\n    return;\n  }\n\n  var UserAgentInstance = new UAParser(userAgent);\n  return {\n    UA: UserAgentInstance,\n    browser: UserAgentInstance.getBrowser(),\n    cpu: UserAgentInstance.getCPU(),\n    device: UserAgentInstance.getDevice(),\n    engine: UserAgentInstance.getEngine(),\n    os: UserAgentInstance.getOS(),\n    ua: UserAgentInstance.getUA(),\n    setUserAgent: function setUserAgent(userAgentString) {\n      return UserAgentInstance.setUA(userAgentString);\n    }\n  };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n  ClientUAInstance: ClientUAInstance,\n  browser: browser,\n  cpu: cpu,\n  device: device,\n  engine: engine,\n  os: os,\n  ua: ua,\n  setUa: setUa,\n  parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n\n    if (enumerableOnly) {\n      symbols = symbols.filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n      });\n    }\n\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(Object(source), true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(Object(source)).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\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 _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n\n  var target = _objectWithoutPropertiesLoose(source, excluded);\n\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n    return call;\n  } else if (call !== void 0) {\n    throw new TypeError(\"Derived constructors may only return object or undefined\");\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n  if (_i == null) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n\n  var _s, _e;\n\n  try {\n    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n  return arr2;\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n  Mobile: 'mobile',\n  Tablet: 'tablet',\n  SmartTv: 'smarttv',\n  Console: 'console',\n  Wearable: 'wearable',\n  Embedded: 'embedded',\n  Browser: undefined\n};\nvar BrowserTypes = {\n  Chrome: 'Chrome',\n  Firefox: 'Firefox',\n  Opera: 'Opera',\n  Yandex: 'Yandex',\n  Safari: 'Safari',\n  InternetExplorer: 'Internet Explorer',\n  Edge: 'Edge',\n  Chromium: 'Chromium',\n  Ie: 'IE',\n  MobileSafari: 'Mobile Safari',\n  EdgeChromium: 'Edge Chromium',\n  MIUI: 'MIUI Browser',\n  SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n  IOS: 'iOS',\n  Android: 'Android',\n  WindowsPhone: 'Windows Phone',\n  Windows: 'Windows',\n  MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n  isMobile: false,\n  isTablet: false,\n  isBrowser: false,\n  isSmartTV: false,\n  isConsole: false,\n  isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n  switch (type) {\n    case DeviceTypes.Mobile:\n      return {\n        isMobile: true\n      };\n\n    case DeviceTypes.Tablet:\n      return {\n        isTablet: true\n      };\n\n    case DeviceTypes.SmartTv:\n      return {\n        isSmartTV: true\n      };\n\n    case DeviceTypes.Console:\n      return {\n        isConsole: true\n      };\n\n    case DeviceTypes.Wearable:\n      return {\n        isWearable: true\n      };\n\n    case DeviceTypes.Browser:\n      return {\n        isBrowser: true\n      };\n\n    case DeviceTypes.Embedded:\n      return {\n        isEmbedded: true\n      };\n\n    default:\n      return InitialDeviceTypes;\n  }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n  return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n  var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n  return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n  if (typeof window !== 'undefined') {\n    if (window.navigator || navigator) {\n      return window.navigator || navigator;\n    }\n  }\n\n  return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n  var nav = getNavigatorInstance();\n  return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n  return {\n    isBrowser: isBrowser,\n    browserMajorVersion: setDefaults(browser.major),\n    browserFullVersion: setDefaults(browser.version),\n    browserName: setDefaults(browser.name),\n    engineName: setDefaults(engine.name),\n    engineVersion: setDefaults(engine.version),\n    osName: setDefaults(os.name),\n    osVersion: setDefaults(os.version),\n    userAgent: setDefaults(ua)\n  };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n  return _objectSpread2({}, type, {\n    vendor: setDefaults(device.vendor),\n    model: setDefaults(device.model),\n    os: setDefaults(os.name),\n    osVersion: setDefaults(os.version),\n    ua: setDefaults(ua)\n  });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n  return {\n    isSmartTV: isSmartTV,\n    engineName: setDefaults(engine.name),\n    engineVersion: setDefaults(engine.version),\n    osName: setDefaults(os.name),\n    osVersion: setDefaults(os.version),\n    userAgent: setDefaults(ua)\n  };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n  return {\n    isConsole: isConsole,\n    engineName: setDefaults(engine.name),\n    engineVersion: setDefaults(engine.version),\n    osName: setDefaults(os.name),\n    osVersion: setDefaults(os.version),\n    userAgent: setDefaults(ua)\n  };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n  return {\n    isWearable: isWearable,\n    engineName: setDefaults(engine.name),\n    engineVersion: setDefaults(engine.version),\n    osName: setDefaults(os.name),\n    osVersion: setDefaults(os.version),\n    userAgent: setDefaults(ua)\n  };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n  return {\n    isEmbedded: isEmbedded,\n    vendor: setDefaults(device.vendor),\n    model: setDefaults(device.model),\n    engineName: setDefaults(engine.name),\n    engineVersion: setDefaults(engine.version),\n    osName: setDefaults(os.name),\n    osVersion: setDefaults(os.version),\n    userAgent: setDefaults(ua)\n  };\n};\n\nfunction deviceDetect(userAgent) {\n  var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n      device = _ref.device,\n      browser = _ref.browser,\n      engine = _ref.engine,\n      os = _ref.os,\n      ua = _ref.ua;\n\n  var type = checkDeviceType(device.type);\n  var isBrowser = type.isBrowser,\n      isMobile = type.isMobile,\n      isTablet = type.isTablet,\n      isSmartTV = type.isSmartTV,\n      isConsole = type.isConsole,\n      isWearable = type.isWearable,\n      isEmbedded = type.isEmbedded;\n\n  if (isBrowser) {\n    return browserPayload(isBrowser, browser, engine, os, ua);\n  }\n\n  if (isSmartTV) {\n    return smartTvPayload(isSmartTV, engine, os, ua);\n  }\n\n  if (isConsole) {\n    return consolePayload(isConsole, engine, os, ua);\n  }\n\n  if (isMobile) {\n    return mobilePayload(type, device, os, ua);\n  }\n\n  if (isTablet) {\n    return mobilePayload(type, device, os, ua);\n  }\n\n  if (isWearable) {\n    return wearablePayload(isWearable, engine, os, ua);\n  }\n\n  if (isEmbedded) {\n    return embeddedPayload(isEmbedded, device, engine, os, ua);\n  }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n  var type = _ref.type;\n  return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n  var type = _ref2.type;\n  return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n  var type = _ref3.type;\n  return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n  var type = _ref4.type;\n  return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n  var type = _ref5.type;\n  return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n  var type = _ref6.type;\n  return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n  var type = _ref7.type;\n  return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n  var type = _ref8.type;\n  return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n  var vendor = _ref9.vendor;\n  return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n  var model = _ref10.model;\n  return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n  var type = _ref11.type;\n  return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n  var name = _ref12.name;\n  return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n  var name = _ref13.name;\n  return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n  var name = _ref14.name;\n  return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n  var name = _ref15.name;\n  return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n  var name = _ref16.name;\n  return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n  var version = _ref17.version;\n  return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n  var name = _ref18.name;\n  return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n  var name = _ref19.name;\n  return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n  var name = _ref20.name;\n  return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n  var name = _ref21.name;\n  return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n  var name = _ref22.name;\n  return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n  var name = _ref23.name;\n  return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n  var name = _ref24.name;\n  return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n  var name = _ref25.name;\n  return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n  var name = _ref26.name;\n  return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n  var name = _ref27.name;\n  return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n  var name = _ref28.name;\n  return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n  var name = _ref29.name;\n  return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n  var version = _ref30.version;\n  return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n  var major = _ref31.major;\n  return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n  var name = _ref32.name;\n  return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n  var name = _ref33.name;\n  return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n  var version = _ref34.version;\n  return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n  var nav = getNavigatorInstance();\n  var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n  return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n  return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n  var nav = getNavigatorInstance();\n  return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n  return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n  return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n  return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n  return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n  var _ref = options ? options : UAHelper,\n      device = _ref.device,\n      browser = _ref.browser,\n      os = _ref.os,\n      engine = _ref.engine,\n      ua = _ref.ua;\n\n  return {\n    isSmartTV: isSmartTVType(device),\n    isConsole: isConsoleType(device),\n    isWearable: isWearableType(device),\n    isEmbedded: isEmbeddedType(device),\n    isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n    isChromium: isChromiumType(browser),\n    isMobile: isMobileAndTabletType(device) || getIPad13(),\n    isMobileOnly: isMobileType(device),\n    isTablet: isTabletType(device) || getIPad13(),\n    isBrowser: isBrowserType(device),\n    isDesktop: isBrowserType(device),\n    isAndroid: isAndroidType(os),\n    isWinPhone: isWinPhoneType(os),\n    isIOS: isIOSType(os) || getIPad13(),\n    isChrome: isChromeType(browser),\n    isFirefox: isFirefoxType(browser),\n    isSafari: isSafariType(browser),\n    isOpera: isOperaType(browser),\n    isIE: isIEType(browser),\n    osVersion: getOsVersion(os),\n    osName: getOsName(os),\n    fullBrowserVersion: getBrowserFullVersion(browser),\n    browserVersion: getBrowserVersion(browser),\n    browserName: getBrowserName(browser),\n    mobileVendor: getMobileVendor(device),\n    mobileModel: getMobileModel(device),\n    engineName: getEngineName(engine),\n    engineVersion: getEngineVersion(engine),\n    getUA: getUseragent(ua),\n    isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n    isYandex: isYandexType(browser),\n    deviceType: getDeviceType(device),\n    isIOS13: getIOS13(),\n    isIPad13: getIPad13(),\n    isIPhone13: getIphone13(),\n    isIPod13: getIPod13(),\n    isElectron: isElectronType(),\n    isEdgeChromium: isEdgeChromiumType(ua),\n    isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n    isWindows: isWindowsType(os),\n    isMacOs: isMacOsType(os),\n    isMIUI: isMIUIType(browser),\n    isSamsungBrowser: isSamsungBrowserType(browser)\n  };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n  if (!userAgent || typeof userAgent !== 'string') {\n    console.error('No valid user agent string was provided');\n    return;\n  }\n\n  var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n      device = _UAHelper$parseUserAg.device,\n      browser = _UAHelper$parseUserAg.browser,\n      os = _UAHelper$parseUserAg.os,\n      engine = _UAHelper$parseUserAg.engine,\n      ua = _UAHelper$parseUserAg.ua;\n\n  return buildSelectorsObject({\n    device: device,\n    browser: browser,\n    os: os,\n    engine: engine,\n    ua: ua\n  });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n  var renderWithFragment = _ref.renderWithFragment,\n      children = _ref.children,\n      props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n  return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n  var renderWithFragment = _ref2.renderWithFragment,\n      children = _ref2.children,\n      props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n  return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n  var renderWithFragment = _ref3.renderWithFragment,\n      children = _ref3.children,\n      props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n  return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n  var renderWithFragment = _ref4.renderWithFragment,\n      children = _ref4.children,\n      props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n  return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n  var renderWithFragment = _ref5.renderWithFragment,\n      children = _ref5.children,\n      props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n  return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n  var renderWithFragment = _ref6.renderWithFragment,\n      children = _ref6.children,\n      props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n  return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n  var renderWithFragment = _ref7.renderWithFragment,\n      children = _ref7.children,\n      props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n  return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n  var renderWithFragment = _ref8.renderWithFragment,\n      children = _ref8.children,\n      viewClassName = _ref8.viewClassName,\n      style = _ref8.style,\n      props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n  return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n  var renderWithFragment = _ref9.renderWithFragment,\n      children = _ref9.children,\n      props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n  return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n  var renderWithFragment = _ref10.renderWithFragment,\n      children = _ref10.children,\n      props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n  return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n  var renderWithFragment = _ref11.renderWithFragment,\n      children = _ref11.children,\n      props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n  return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n  var renderWithFragment = _ref12.renderWithFragment,\n      children = _ref12.children,\n      viewClassName = _ref12.viewClassName,\n      style = _ref12.style,\n      condition = _ref12.condition,\n      props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n  return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n  return /*#__PURE__*/function (_React$Component) {\n    _inherits(_class, _React$Component);\n\n    function _class(props) {\n      var _this;\n\n      _classCallCheck(this, _class);\n\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n      _this.isEventListenerAdded = false;\n      _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n      _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n      _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n      _this.state = {\n        isLandscape: false,\n        isPortrait: false\n      };\n      return _this;\n    }\n\n    _createClass(_class, [{\n      key: \"handleOrientationChange\",\n      value: function handleOrientationChange() {\n        if (!this.isEventListenerAdded) {\n          this.isEventListenerAdded = true;\n        }\n\n        var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n        this.setState({\n          isPortrait: orientation === 0,\n          isLandscape: orientation === 90\n        });\n      }\n    }, {\n      key: \"onOrientationChange\",\n      value: function onOrientationChange() {\n        this.handleOrientationChange();\n      }\n    }, {\n      key: \"onPageLoad\",\n      value: function onPageLoad() {\n        this.handleOrientationChange();\n      }\n    }, {\n      key: \"componentDidMount\",\n      value: function componentDidMount() {\n        if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n          if (!this.isEventListenerAdded) {\n            this.handleOrientationChange();\n            window.addEventListener(\"load\", this.onPageLoad, false);\n          } else {\n            window.removeEventListener(\"load\", this.onPageLoad, false);\n          }\n\n          window.addEventListener(\"resize\", this.onOrientationChange, false);\n        }\n      }\n    }, {\n      key: \"componentWillUnmount\",\n      value: function componentWillUnmount() {\n        window.removeEventListener(\"resize\", this.onOrientationChange, false);\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n          isLandscape: this.state.isLandscape,\n          isPortrait: this.state.isPortrait\n        }));\n      }\n    }]);\n\n    return _class;\n  }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n  var _useState = React.useState(function () {\n    var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n    return {\n      isPortrait: orientation === 0,\n      isLandscape: orientation === 90,\n      orientation: orientation === 0 ? 'portrait' : 'landscape'\n    };\n  }),\n      _useState2 = _slicedToArray(_useState, 2),\n      state = _useState2[0],\n      setState = _useState2[1];\n\n  var handleOrientationChange = React.useCallback(function () {\n    var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n    var next = {\n      isPortrait: orientation === 0,\n      isLandscape: orientation === 90,\n      orientation: orientation === 0 ? 'portrait' : 'landscape'\n    };\n    state.orientation !== next.orientation && setState(next);\n  }, [state.orientation]);\n  React.useEffect(function () {\n    if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n      handleOrientationChange();\n      window.addEventListener(\"load\", handleOrientationChange, false);\n      window.addEventListener(\"resize\", handleOrientationChange, false);\n    }\n\n    return function () {\n      window.removeEventListener(\"resize\", handleOrientationChange, false);\n      window.removeEventListener(\"load\", handleOrientationChange, false);\n    };\n  }, [handleOrientationChange]);\n  return state;\n}\n\nfunction useDeviceData(userAgent) {\n  var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n  return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n  var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n  var deviceData = useDeviceData(hookUserAgent);\n  var selectors = buildSelectorsObject(deviceData);\n  return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\n","export const convertToLocalDate = (d: Date, locale: string, options = {}) =>\n  d.toLocaleDateString(locale, options)\n\nexport const convertToLocalTime = (d: Date, locale: string, options = {}) =>\n  d.toLocaleTimeString(locale, options)\n\nexport const createGroupsInArray = <T>(arr: T[], numberOfGroups: number): T[][] => {\n  const perGroup = Math.ceil(arr.length / numberOfGroups)\n  return Array.from({ length: numberOfGroups })\n    .fill('')\n    .map((_, i) => arr.slice(i * perGroup, (i + 1) * perGroup))\n}\n\nexport const getCurrentYear = () => new Date().getFullYear()\n\nexport const getCurrentMonth = () => new Date().getMonth()\n\nexport const getMonthName = (month: number, locale: string) => {\n  const d = new Date()\n  d.setDate(1)\n  d.setMonth(month)\n  return d.toLocaleString(locale, { month: 'long' })\n}\n\nexport const getMonthsNames = (locale: string) => {\n  const months = []\n  const d = new Date()\n  d.setDate(1)\n\n  for (let i = 0; i < 12; i++) {\n    d.setMonth(i)\n    months.push(d.toLocaleString(locale, { month: 'short' }))\n  }\n\n  return months\n}\n\nexport const getYears = (year: number) => {\n  const years = []\n  for (let _year = year - 6; _year < year + 6; _year++) {\n    years.push(_year)\n  }\n\n  return years\n}\n\nconst getLeadingDays = (year: number, month: number, firstDayOfWeek: number) => {\n  // 0: sunday\n  // 1: monday\n  const dates = []\n  const d = new Date(year, month)\n  const y = d.getFullYear()\n  const m = d.getMonth()\n  const firstWeekday = new Date(y, m, 1).getDay()\n  let leadingDays = 6 - (6 - firstWeekday) - firstDayOfWeek\n\n  if (firstDayOfWeek) {\n    leadingDays = leadingDays < 0 ? 7 + leadingDays : leadingDays\n  }\n\n  for (let i = leadingDays * -1; i < 0; i++) {\n    dates.push({\n      date: new Date(y, m, i + 1),\n      month: 'previous',\n    })\n  }\n\n  return dates\n}\n\nconst getMonthDays = (year: number, month: number) => {\n  const dates = []\n  const lastDay = new Date(year, month + 1, 0).getDate()\n  for (let i = 1; i <= lastDay; i++) {\n    dates.push({\n      date: new Date(year, month, i),\n      month: 'current',\n    })\n  }\n  return dates\n}\n\nconst getTrailingDays = (\n  year: number,\n  month: number,\n  leadingDays: { date: Date; month: string }[],\n  monthDays: { date: Date; month: string }[],\n) => {\n  const dates = []\n  const days = 42 - (leadingDays.length + monthDays.length)\n  for (let i = 1; i <= days; i++) {\n    dates.push({\n      date: new Date(year, month + 1, i),\n      month: 'next',\n    })\n  }\n  return dates\n}\n\nexport const getMonthDetails = (year: number, month: number, firstDayOfWeek: number) => {\n  const daysPrevMonth = getLeadingDays(year, month, firstDayOfWeek)\n  const daysThisMonth = getMonthDays(year, month)\n  const daysNextMonth = getTrailingDays(year, month, daysPrevMonth, daysThisMonth)\n  const days = [...daysPrevMonth, ...daysThisMonth, ...daysNextMonth]\n\n  const weeks: { date: Date; month: string }[][] = []\n\n  days.forEach((day, index) => {\n    if (index % 7 === 0 || weeks.length === 0) {\n      weeks.push([])\n    }\n    weeks[weeks.length - 1].push(day)\n  })\n\n  return weeks\n}\n\nexport const isDisableDateInRange = (\n  startDate?: Date | null,\n  endDate?: Date | null,\n  dates?: Date[] | Date[][] | (Date | Date[])[],\n) => {\n  if (startDate && endDate) {\n    const date = new Date(startDate)\n    let disabled = false\n\n    while (date < endDate) {\n      date.setDate(date.getDate() + 1)\n      if (isDateDisabled(date, null, null, dates)) {\n        disabled = true\n        break\n      }\n    }\n\n    return disabled\n  }\n\n  return false\n}\n\nexport const isDateDisabled = (\n  date: Date,\n  min?: Date | null,\n  max?: Date | null,\n  dates?: Date[] | Date[][] | (Date | Date[])[],\n) => {\n  let disabled\n  if (dates) {\n    dates.forEach((_date: Date | Date[]) => {\n      if (Array.isArray(_date) && isDateInRange(date, _date[0], _date[1])) {\n        disabled = true\n      }\n\n      if (_date instanceof Date && isSameDateAs(date, _date)) {\n        disabled = true\n      }\n    })\n  }\n\n  if (min && date < min) {\n    disabled = true\n  }\n\n  if (max && date > max) {\n    disabled = true\n  }\n\n  return disabled\n}\n\nexport const isDateInRange = (date: Date, start: Date | null, end: Date | null) => {\n  return start && end && start <= date && date <= end\n}\n\nexport const isDateSelected = (date: Date, start: Date | null, end: Date | null) => {\n  return (start && isSameDateAs(start, date)) || (end && isSameDateAs(end, date))\n}\n\nexport const isEndDate = (date: Date, start: Date | null, end: Date | null) => {\n  return start && end && isSameDateAs(end, date) && start < end\n}\n\nexport const isLastDayOfMonth = (date: Date) => {\n  const test = new Date(date.getTime())\n  const month = test.getMonth()\n\n  test.setDate(test.getDate() + 1)\n  return test.getMonth() !== month\n}\n\nexport const isSameDateAs = (date: Date | null, date2: Date | null) => {\n  if (date instanceof Date && date2 instanceof Date) {\n    return (\n      date.getDate() === date2.getDate() &&\n      date.getMonth() === date2.getMonth() &&\n      date.getFullYear() === date2.getFullYear()\n    )\n  }\n\n  if (date === null && date2 === null) {\n    return true\n  }\n\n  return false\n}\n\nexport const isStartDate = (date: Date, start: Date | null, end: Date | null) => {\n  return start && end && isSameDateAs(start, date) && start < end\n}\n\nexport const isToday = (date: Date) => {\n  const today = new Date()\n  return (\n    date.getDate() === today.getDate() &&\n    date.getMonth() === today.getMonth() &&\n    date.getFullYear() === today.getFullYear()\n  )\n}\n\nexport const isValidDate = (date: string) => {\n  const d = new Date(date)\n  return d instanceof Date && d.getTime()\n}\n","import React, { forwardRef, KeyboardEvent, ReactNode, useEffect, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CButton } from '../button/CButton'\n\nimport {\n  createGroupsInArray,\n  getMonthDetails,\n  getMonthsNames,\n  getYears,\n  isDateDisabled,\n  isDateInRange,\n  isDateSelected,\n  isDisableDateInRange,\n  isLastDayOfMonth,\n  isSameDateAs,\n  isToday,\n  isStartDate,\n  isEndDate,\n} from './utils'\n\nimport { useStateWithCallback } from '../../hooks'\n\nexport interface CCalendarProps {\n  /**\n   * Default date of the component\n   */\n  calendarDate?: Date | string\n  /**\n   * The number of calendars that render on desktop devices.\n   */\n  calendars?: number\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Set the format of day name.\n   *\n   * @default 'numeric'\n   * @since 4.3.0\n   */\n  dayFormat?: 'numeric' | '2-digit' | ((date: Date) => string | number)\n  /**\n   * Specify the list of dates that cannot be selected.\n   */\n  disabledDates?: Date[] | Date[][] | (Date | Date[])[]\n  /**\n   * Initial selected to date (range).\n   */\n  endDate?: Date | string | null\n  /**\n   * Sets the day of start week.\n   * - 0 - Sunday,\n   * - 1 - Monday,\n   * - 2 - Tuesday,\n   * - 3 - Wednesday,\n   * - 4 - Thursday,\n   * - 5 - Friday,\n   * - 6 - Saturday,\n   *\n   * @default 1\n   */\n  firstDayOfWeek?: number\n  /**\n   * Sets the default locale for components. If not set, it is inherited from the browser.\n   *\n   * @default 'default'\n   */\n  locale?: string\n  /**\n   * Max selectable date.\n   */\n  maxDate?: Date | string | null\n  /**\n   * Min selectable date.\n   */\n  minDate?: Date | string | null\n  /**\n   * Show arrows navigation.\n   */\n  navigation?: boolean\n  /**\n   * The custom next icon.\n   */\n  navNextIcon?: ReactNode\n  /**\n   * The custom next double icon.\n   */\n  navNextDoubleIcon?: ReactNode\n  /**\n   * The custom prev icon.\n   */\n  navPrevIcon?: ReactNode\n  /**\n   * The custom prev double icon.\n   */\n  navPrevDoubleIcon?: ReactNode\n  /**\n   * Reorder year-month navigation, and render year first.\n   *\n   * @since 4.3.0\n   */\n  navYearFirst?: boolean\n  /**\n   * Set whether days in adjacent months shown before or after the current month are selectable. This only applies if the `showAdjacementDays` option is set to true.\n   *\n   * @since 4.11.0\n   */\n  selectAdjacementDays?: boolean\n  /**\n   * Set whether to display dates in adjacent months (non-selectable) at the start and end of the current month.\n   *\n   * @since 4.11.0\n   */\n  showAdjacementDays?: boolean\n  /**\n   * Allow range selection.\n   */\n  range?: boolean\n  /**\n   * Toggle select mode between start and end date.\n   */\n  selectEndDate?: boolean\n  /**\n   * Initial selected date.\n   */\n  startDate?: Date | string | null\n  /**\n   * Set length or format of day name.\n   *\n   * @default 2\n   */\n  weekdayFormat?: number | 'long' | 'narrow' | 'short' | ((date: Date) => string | number)\n  /**\n   * Callback fired when the calendar date changed.\n   */\n  onCalendarDateChange?: (date: Date) => void\n  /**\n   * Callback fired when the user hovers over the calendar cell.\n   */\n  onDayHover?: (date: Date | null) => void\n  /**\n   * Callback fired when the start date changed.\n   */\n  onStartDateChange?: (date: Date | null, formatedDate?: string | undefined) => void\n  /**\n   * Callback fired when the end date changed.\n   */\n  onEndDateChange?: (date: Date | null, formatedDate?: string | undefined) => void\n  /**\n   * Callback fired when the selection type changed.\n   */\n  onSelectEndChange?: (value: boolean) => void\n  /**\n   * Callback fired when the view type of calendar changed.\n   */\n  onViewChanged?: (view: string) => void\n}\n\nconst Calendar = (props: {\n  addMonths: number\n  calendarDate: Date\n  dayFormat?: 'numeric' | '2-digit' | ((date: Date) => string | number)\n  disabledDates?: Date[] | Date[][] | (Date | Date[])[]\n  endDate: Date | null\n  firstDayOfWeek: number\n  hoverDate: Date | null\n  locale: string\n  maxDate: Date | null\n  minDate: Date | null\n  onDayClick: (date: Date) => void\n  onDayKeyDown: (event: KeyboardEvent<HTMLDivElement>, date: Date) => void\n  onDayMouseEnter: (date: Date) => void\n  onDayMouseLeave: () => void\n  onMonthClick: (month: number) => void\n  onMonthKeyDown: (event: KeyboardEvent<HTMLDivElement>, month: number) => void\n  onYearClick: (date: Date) => void\n  onYearKeyDown: (event: KeyboardEvent<HTMLDivElement>, date: Date) => void\n  selectAdjacementDays: boolean\n  selectEndDate: boolean | undefined\n  showAdjacementDays: boolean\n  startDate: Date | null\n  view: string\n  weekdayFormat: number | 'long' | 'narrow' | 'short' | ((date: Date) => string | number)\n}) => {\n  const {\n    addMonths,\n    calendarDate,\n    dayFormat,\n    disabledDates,\n    endDate,\n    firstDayOfWeek,\n    hoverDate,\n    locale,\n    maxDate,\n    minDate,\n    onDayClick,\n    onDayKeyDown,\n    onDayMouseEnter,\n    onDayMouseLeave,\n    onMonthClick,\n    onMonthKeyDown,\n    onYearClick,\n    onYearKeyDown,\n    selectAdjacementDays,\n    selectEndDate,\n    showAdjacementDays,\n    startDate,\n    view,\n    weekdayFormat,\n  } = props\n  const [date, setDate] = useState<Date>(calendarDate)\n  const [listOfMonths, setListOfMonths] = useState<string[][]>([])\n\n  useEffect(() => {\n    if (addMonths !== 0) {\n      setDate(new Date(calendarDate.getFullYear(), calendarDate.getMonth() + addMonths, 1))\n      return\n    }\n\n    setDate(calendarDate)\n  }, [calendarDate])\n\n  useEffect(() => {\n    setListOfMonths(createGroupsInArray(getMonthsNames(locale), 4))\n  }, [])\n\n  const monthDetails = getMonthDetails(date.getFullYear(), date.getMonth(), firstDayOfWeek)\n  const listOfYears = createGroupsInArray(getYears(date.getFullYear()), 4)\n  const weekDays = monthDetails[0]\n\n  return (\n    <table>\n      {view === 'days' && (\n        <thead>\n          <tr>\n            {weekDays.map(({ date }: { date: Date }, idx: number) => (\n              <th key={idx} className=\"calendar-cell\">\n                <div className=\"calendar-header-cell-inner\">\n                  {typeof weekdayFormat === 'function'\n                    ? weekdayFormat(date)\n                    : (typeof weekdayFormat === 'string'\n                    ? date.toLocaleDateString(locale, { weekday: weekdayFormat })\n                    : date.toLocaleDateString(locale, { weekday: 'long' }).slice(0, weekdayFormat))}\n                </div>\n              </th>\n            ))}\n          </tr>\n        </thead>\n      )}\n      <tbody>\n        {view === 'days' &&\n          monthDetails.map((week, index) => {\n            return (\n              <tr key={index}>\n                {week.map(({ date, month }: { date: Date; month: string }, idx: number) =>\n                  month === 'current' || showAdjacementDays ? (\n                    <td\n                      className={classNames('calendar-cell', {\n                        today: month === 'current' && isToday(date),\n                        disabled: isDateDisabled(date, minDate, maxDate, disabledDates),\n                        [month]: true,\n                        clickable: month !== 'current' && selectAdjacementDays,\n                        last: isLastDayOfMonth(date),\n                        'range-hover':\n                          month === 'current' &&\n                          (hoverDate && selectEndDate\n                            ? isDateInRange(date, startDate, hoverDate)\n                            : isDateInRange(date, hoverDate, endDate)),\n                        range: month === 'current' && isDateInRange(date, startDate, endDate),\n                        selected: isDateSelected(date, startDate, endDate),\n                        start: isStartDate(date, startDate, endDate),\n                        end: isEndDate(date, startDate, endDate),\n                      })}\n                      key={idx}\n                      tabIndex={\n                        (month === 'current' || selectAdjacementDays) &&\n                        !isDateDisabled(date, minDate, maxDate, disabledDates)\n                          ? 0\n                          : -1\n                      }\n                      title={date.toLocaleDateString(locale)}\n                      {...((month === 'current' || selectAdjacementDays) && {\n                        onBlur: () => onDayMouseLeave(),\n                        onClick: () => onDayClick(date),\n                        onFocus: () => onDayMouseEnter(date),\n                        onKeyDown: (event) => onDayKeyDown(event, date),\n                        onMouseEnter: () => onDayMouseEnter(date),\n                        onMouseLeave: () => onDayMouseLeave(),\n                      })}\n                      {...(month !== 'current' &&\n                        !selectAdjacementDays && {\n                          onMouseEnter: () => onDayMouseLeave(),\n                        })}\n                    >\n                      <div className=\"calendar-cell-inner\">\n                        {typeof dayFormat === 'function'\n                          ? dayFormat(date)\n                          : date.toLocaleDateString(locale, { day: dayFormat })}\n                      </div>\n                    </td>\n                  ) : (\n                    <td key={idx}></td>\n                  ),\n                )}\n              </tr>\n            )\n          })}\n        {view === 'months' &&\n          listOfMonths.map((row, index) => {\n            return (\n              <tr key={index}>\n                {row.map((month, idx) => {\n                  return (\n                    <td\n                      className=\"calendar-cell month\"\n                      key={idx}\n                      onClick={() => onMonthClick(index * 3 + idx - addMonths)}\n                      onKeyDown={(event) => onMonthKeyDown(event, index * 3 + idx - addMonths)}\n                      tabIndex={0}\n                    >\n                      <div className=\"calendar-cell-inner\">{month}</div>\n                    </td>\n                  )\n                })}\n              </tr>\n            )\n          })}\n        {view === 'years' &&\n          listOfYears.map((row, index) => {\n            return (\n              <tr key={index}>\n                {row.map((year, idx) => {\n                  return (\n                    <td\n                      className=\"calendar-cell year\"\n                      key={idx}\n                      onClick={() =>\n                        onYearClick(new Date(year, date.getMonth() - addMonths, date.getDate()))\n                      }\n                      onKeyDown={(event) =>\n                        onYearKeyDown(\n                          event,\n                          new Date(year, date.getMonth() - addMonths, date.getDate()),\n                        )\n                      }\n                      tabIndex={0}\n                    >\n                      <div className=\"calendar-cell-inner\">\n                        {new Date(year, 0, 1).toLocaleDateString(locale, { year: 'numeric' })}\n                      </div>\n                    </td>\n                  )\n                })}\n              </tr>\n            )\n          })}\n      </tbody>\n    </table>\n  )\n}\n\nconst Navigation = (props: {\n  addMonths: number\n  calendarDate: Date\n  locale: string\n  navigation: boolean\n  navNextDoubleIcon: ReactNode\n  navNextIcon: ReactNode\n  navPrevDoubleIcon: ReactNode\n  navPrevIcon: ReactNode\n  navYearFirst: boolean | undefined\n  onMonthClick: () => void\n  onNavigationClick: (direction: string, double?: boolean) => void\n  onYearClick: () => void\n  view: string\n}) => {\n  const {\n    addMonths,\n    calendarDate,\n    locale,\n    navigation,\n    navNextDoubleIcon,\n    navNextIcon,\n    navPrevDoubleIcon,\n    navPrevIcon,\n    navYearFirst,\n    onMonthClick,\n    onNavigationClick,\n    onYearClick,\n    view,\n  } = props\n\n  const [date, setDate] = useState<Date | null>()\n  useEffect(() => {\n    if (addMonths !== 0) {\n      setDate(new Date(calendarDate.getFullYear(), calendarDate.getMonth() + addMonths, 1))\n      return\n    }\n\n    setDate(calendarDate)\n  }, [calendarDate])\n\n  return (\n    <div className=\"calendar-nav\">\n      {navigation && (\n        <div className=\"calendar-nav-prev\">\n          <CButton color=\"transparent\" size=\"sm\" onClick={() => onNavigationClick('prev', true)}>\n            {navPrevDoubleIcon ?? (\n              <span className=\"calendar-nav-icon calendar-nav-icon-double-prev\" />\n            )}\n          </CButton>\n          {view === 'days' && (\n            <CButton color=\"transparent\" size=\"sm\" onClick={() => onNavigationClick('prev')}>\n              {navPrevIcon ?? <span className=\"calendar-nav-icon calendar-nav-icon-prev\" />}\n            </CButton>\n          )}\n        </div>\n      )}\n      <div\n        className=\"calendar-nav-date\"\n        {...(navYearFirst && { style: { display: 'flex', justifyContent: 'center' } })}\n      >\n        {view === 'days' && (\n          <CButton color=\"transparent\" size=\"sm\" onClick={() => navigation && onMonthClick()}>\n            {date && date.toLocaleDateString(locale, { month: 'long' })}\n          </CButton>\n        )}\n        <CButton\n          color=\"transparent\"\n          size=\"sm\"\n          onClick={() => navigation && onYearClick()}\n          {...(navYearFirst && { style: { order: '-1' } })}\n        >\n          {date && date.toLocaleDateString(locale, { year: 'numeric' })}\n        </CButton>\n      </div>\n      {navigation && (\n        <div className=\"calendar-nav-next\">\n          {view === 'days' && (\n            <CButton color=\"transparent\" size=\"sm\" onClick={() => onNavigationClick('next')}>\n              {navNextIcon ?? <span className=\"calendar-nav-icon calendar-nav-icon-next\" />}\n            </CButton>\n          )}\n          <CButton color=\"transparent\" size=\"sm\" onClick={() => onNavigationClick('next', true)}>\n            {navNextDoubleIcon ?? (\n              <span className=\"calendar-nav-icon calendar-nav-icon-double-next\" />\n            )}\n          </CButton>\n        </div>\n      )}\n    </div>\n  )\n}\n\nexport const CCalendar = forwardRef<HTMLDivElement, CCalendarProps>(\n  (\n    {\n      startDate,\n      endDate,\n      calendarDate = startDate || endDate || null,\n      calendars = 1,\n      className,\n      dayFormat = 'numeric',\n      disabledDates,\n      firstDayOfWeek = 1,\n      locale = 'default',\n      maxDate,\n      minDate,\n      navigation = true,\n      navNextIcon,\n      navNextDoubleIcon,\n      navPrevIcon,\n      navPrevDoubleIcon,\n      navYearFirst,\n      range,\n      selectAdjacementDays = false,\n      selectEndDate,\n      showAdjacementDays = true,\n      weekdayFormat = 2,\n      onDayHover,\n      onCalendarDateChange,\n      onEndDateChange,\n      onStartDateChange,\n      onSelectEndChange,\n      onViewChanged,\n    },\n    ref,\n  ) => {\n    const isInitialMount = useRef(true)\n    const [_calendarDate, setCalendarDate] = useState<Date | null>(null)\n\n    useEffect(() => {\n      if (calendarDate === null) {\n        setCalendarDate(new Date())\n        return\n      }\n\n      if (calendarDate) {\n        const date = new Date(calendarDate)\n        !isSameDateAs(_calendarDate, date) && setCalendarDate(date)\n      }\n    }, [calendarDate])\n\n    const [_startDate, setStartDate] = useStateWithCallback<Date | null>(\n      startDate ? new Date(startDate) : null,\n      onStartDateChange,\n      !isInitialMount.current,\n    )\n    useEffect(() => {\n      const date = startDate ? new Date(startDate) : null\n      if (!isSameDateAs(date, _startDate)) {\n        setStartDate(date)\n      }\n    }, [startDate])\n\n    const [_endDate, setEndDate] = useStateWithCallback<Date | null>(\n      endDate ? new Date(endDate) : null,\n      onEndDateChange,\n      !isInitialMount.current,\n    )\n    useEffect(() => {\n      const date = endDate ? new Date(endDate) : null\n      if (!isSameDateAs(date, _endDate)) {\n        setEndDate(date)\n      }\n    }, [endDate])\n\n    const [_hoverDate, setHoverDate] = useState<Date | null>(null)\n\n    const [_maxDate, setMaxDate] = useState<Date | null>(maxDate ? new Date(maxDate) : null)\n    useEffect(() => {\n      maxDate && setMaxDate(new Date(maxDate))\n    }, [maxDate])\n\n    const [_minDate, setMinDate] = useState<Date | null>(minDate ? new Date(minDate) : null)\n    useEffect(() => {\n      minDate && setMinDate(new Date(minDate))\n    }, [minDate])\n\n    const [_selectEndDate, setSelectEndDate] = useStateWithCallback(\n      selectEndDate,\n      onSelectEndChange,\n    )\n    useEffect(() => {\n      setSelectEndDate(selectEndDate)\n    }, [selectEndDate])\n\n    useEffect(() => {\n      !isInitialMount.current &&\n        typeof _selectEndDate === 'boolean' &&\n        onSelectEndChange &&\n        onSelectEndChange(_selectEndDate)\n    }, [_selectEndDate])\n\n    const [view, setView] = useStateWithCallback('days', onViewChanged)\n\n    useEffect(() => {\n      isInitialMount.current = false\n    }, [])\n\n    const setCalendarPage = (years: number, months = 0, setMonth?: number) => {\n      if (_calendarDate === null) {\n        return\n      }\n\n      const year = _calendarDate.getFullYear()\n      const month = _calendarDate.getMonth()\n      const d = new Date(year, month, 1)\n\n      years && d.setFullYear(d.getFullYear() + years)\n      months && d.setMonth(d.getMonth() + months)\n      typeof setMonth === 'number' && d.setMonth(setMonth)\n\n      setCalendarDate(d)\n      onCalendarDateChange && onCalendarDateChange(d)\n    }\n\n    const handleDayClick = (date: Date, index?: number) => {\n      if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {\n        return\n      }\n\n      const _date = new Date(date)\n      setCalendarDate(index ? new Date(_date.setMonth(_date.getMonth() - index)) : _date)\n\n      if (range) {\n        if (_selectEndDate) {\n          setSelectEndDate(false)\n\n          if (_startDate && _startDate > date) {\n            setStartDate(null)\n            setEndDate(null)\n            return\n          }\n\n          if (isDisableDateInRange(_startDate, date, disabledDates)) {\n            setStartDate(null)\n            setEndDate(null)\n            return\n          }\n\n          setEndDate(date)\n          return\n        }\n\n        if (_endDate && _endDate < date) {\n          setStartDate(null)\n          setEndDate(null)\n          return\n        }\n\n        if (isDisableDateInRange(date, _endDate, disabledDates)) {\n          setStartDate(null)\n          setEndDate(null)\n          return\n        }\n\n        setSelectEndDate(true)\n        setStartDate(date)\n        return\n      }\n\n      setStartDate(date)\n    }\n\n    const handleDayKeyDown = (\n      event: React.KeyboardEvent<HTMLDivElement>,\n      date: Date,\n      index?: number,\n    ) => {\n      if (event.code === 'Space' || event.key === 'Enter') {\n        event.preventDefault()\n        handleDayClick(date, index)\n      }\n    }\n\n    const handleDayMouseEnter = (date: Date) => {\n      if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {\n        return\n      }\n\n      setHoverDate(date)\n      onDayHover && onDayHover(date)\n    }\n\n    const handleDayMouseLeave = () => {\n      setHoverDate(null)\n      onDayHover && onDayHover(null)\n    }\n\n    const handleMonthClick = (month: number) => {\n      setCalendarPage(0, 0, month)\n      setView('days')\n    }\n\n    const handleMonthKeyDown = (event: React.KeyboardEvent<HTMLDivElement>, month: number) => {\n      if (event.code === 'Space' || event.key === 'Enter') {\n        handleMonthClick(month)\n      }\n    }\n\n    const handleNavigationOnClick = (direction: string, double = false) => {\n      if (direction === 'prev') {\n        if (double) {\n          setCalendarPage(view === 'years' ? -10 : -1)\n          return\n        }\n\n        if (view !== 'days') {\n          setCalendarPage(-1)\n          return\n        }\n\n        setCalendarPage(0, -1)\n        return\n      }\n      if (direction === 'next') {\n        if (double) {\n          setCalendarPage(view === 'years' ? 10 : 1)\n          return\n        }\n\n        if (view !== 'days') {\n          setCalendarPage(1)\n          return\n        }\n\n        setCalendarPage(0, 1)\n        return\n      }\n    }\n\n    const handleYearClick = (date: Date) => {\n      setCalendarDate(date)\n      setView('months')\n    }\n\n    const handleYearKeyDown = (event: React.KeyboardEvent<HTMLDivElement>, date: Date) => {\n      if (event.code === 'Space' || event.key === 'Enter') {\n        handleYearClick(date)\n      }\n    }\n\n    return (\n      <div className={classNames('calendars', className)}>\n        {_calendarDate &&\n          Array.from({ length: calendars }, (_, index) => (\n            <div className={classNames('calendar', view)} key={index} ref={ref}>\n              <Navigation\n                addMonths={index}\n                calendarDate={_calendarDate}\n                locale={locale}\n                navigation={navigation}\n                navNextDoubleIcon={navNextDoubleIcon}\n                navNextIcon={navNextIcon}\n                navPrevDoubleIcon={navPrevDoubleIcon}\n                navPrevIcon={navPrevIcon}\n                navYearFirst={navYearFirst}\n                onMonthClick={() => setView('months')}\n                onNavigationClick={handleNavigationOnClick}\n                onYearClick={() => setView('years')}\n                view={view}\n              />\n              <Calendar\n                addMonths={index}\n                calendarDate={_calendarDate}\n                dayFormat={dayFormat}\n                disabledDates={disabledDates}\n                endDate={_endDate}\n                firstDayOfWeek={firstDayOfWeek}\n                hoverDate={_hoverDate}\n                locale={locale}\n                maxDate={_maxDate}\n                minDate={_minDate}\n                onDayClick={(date) => handleDayClick(date, index)}\n                onDayKeyDown={(event, date) => handleDayKeyDown(event, date, index)}\n                onDayMouseEnter={handleDayMouseEnter}\n                onDayMouseLeave={handleDayMouseLeave}\n                onMonthClick={handleMonthClick}\n                onMonthKeyDown={handleMonthKeyDown}\n                onYearClick={handleYearClick}\n                onYearKeyDown={handleYearKeyDown}\n                selectEndDate={_selectEndDate}\n                selectAdjacementDays={selectAdjacementDays}\n                showAdjacementDays={showAdjacementDays}\n                startDate={_startDate}\n                view={view}\n                weekdayFormat={weekdayFormat}\n              />\n            </div>\n          ))}\n      </div>\n    )\n  },\n)\n\nCCalendar.propTypes = {\n  className: PropTypes.string,\n  calendarDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  calendars: PropTypes.number,\n  dayFormat: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.oneOf<'2-digit' | 'numeric'>(['2-digit', 'numeric']),\n  ]),\n  disabledDates: PropTypes.array,\n  endDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  firstDayOfWeek: PropTypes.number,\n  locale: PropTypes.string,\n  maxDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  minDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  navigation: PropTypes.bool,\n  navNextIcon: PropTypes.node,\n  navNextDoubleIcon: PropTypes.node,\n  navPrevIcon: PropTypes.node,\n  navPrevDoubleIcon: PropTypes.node,\n  navYearFirst: PropTypes.bool,\n  range: PropTypes.bool,\n  selectAdjacementDays: PropTypes.bool,\n  selectEndDate: PropTypes.bool,\n  showAdjacementDays: PropTypes.bool,\n  startDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  weekdayFormat: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.number,\n    PropTypes.oneOf<'long' | 'narrow' | 'short'>(['long', 'narrow', 'short']),\n  ]),\n  onDayHover: PropTypes.func,\n  onCalendarDateChange: PropTypes.func,\n  onEndDateChange: PropTypes.func,\n  onSelectEndChange: PropTypes.func,\n  onStartDateChange: PropTypes.func,\n  onViewChanged: PropTypes.func,\n}\n\nCCalendar.displayName = 'CCalendar'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CFormFeedbackProps extends HTMLAttributes<HTMLDivElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Method called immediately after the `value` prop changes.\n   */\n  invalid?: boolean\n  /**\n   * If your form layout allows it, you can display validation feedback in a styled tooltip.\n   */\n  tooltip?: boolean\n  /**\n   * Set component validation state to valid.\n   */\n  valid?: boolean\n}\n\nexport const CFormFeedback = forwardRef<HTMLDivElement | HTMLSpanElement, CFormFeedbackProps>(\n  (\n    { children, className, component: Component = 'div', invalid, tooltip, valid, ...rest },\n    ref,\n  ) => {\n    return (\n      <Component\n        className={classNames(\n          {\n            [`invalid-${tooltip ? 'tooltip' : 'feedback'}`]: invalid,\n            [`valid-${tooltip ? 'tooltip' : 'feedback'}`]: valid,\n          },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCFormFeedback.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n  invalid: PropTypes.bool,\n  tooltip: PropTypes.bool,\n  valid: PropTypes.bool,\n}\n\nCFormFeedback.displayName = 'CFormFeedback'\n","import React, { FC, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CFormFeedback } from './CFormFeedback'\n\nexport interface CFormControlValidationProps {\n  /**\n   * @ignore\n   */\n  describedby?: string\n  /**\n   * Provide valuable, actionable feedback.\n   *\n   * @since 4.2.0\n   */\n  feedback?: ReactNode | string\n  /**\n   * Provide valuable, actionable feedback.\n   *\n   * @since 4.2.0\n   */\n  feedbackInvalid?: ReactNode | string\n  /**\n   * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.\n   *\n   * @since 4.2.0\n   */\n  feedbackValid?: ReactNode | string\n  /**\n   * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.\n   *\n   * @since 4.2.0\n   */\n  floatingLabel?: ReactNode | string\n  /**\n   * Set component validation state to invalid.\n   */\n  invalid?: boolean\n  /**\n   * Display validation feedback in a styled tooltip.\n   *\n   * @since 4.2.0\n   */\n  tooltipFeedback?: boolean\n  /**\n   * Set component validation state to valid.\n   */\n  valid?: boolean\n}\n\nexport const CFormControlValidation: FC<CFormControlValidationProps> = ({\n  describedby,\n  feedback,\n  feedbackInvalid,\n  feedbackValid,\n  invalid,\n  tooltipFeedback,\n  valid,\n}) => {\n  return (\n    <>\n      {feedback && (valid || invalid) && (\n        <CFormFeedback\n          {...(invalid && { id: describedby })}\n          invalid={invalid}\n          tooltip={tooltipFeedback}\n          valid={valid}\n        >\n          {feedback}\n        </CFormFeedback>\n      )}\n      {feedbackInvalid && (\n        <CFormFeedback id={describedby} invalid tooltip={tooltipFeedback}>\n          {feedbackInvalid}\n        </CFormFeedback>\n      )}\n      {feedbackValid && (\n        <CFormFeedback valid tooltip={tooltipFeedback}>\n          {feedbackValid}\n        </CFormFeedback>\n      )}\n    </>\n  )\n}\n\nCFormControlValidation.propTypes = {\n  describedby: PropTypes.string,\n  feedback: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  feedbackValid: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  feedbackInvalid: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  invalid: PropTypes.bool,\n  tooltipFeedback: PropTypes.bool,\n  valid: PropTypes.bool,\n}\n\nCFormControlValidation.displayName = 'CFormControlValidation'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CFormFloatingProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CFormFloating = forwardRef<HTMLDivElement, CFormFloatingProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('form-floating', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCFormFloating.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCFormFloating.displayName = 'CFormFloating'\n","import React, { forwardRef, LabelHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CFormLabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * A string of all className you want to be applied to the component, and override standard className value.\n   */\n  customClassName?: string\n}\n\nexport const CFormLabel = forwardRef<HTMLLabelElement, CFormLabelProps>(\n  ({ children, className, customClassName, ...rest }, ref) => {\n    return (\n      <label className={customClassName ?? classNames('form-label', className)} {...rest} ref={ref}>\n        {children}\n      </label>\n    )\n  },\n)\n\nCFormLabel.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  customClassName: PropTypes.string,\n}\n\nCFormLabel.displayName = 'CFormLabel'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CFormTextProps extends HTMLAttributes<HTMLDivElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CFormText = forwardRef<HTMLDivElement | HTMLSpanElement, CFormTextProps>(\n  ({ children, className, component: Component = 'div', ...rest }, ref) => {\n    return (\n      <Component className={classNames('form-text', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCFormText.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCFormText.displayName = 'CFormText'\n","import React, { FC, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CFormControlValidation, CFormControlValidationProps } from './CFormControlValidation'\nimport { CFormFloating } from './CFormFloating'\nimport { CFormLabel } from './CFormLabel'\nimport { CFormText } from './CFormText'\n\nexport interface CFormControlWrapperProps extends CFormControlValidationProps {\n  /**\n   * @ignore\n   */\n  children?: ReactNode\n  /**\n   * A string of all className you want applied to the floating label wrapper.\n   *\n   * @since 4.5.0\n   */\n  floatingClassName?: string\n  /**\n   * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.\n   *\n   * @since 4.2.0\n   */\n  floatingLabel?: ReactNode | string\n  /**\n   * @ignore\n   */\n  id?: string\n  /**\n   * Add a caption for a component.\n   *\n   * @since 4.2.0\n   */\n  label?: ReactNode | string\n  /**\n   * Add helper text to the component.\n   *\n   * @since 4.2.0\n   */\n  text?: ReactNode | string\n}\n\nexport const CFormControlWrapper: FC<CFormControlWrapperProps> = ({\n  children,\n  describedby,\n  feedback,\n  feedbackInvalid,\n  feedbackValid,\n  floatingClassName,\n  floatingLabel,\n  id,\n  invalid,\n  label,\n  text,\n  tooltipFeedback,\n  valid,\n}) => {\n  const FormControlValidation = () => (\n    <CFormControlValidation\n      describedby={describedby}\n      feedback={feedback}\n      feedbackInvalid={feedbackInvalid}\n      feedbackValid={feedbackValid}\n      floatingLabel={floatingLabel}\n      invalid={invalid}\n      tooltipFeedback={tooltipFeedback}\n      valid={valid}\n    />\n  )\n  return floatingLabel ? (\n    <CFormFloating className={floatingClassName}>\n      {children}\n      <CFormLabel htmlFor={id}>{label || floatingLabel}</CFormLabel>\n      {text && <CFormText id={describedby}>{text}</CFormText>}\n      <FormControlValidation />\n    </CFormFloating>\n  ) : (\n    <>\n      {label && <CFormLabel htmlFor={id}>{label}</CFormLabel>}\n      {children}\n      {text && <CFormText id={describedby}>{text}</CFormText>}\n      <FormControlValidation />\n    </>\n  )\n}\n\nCFormControlWrapper.propTypes = {\n  children: PropTypes.node,\n  floatingClassName: PropTypes.string,\n  floatingLabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  text: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  ...CFormControlValidation.propTypes,\n}\n\nCFormControlWrapper.displayName = 'CFormControlWrapper'\n","import React, { forwardRef, HTMLAttributes, ReactNode, useEffect, useRef, useState } from 'react'\n\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Placement } from '@popperjs/core'\n\nimport { useForkedRef, usePopper } from '../../hooks'\nimport { isRTL } from '../../utils'\n\nexport interface CPickerProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * Set container type for the component.\n   */\n  container?: 'dropdown' | 'inline'\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * A string of all className you want applied to the dropdown menu.\n   */\n  dropdownClassNames?: string\n  /**\n   * Toggle visibility of footer element or set the content of footer.\n   */\n  footer?: boolean | ReactNode\n  /**\n   * Add custom elements to the footer.\n   */\n  footerContent?: ReactNode\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * The content of toggler.\n   */\n  toggler?: ReactNode\n  /**\n   * Toggle the visibility of dropdown menu component.\n   */\n  visible?: boolean\n}\n\nexport const CPicker = forwardRef<HTMLDivElement | HTMLLIElement, CPickerProps>(\n  (\n    {\n      children,\n      className,\n      container = 'dropdown',\n      disabled,\n      dropdownClassNames,\n      footer,\n      footerContent,\n      onHide,\n      onShow,\n      toggler,\n      visible,\n    },\n    ref,\n  ) => {\n    const pickerRef = useRef<HTMLDivElement>(null)\n    const pickerForkedRef = useForkedRef(ref, pickerRef)\n    const dropdownRef = useRef<HTMLDivElement>(null)\n    const togglerRef = useRef<HTMLDivElement>(null)\n\n    const { initPopper, destroyPopper } = usePopper()\n\n    const [_visible, setVisible] = useState(visible)\n\n    const popperConfig = {\n      placement: (isRTL(pickerRef.current) ? 'bottom-end' : 'bottom-start') as Placement,\n      modifiers: [\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: 'clippingParents',\n          },\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: [0, 2],\n          },\n        },\n      ],\n    }\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    useEffect(() => {\n      if (container !== 'inline' && _visible) {\n        onShow && onShow()\n\n        window.addEventListener('mouseup', handleMouseUp)\n        window.addEventListener('keyup', handleKeyUp)\n\n        togglerRef.current &&\n          dropdownRef.current &&\n          initPopper(togglerRef.current, dropdownRef.current, popperConfig)\n      }\n\n      return () => {\n        onHide && onHide()\n\n        window.removeEventListener('mouseup', handleMouseUp)\n        window.removeEventListener('keyup', handleKeyUp)\n\n        destroyPopper()\n      }\n    }, [_visible])\n\n    const handleKeyUp = (event: KeyboardEvent) => {\n      if (event.key === 'Escape') {\n        setVisible(false)\n      }\n    }\n\n    const handleMouseUp = (event: Event) => {\n      if (pickerRef.current && pickerRef.current.contains(event.target as HTMLElement)) {\n        return\n      }\n\n      setVisible(false)\n    }\n\n    switch (container) {\n      case 'inline': {\n        return (\n          <div className={classNames('picker', className)} ref={pickerForkedRef}>\n            {children}\n          </div>\n        )\n      }\n      default: {\n        return (\n          <div\n            className={classNames('dropdown', 'picker', className, {\n              show: _visible,\n            })}\n            onClick={() => !disabled && setVisible(true)}\n            ref={pickerForkedRef}\n          >\n            {toggler &&\n              React.isValidElement(toggler) &&\n              React.cloneElement(toggler as React.ReactElement<any>, {\n                ref: togglerRef,\n              })}\n            <div\n              className={classNames(\n                'dropdown-menu',\n                {\n                  show: _visible,\n                },\n                dropdownClassNames,\n              )}\n              ref={dropdownRef}\n            >\n              {children}\n              {footer && footerContent}\n            </div>\n          </div>\n        )\n      }\n    }\n  },\n)\n\nCPicker.displayName = 'CPicker'\n\nCPicker.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  container: PropTypes.oneOf(['dropdown', 'inline']),\n  disabled: PropTypes.bool,\n  dropdownClassNames: PropTypes.string,\n  footer: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  footerContent: PropTypes.node,\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  toggler: PropTypes.node,\n}\n","import React, { forwardRef, useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { useForkedRef, useIsVisible } from '../../hooks'\n\nexport interface Element {\n  value: number | string\n  label: number | string\n}\n\nexport interface CTimePickerRollColProps {\n  elements: Element[]\n  onClick?: (value: number | string) => void\n  selected?: number | string | null\n}\n\nexport const CTimePickerRollCol = forwardRef<HTMLDivElement, CTimePickerRollColProps>(\n  ({ elements, onClick, selected }, ref) => {\n    const init = useRef(true)\n    const colRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, colRef)\n    const isVisible = useIsVisible(colRef)\n\n    useEffect(() => {\n      const nodeEl = colRef.current?.querySelector('.selected')\n      if (isVisible && nodeEl && nodeEl instanceof HTMLElement) {\n        colRef.current?.scrollTo({\n          top: nodeEl.offsetTop,\n          behavior: init.current ? 'auto' : 'smooth',\n        })\n      }\n\n      if (isVisible) {\n        init.current = false\n      }\n    }, [isVisible, selected])\n\n    const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>, value: number | string) => {\n      if (event.code === 'Space' || event.key === 'Enter') {\n        event.preventDefault()\n        onClick && onClick(value)\n      }\n    }\n\n    return (\n      <div className=\"time-picker-roll-col\" ref={forkedRef}>\n        {elements.map((element, index) => {\n          return (\n            <div\n              className={classNames('time-picker-roll-cell', {\n                selected: element.value === selected,\n              })}\n              key={index}\n              onClick={() => onClick && onClick(element.value)}\n              onKeyDown={(event) => handleKeyDown(event, element.value)}\n              role=\"button\"\n              tabIndex={0}\n            >\n              {element.label}\n            </div>\n          )\n        })}\n      </div>\n    )\n  },\n)\n\nCTimePickerRollCol.propTypes = {\n  elements: PropTypes.array.isRequired,\n  onClick: PropTypes.func,\n  selected: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n}\n\nCTimePickerRollCol.displayName = 'CTimePickerRollCol'\n","import type { LocalizedTimePartials } from './types'\n\nexport const convert12hTo24h = (abbr: 'am' | 'pm', hour: number) => {\n  if (abbr === 'am' && hour === 12) {\n    return 0\n  }\n  if (abbr === 'am') {\n    return hour\n  }\n  if (abbr === 'pm' && hour === 12) {\n    return 12\n  }\n  return hour + 12\n}\n\nexport const convert24hTo12h = (hour: number) => hour % 12 || 12\n\nexport const convertTimeToDate = (time: Date | string | null | undefined) =>\n  time ? (time instanceof Date ? new Date(time) : new Date(`1970-01-01 ${time}`)) : null\n\nexport const getAmPm = (date: Date, locale: string) => {\n  if (date.toLocaleTimeString(locale).includes('AM')) {\n    return 'am'\n  }\n  if (date.toLocaleTimeString(locale).includes('PM')) {\n    return 'pm'\n  }\n  return date.getHours() >= 12 ? 'pm' : 'am'\n}\n\n// TODO: clean-up\nexport const getListOfHours = (locale: string, ampm: 'auto' | boolean = 'auto') =>\n  Array.from({ length: (ampm === 'auto' && isAmPm(locale)) || ampm === true ? 12 : 24 }, (_, i) => {\n    return {\n      value: (ampm === 'auto' && isAmPm(locale)) || ampm === true ? i + 1 : i,\n      label: ((ampm === 'auto' && isAmPm(locale)) || ampm === true ? i + 1 : i).toLocaleString(\n        locale,\n      ),\n    }\n  })\n\n// TODO: clean-up\nexport const getListOfMinutes = (locale: string, valueAsString = false) =>\n  Array.from({ length: 60 }, (_, i) => {\n    const d = new Date()\n    d.setMinutes(i)\n    return {\n      value: valueAsString ? i.toString() : i,\n      label: d\n        .toLocaleTimeString(locale, {\n          minute: '2-digit',\n          second: '2-digit',\n        })\n        .split(/[^A-Za-z0-9\\u06F0-\\u06F90-9]/)[0],\n    }\n  })\n\n// TODO: clean-up\nexport const getListOfSeconds = (locale: string, valueAsString = false) =>\n  Array.from({ length: 60 }, (_, i) => {\n    const d = new Date()\n    d.setSeconds(i)\n    return {\n      value: valueAsString ? i.toString() : i,\n      label: d\n        .toLocaleTimeString(locale, {\n          minute: '2-digit',\n          second: '2-digit',\n        })\n        .split(/[^A-Za-z0-9\\u06F0-\\u06F90-9]/)[0],\n    }\n  })\n\nexport const getLocalizedTimePartials = (\n  locale: string,\n  ampm: 'auto' | boolean = 'auto',\n): LocalizedTimePartials => {\n  const date = new Date()\n  const hour12 = ['am', 'AM', 'pm', 'PM'].some((el) => date.toLocaleString(locale).includes(el))\n  const listOfHours = Array.from(\n    { length: (ampm === 'auto' && hour12) || ampm === true ? 12 : 24 },\n    (_, i) => {\n      return {\n        value: (ampm === 'auto' && hour12) || ampm === true ? i + 1 : i,\n        label: ((ampm === 'auto' && hour12) || ampm === true ? i + 1 : i).toLocaleString(locale),\n      }\n    },\n  )\n  const listOfMinutesSeconds = Array.from({ length: 60 }, (_, i) => {\n    date.setMinutes(i)\n    return {\n      value: i,\n      label: date\n        .toLocaleTimeString(locale, {\n          minute: '2-digit',\n          second: '2-digit',\n        })\n        .split(/[^A-Za-z0-9\\u06F0-\\u06F90-9]/)[0],\n    }\n  })\n\n  return {\n    listOfHours,\n    listOfMinutes: listOfMinutesSeconds,\n    listOfSeconds: listOfMinutesSeconds,\n    hour12,\n  }\n}\n\nexport const getSelectedHour = (\n  date: Date | null,\n  locale: string,\n  ampm: 'auto' | boolean = 'auto',\n) =>\n  date\n    ? (ampm === 'auto' && isAmPm(locale)) || ampm === true\n      ? convert24hTo12h(date.getHours())\n      : date.getHours()\n    : ''\n\nexport const getSelectedMinutes = (date: Date | null) => (date ? date.getMinutes() : '')\n\nexport const getSelectedSeconds = (date: Date | null) => (date ? date.getSeconds() : '')\n\nexport const isAmPm = (locale: string) =>\n  ['am', 'AM', 'pm', 'PM'].some((el) => new Date().toLocaleString(locale).includes(el))\n\nexport const isValidTime = (time: string) => {\n  const d = new Date(`1970-01-01 ${time}`)\n  return d instanceof Date && d.getTime()\n}\n","import React, { forwardRef, ReactNode, useEffect, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CButton } from '../button'\nimport { CFormControlWrapper, CFormControlWrapperProps } from '../form/CFormControlWrapper'\nimport { CPicker, CPickerProps } from './../picker/CPicker'\n\nimport { CTimePickerRollCol } from './CTimePickerRollCol'\nimport {\n  convert12hTo24h,\n  convertTimeToDate,\n  getAmPm,\n  getLocalizedTimePartials,\n  getSelectedHour,\n  getSelectedMinutes,\n  getSelectedSeconds,\n  isValidTime,\n} from './utils'\n\nimport { Colors } from '../../types'\nimport type { LocalizedTimePartials } from './types'\n\nexport interface CTimePickerProps\n  extends Omit<CFormControlWrapperProps, 'floatingLabel'>,\n    Omit<CPickerProps, 'placeholder'> {\n  /**\n   * Set if the component should use the 12/24 hour format. If `true` forces the interface to a 12-hour format. If `false` forces the interface into a 24-hour format. If `auto` the current locale will determine the 12 or 24-hour interface by default locales.\n   *\n   * @since 4.8.0\n   */\n  ampm?: 'auto' | boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Toggle visibility or set the content of cancel button.\n   */\n  cancelButton?: boolean | ReactNode\n  /**\n   * Sets the color context of the cancel button to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  cancelButtonColor?: Colors\n  /**\n   * Size the cancel button small or large.\n   */\n  cancelButtonSize?: 'sm' | 'lg'\n  /**\n   * Set the cancel button variant to an outlined button or a ghost button.\n   */\n  cancelButtonVariant?: 'outline' | 'ghost'\n  /**\n   * A string of all className you want applied to the component.\n   */\n  /**\n   * Toggle visibility or set the content of the cleaner button.\n   */\n  cleaner?: ReactNode | boolean\n  /**\n   * Toggle visibility or set the content of confirm button.\n   */\n  confirmButton?: boolean | ReactNode\n  /**\n   * Sets the color context of the confirm button to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  confirmButtonColor?: Colors\n  /**\n   * Size the confirm button small or large.\n   */\n  confirmButtonSize?: 'sm' | 'lg'\n  /**\n   * Set the confirm button variant to an outlined button or a ghost button.\n   */\n  confirmButtonVariant?: 'outline' | 'ghost'\n  /**\n   * Toggle visibility or set the content of the input indicator.\n   */\n  indicator?: ReactNode | boolean\n  /**\n   * Toggle the readonly state for the component.\n   */\n  inputReadOnly?: boolean\n  /**\n   * Sets the default locale for components. If not set, it is inherited from the browser.\n   */\n  locale?: string\n  /**\n   * Callback fired when the time changed.\n   */\n  onTimeChange?: (timeString: string | null, localeTimeString?: string, date?: Date) => void\n  /**\n   * Specifies a short hint that is visible in the input.\n   */\n  placeholder?: string\n  /**\n   * When present, it specifies that time must be filled out before submitting the form.\n   *\n   * @since 4.10.0\n   */\n  required?: boolean\n  /**\n   * Show seconds.\n   *\n   * @since 4.8.0\n   */\n  seconds?: boolean\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Initial selected time.\n   */\n  time?: Date | string | null\n  /**\n   * Set the time picker variant to a roll or select.\n   */\n  variant?: 'roll' | 'select'\n}\n\nexport const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePickerProps>(\n  (\n    {\n      ampm = 'auto',\n      cancelButton = 'Cancel',\n      cancelButtonColor = 'primary',\n      cancelButtonSize = 'sm',\n      cancelButtonVariant = 'ghost',\n      className,\n      cleaner = true,\n      confirmButton = 'OK',\n      confirmButtonColor = 'primary',\n      confirmButtonSize = 'sm',\n      confirmButtonVariant,\n      container = 'dropdown',\n      disabled,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      footer = true,\n      id,\n      indicator = true,\n      inputReadOnly,\n      invalid,\n      label,\n      locale = 'default',\n      onTimeChange,\n      onHide,\n      onShow,\n      placeholder = 'Select time',\n      required,\n      seconds = true,\n      size,\n      text,\n      time,\n      tooltipFeedback,\n      valid,\n      variant = 'roll',\n      visible,\n      ...rest\n    },\n    ref,\n  ) => {\n    const formRef = useRef<HTMLFormElement>()\n    const inputRef = useRef<HTMLInputElement>(null)\n\n    const [date, setDate] = useState<Date | null>(convertTimeToDate(time))\n    const [initialDate, setInitialDate] = useState<Date | null>(null)\n    const [isValid, setIsValid] = useState(valid ?? (invalid === true ? false : undefined))\n    const [_ampm, setAmPm] = useState<'am' | 'pm'>(date ? getAmPm(new Date(date), locale) : 'am')\n    const [_visible, setVisible] = useState(visible)\n\n    const [localizedTimePartials, setLocalizedTimePartials] = useState<LocalizedTimePartials>({\n      listOfHours: [],\n      listOfMinutes: [],\n      listOfSeconds: [],\n      hour12: false,\n    })\n\n    useEffect(() => {\n      setDate(time ? convertTimeToDate(time) : null)\n    }, [time])\n\n    useEffect(() => {\n      setIsValid(valid ?? (invalid === true ? false : undefined))\n    }, [valid, invalid])\n\n    useEffect(() => {\n      setLocalizedTimePartials(getLocalizedTimePartials(locale, ampm))\n\n      if (inputRef.current) {\n        inputRef.current.value = date\n          ? date.toLocaleTimeString(locale, {\n              hour12: localizedTimePartials && localizedTimePartials.hour12,\n              ...(!seconds && { timeStyle: 'short' }),\n            })\n          : ''\n      }\n\n      date && setAmPm(getAmPm(new Date(date), locale))\n    }, [date])\n\n    useEffect(() => {\n      if (inputRef.current && inputRef.current.form) {\n        formRef.current = inputRef.current.form\n      }\n    }, [inputRef])\n\n    useEffect(() => {\n      if (formRef.current) {\n        formRef.current.addEventListener('submit', (event) => {\n          setTimeout(() => handleFormValidation(event.target as HTMLFormElement))\n        })\n\n        handleFormValidation(formRef.current)\n      }\n    }, [formRef, date])\n\n    const handleClear = (event: React.MouseEvent<HTMLElement>) => {\n      event.stopPropagation()\n      setDate(null)\n      onTimeChange && onTimeChange(null)\n    }\n\n    const handleFormValidation = (form: HTMLFormElement) => {\n      if (!form.classList.contains('was-validated')) {\n        return\n      }\n\n      if (date) {\n        return setIsValid(true)\n      }\n\n      setIsValid(false)\n    }\n\n    const handleTimeChange = (set: 'hours' | 'minutes' | 'seconds' | 'toggle', value: string) => {\n      const _date = date || new Date('1970-01-01')\n\n      if (set === 'toggle') {\n        if (value === 'am') {\n          _date.setHours(_date.getHours() - 12)\n        }\n        if (value === 'pm') {\n          _date.setHours(_date.getHours() + 12)\n        }\n      }\n\n      if (set === 'hours') {\n        if (localizedTimePartials && localizedTimePartials.hour12) {\n          _date.setHours(convert12hTo24h(_ampm, Number.parseInt(value)))\n        } else {\n          _date.setHours(Number.parseInt(value))\n        }\n      }\n\n      if (set === 'minutes') {\n        _date.setMinutes(Number.parseInt(value))\n      }\n\n      if (set === 'seconds') {\n        _date.setSeconds(Number.parseInt(value))\n      }\n\n      setDate(new Date(_date))\n      onTimeChange && onTimeChange(_date.toTimeString(), _date.toLocaleTimeString(), _date)\n    }\n\n    const InputGroup = () => (\n      <div\n        className={classNames('input-group', 'picker-input-group', {\n          [`input-group-${size}`]: size,\n        })}\n      >\n        <input\n          autoComplete=\"off\"\n          className=\"form-control\"\n          disabled={disabled}\n          onChange={(event) =>\n            isValidTime(event.target.value) && setDate(convertTimeToDate(event.target.value))\n          }\n          placeholder={placeholder}\n          readOnly={inputReadOnly}\n          required={required}\n          ref={inputRef}\n        />\n        {(indicator || cleaner) && (\n          <span className=\"input-group-text\">\n            {indicator && (\n              <span className=\"picker-input-group-indicator\">\n                {typeof indicator === 'boolean' ? (\n                  <span className=\"picker-input-group-icon time-picker-input-icon\" />\n                ) : (\n                  indicator\n                )}\n              </span>\n            )}\n            {cleaner && date && (\n              <span\n                className=\"picker-input-group-cleaner\"\n                role=\"button\"\n                onClick={(event) => handleClear(event)}\n              >\n                {typeof cleaner === 'boolean' ? (\n                  <span className=\"picker-input-group-icon time-picker-cleaner-icon\" />\n                ) : (\n                  cleaner\n                )}\n              </span>\n            )}\n          </span>\n        )}\n      </div>\n    )\n\n    const TimePickerSelect = () => {\n      return (\n        <>\n          <span className=\"time-picker-inline-icon\" />\n          <select\n            className=\"form-select\"\n            disabled={disabled}\n            onChange={(event: React.ChangeEvent<HTMLSelectElement>) =>\n              handleTimeChange('hours', event.target.value)\n            }\n            value={getSelectedHour(date, locale)}\n          >\n            {localizedTimePartials &&\n              localizedTimePartials.listOfHours.map((option, index) => (\n                <option value={option.value.toString()} key={index}>\n                  {option.label}\n                </option>\n              ))}\n          </select>\n          <>:</>\n          <select\n            className=\"form-select\"\n            disabled={disabled}\n            onChange={(event: React.ChangeEvent<HTMLSelectElement>) =>\n              handleTimeChange('minutes', event.target.value)\n            }\n            value={getSelectedMinutes(date)}\n          >\n            {localizedTimePartials &&\n              localizedTimePartials.listOfMinutes.map((option, index) => (\n                <option value={option.value.toString()} key={index}>\n                  {option.label}\n                </option>\n              ))}\n          </select>\n          {seconds && (\n            <>\n              <>:</>\n              <select\n                className=\"form-select\"\n                disabled={disabled}\n                onChange={(event: React.ChangeEvent<HTMLSelectElement>) =>\n                  handleTimeChange('seconds', event.target.value)\n                }\n                value={getSelectedSeconds(date)}\n              >\n                {localizedTimePartials &&\n                  localizedTimePartials.listOfSeconds.map((option, index) => (\n                    <option value={option.value.toString()} key={index}>\n                      {option.label}\n                    </option>\n                  ))}\n              </select>\n            </>\n          )}\n          {localizedTimePartials && localizedTimePartials.hour12 && (\n            <select\n              className=\"form-select\"\n              disabled={disabled}\n              onChange={(event: React.ChangeEvent<HTMLSelectElement>) =>\n                handleTimeChange('toggle', event.target.value)\n              }\n              value={_ampm}\n            >\n              <option value=\"am\">AM</option>\n              <option value=\"pm\">PM</option>\n            </select>\n          )}\n        </>\n      )\n    }\n\n    return (\n      <CFormControlWrapper\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        id={id}\n        invalid={isValid === false ? true : false}\n        label={label}\n        text={text}\n        tooltipFeedback={tooltipFeedback}\n        valid={isValid}\n      >\n        <CPicker\n          className={classNames(\n            'time-picker',\n            {\n              [`time-picker-${size}`]: size,\n              disabled: disabled,\n              'is-invalid': isValid === false ? true : false,\n              'is-valid': isValid,\n            },\n            className,\n          )}\n          container={container}\n          disabled={disabled}\n          dropdownClassNames=\"time-picker-dropdown\"\n          footer={footer}\n          footerContent={\n            <div className=\"picker-footer\">\n              {cancelButton && (\n                <CButton\n                  color={cancelButtonColor}\n                  size={cancelButtonSize}\n                  variant={cancelButtonVariant}\n                  onClick={() => {\n                    initialDate && setDate(new Date(initialDate))\n                    setVisible(false)\n                  }}\n                >\n                  {cancelButton}\n                </CButton>\n              )}\n              {confirmButton && (\n                <CButton\n                  color={confirmButtonColor}\n                  size={confirmButtonSize}\n                  variant={confirmButtonVariant}\n                  onClick={() => {\n                    setVisible(false)\n                  }}\n                >\n                  {confirmButton}\n                </CButton>\n              )}\n            </div>\n          }\n          id={id}\n          onHide={() => {\n            setVisible(false)\n            onHide && onHide()\n          }}\n          onShow={() => {\n            date && setInitialDate(new Date(date))\n            setVisible(true)\n            onShow && onShow()\n          }}\n          toggler={InputGroup()}\n          visible={_visible}\n          {...rest}\n          ref={ref}\n        >\n          <div\n            className={classNames('time-picker-body', {\n              ['time-picker-roll']: variant === 'roll',\n            })}\n          >\n            {variant === 'select' ? (\n              <TimePickerSelect />\n            ) : (\n              <>\n                <CTimePickerRollCol\n                  elements={localizedTimePartials && localizedTimePartials.listOfHours}\n                  onClick={(index: number) => handleTimeChange('hours', index.toString())}\n                  selected={getSelectedHour(date, locale, ampm)}\n                />\n                <CTimePickerRollCol\n                  elements={localizedTimePartials && localizedTimePartials.listOfMinutes}\n                  onClick={(index: number) => handleTimeChange('minutes', index.toString())}\n                  selected={getSelectedMinutes(date)}\n                />\n                {seconds && (\n                  <CTimePickerRollCol\n                    elements={localizedTimePartials && localizedTimePartials.listOfSeconds}\n                    onClick={(index: number) => handleTimeChange('seconds', index.toString())}\n                    selected={getSelectedSeconds(date)}\n                  />\n                )}\n                {localizedTimePartials && localizedTimePartials.hour12 && (\n                  <CTimePickerRollCol\n                    elements={[\n                      { value: 'am', label: 'AM' },\n                      { value: 'pm', label: 'PM' },\n                    ]}\n                    onClick={(value: string) => handleTimeChange('toggle', value)}\n                    selected={_ampm}\n                  />\n                )}\n              </>\n            )}\n          </div>\n        </CPicker>\n      </CFormControlWrapper>\n    )\n  },\n)\n\nCTimePicker.propTypes = {\n  ...CFormControlWrapper.propTypes,\n  ...CPicker.propTypes,\n  ampm: PropTypes.oneOfType([PropTypes.oneOf<'auto'>(['auto']), PropTypes.bool]),\n  cancelButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  cancelButtonColor: CButton.propTypes?.color,\n  cancelButtonSize: CButton.propTypes?.size,\n  cancelButtonVariant: CButton.propTypes?.variant,\n  className: PropTypes.string,\n  confirmButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  confirmButtonColor: CButton.propTypes?.color,\n  confirmButtonSize: CButton.propTypes?.size,\n  confirmButtonVariant: CButton.propTypes?.variant,\n  locale: PropTypes.string,\n  onTimeChange: PropTypes.func,\n  required: PropTypes.bool,\n  seconds: PropTypes.bool,\n  time: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  variant: PropTypes.oneOf(['roll', 'select']),\n}\n\nCTimePicker.displayName = 'CTimePicker'\n","export const getLocalDateFromString = (string: string, locale: string, time?: boolean) => {\n  if (!Number.isNaN(Date.parse(string))) {\n    return new Date(Date.parse(string))\n  }\n\n  const date = new Date(2013, 11, 31, 17, 19, 22)\n  let regex = time ? date.toLocaleString(locale) : date.toLocaleDateString(locale)\n  regex = regex\n    .replace('2013', '(?<year>[0-9]{2,4})')\n    .replace('12', '(?<month>[0-9]{1,2})')\n    .replace('31', '(?<day>[0-9]{1,2})')\n\n  if (time) {\n    regex = regex\n      .replace('5', '(?<hour>[0-9]{1,2})')\n      .replace('17', '(?<hour>[0-9]{1,2})')\n      .replace('19', '(?<minute>[0-9]{1,2})')\n      .replace('22', '(?<second>[0-9]{1,2})')\n      .replace('PM', '(?<ampm>[A-Z]{2})')\n  }\n\n  const rgx = new RegExp(`${regex}`)\n  const partials = string.match(rgx)\n\n  if (partials === null) return\n\n  const newDate =\n    partials.groups &&\n    (time\n      ? new Date(\n          Number(partials.groups['year']),\n          Number(partials.groups['month']) - 1,\n          Number(partials.groups['day']),\n          partials.groups['ampm']\n            ? (partials.groups['ampm'] === 'PM'\n              ? Number(partials.groups['hour']) + 12\n              : Number(partials.groups['hour']))\n            : Number(partials.groups['hour']),\n          Number(partials.groups['minute']),\n          Number(partials.groups['second']),\n        )\n      : new Date(\n          Number(partials.groups['year']),\n          Number(partials.groups['month']) - 1,\n          Number(partials.groups['day']),\n        ))\n\n  return newDate\n}\n","import React, { forwardRef, ReactNode, useEffect, useRef, useState } from 'react'\n\nimport classNames from 'classnames'\nimport { format as dateFormat } from 'date-fns'\nimport PropTypes from 'prop-types'\nimport { isMobile } from 'react-device-detect'\n\nimport { CButton } from '../button'\nimport { CCalendar, CCalendarProps } from '../calendar/CCalendar'\nimport { CFormControlWrapper, CFormControlWrapperProps } from '../form/CFormControlWrapper'\nimport { CPicker, CPickerProps } from '../picker/CPicker'\nimport { CTimePicker } from '../time-picker/CTimePicker'\n\nimport { useDebouncedCallback } from '../../hooks'\nimport { Colors } from '../../types'\nimport { getLocalDateFromString } from './utils'\n\nexport interface CDateRangePickerProps\n  extends Omit<CFormControlWrapperProps, 'floatingLabel'>,\n    Omit<CPickerProps, 'placeholder'>,\n    Omit<CCalendarProps, 'onDayHover' | 'onCalendarDateChange'> {\n  /**\n   * The number of calendars that render on desktop devices.\n   */\n  calendars?: number\n  /**\n   * Toggle visibility or set the content of cancel button.\n   *\n   * @default 'Cancel'\n   */\n  cancelButton?: boolean | ReactNode\n  /**\n   * Sets the color context of the cancel button to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   * @default 'primary'\n   */\n  cancelButtonColor?: Colors\n  /**\n   * Size the cancel button small or large.\n   *\n   * @default 'sm'\n   */\n  cancelButtonSize?: 'sm' | 'lg'\n  /**\n   * Set the cancel button variant to an outlined button or a ghost button.\n   *\n   * @default 'ghost'\n   */\n  cancelButtonVariant?: 'outline' | 'ghost'\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * If true the dropdown will be immediately closed after submitting the full date.\n   *\n   * @since 4.8.0\n   */\n  closeOnSelect?: boolean\n  /**\n   * Toggle visibility or set the content of the cleaner button.\n   */\n  cleaner?: boolean\n  /**\n   * Toggle visibility or set the content of confirm button.\n   *\n   * @default 'OK'\n   */\n  confirmButton?: boolean | ReactNode\n  /**\n   * Sets the color context of the confirm button to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   * @default 'primary'\n   */\n  confirmButtonColor?: Colors\n  /**\n   * Size the confirm button small or large.\n   *\n   * @default 'sm'\n   */\n  confirmButtonSize?: 'sm' | 'lg'\n  /**\n   * Set the confirm button variant to an outlined button or a ghost button.\n   */\n  confirmButtonVariant?: 'outline' | 'ghost'\n  /**\n   * Set date format.\n   * We use date-fns to format dates. Visit https://date-fns.org/v2.28.0/docs/format to check accepted patterns.\n   */\n  format?: string\n  /**\n   * The id global attribute defines an identifier (ID) that must be unique in the whole document.\n   *\n   * The name attributes for input elements are generated based on the `id` property:\n   * - \\{id\\}-start-date\n   * - \\{id\\}-end-date\n   */\n  id?: string\n  /**\n   * Toggle visibility or set the content of the input indicator.\n   */\n  indicator?: ReactNode | boolean\n  /**\n   * Custom function to format the selected date into a string according to a custom format.\n   *\n   * @since v4.14.0\n   */\n  inputDateFormat?: (date: Date) => string\n  /**\n   * Custom function to parse the input value into a valid Date object.\n   *\n   * @since v4.14.0\n   */\n  inputDateParse?: (date: string | Date) => Date\n  /**\n   * Defines the delay (in milliseconds) for the input field's onChange event.\n   *\n   * @since v4.14.0\n   */\n  inputOnChangeDelay?: number\n  /**\n   * Toggle the readonly state for the component.\n   */\n  inputReadOnly?: boolean\n  /**\n   * Specifies short hints that are visible in start date and end date inputs.\n   */\n  placeholder?: string | string[]\n  /**\n   * @ignore\n   */\n  range?: boolean\n  /**\n   * Predefined date ranges the user can select from.\n   */\n  ranges?: object\n  /**\n   * Sets the color context of the cancel button to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  rangesButtonsColor?: Colors\n  /**\n   * Size the ranges button small or large.\n   */\n  rangesButtonsSize?: 'sm' | 'lg'\n  /**\n   * Set the ranges button variant to an outlined button or a ghost button.\n   */\n  rangesButtonsVariant?: 'outline' | 'ghost'\n  /**\n   * When present, it specifies that date must be filled out before submitting the form.\n   *\n   * @since 4.10.0\n   */\n  required?: boolean\n  /**\n   * Default icon or character character that separates two dates.\n   */\n  separator?: ReactNode | boolean\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Provide an additional time selection by adding select boxes to choose times.\n   */\n  timepicker?: boolean\n  /**\n   * Toggle visibility or set the content of today button.\n   *\n   * @default 'Today'\n   */\n  todayButton?: boolean | ReactNode\n  /**\n   * Sets the color context of the today button to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   * @default 'primary'\n   */\n  todayButtonColor?: Colors\n  /**\n   * Size the today button small or large.\n   *\n   * @default 'sm'\n   */\n  todayButtonSize?: 'sm' | 'lg'\n  /**\n   * Set the today button variant to an outlined button or a ghost button.\n   */\n  todayButtonVariant?: 'outline' | 'ghost'\n}\n\nexport const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDateRangePickerProps>(\n  (\n    {\n      calendars = 2,\n      calendarDate,\n      cancelButton = 'Cancel',\n      cancelButtonColor = 'primary',\n      cancelButtonSize = 'sm',\n      cancelButtonVariant = 'ghost',\n      className,\n      cleaner = true,\n      closeOnSelect = true,\n      confirmButton = 'OK',\n      confirmButtonColor = 'primary',\n      confirmButtonSize = 'sm',\n      confirmButtonVariant,\n      dayFormat,\n      disabled,\n      disabledDates,\n      endDate,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      firstDayOfWeek,\n      format,\n      footer,\n      id,\n      indicator = true,\n      inputDateFormat,\n      inputDateParse,\n      inputOnChangeDelay = 750,\n      inputReadOnly,\n      invalid,\n      label,\n      locale = 'default',\n      maxDate,\n      minDate,\n      navigation,\n      navYearFirst,\n      onEndDateChange,\n      onHide,\n      onStartDateChange,\n      onShow,\n      placeholder = ['Start date', 'End date'],\n      range = true,\n      ranges,\n      rangesButtonsColor = 'secondary',\n      rangesButtonsSize,\n      rangesButtonsVariant = 'ghost',\n      required,\n      separator = true,\n      selectAdjacementDays,\n      showAdjacementDays,\n      size,\n      startDate,\n      text,\n      timepicker,\n      toggler,\n      todayButton = 'Today',\n      todayButtonColor = 'primary',\n      todayButtonSize = 'sm',\n      todayButtonVariant,\n      tooltipFeedback,\n      valid,\n      visible,\n      weekdayFormat,\n      ...rest\n    },\n    ref,\n  ) => {\n    const inputEndRef = useRef<HTMLInputElement>(null)\n    const inputStartRef = useRef<HTMLInputElement>(null)\n    const formRef = useRef<HTMLFormElement>()\n\n    const [_calendarDate, setCalendarDate] = useState<Date>(\n      calendarDate ? new Date(calendarDate) : new Date(),\n    )\n    const [_endDate, setEndDate] = useState<Date | null>(endDate ? new Date(endDate) : null)\n    const [_maxDate, setMaxDate] = useState<Date | null>(maxDate ? new Date(maxDate) : null)\n    const [_minDate, setMinDate] = useState<Date | null>(minDate ? new Date(minDate) : null)\n    const [_startDate, setStartDate] = useState<Date | null>(startDate ? new Date(startDate) : null)\n    const [_visible, setVisible] = useState(visible)\n\n    const [initialStartDate, setInitialStartDate] = useState<Date | null>(\n      startDate ? new Date(startDate) : null,\n    )\n    const [initialEndDate, setInitialEndDate] = useState<Date | null>(\n      endDate ? new Date(endDate) : null,\n    )\n    const [inputStartHoverValue, setInputStartHoverValue] = useState<Date | null>(null)\n    const [inputEndHoverValue, setInputEndHoverValue] = useState<Date | null>(null)\n    const [isValid, setIsValid] = useState(valid ?? (invalid === true ? false : undefined))\n    const [selectEndDate, setSelectEndDate] = useState(false)\n\n    useEffect(() => {\n      setIsValid(valid ?? (invalid === true ? false : undefined))\n    }, [valid, invalid])\n\n    useEffect(() => {\n      setStartDate(startDate ? new Date(startDate) : null)\n      setCalendarDate(startDate ? new Date(startDate) : new Date())\n    }, [startDate])\n\n    useEffect(() => {\n      setEndDate(endDate ? new Date(endDate) : null)\n      range && setCalendarDate(endDate ? new Date(endDate) : new Date())\n    }, [endDate])\n\n    useEffect(() => {\n      maxDate && setMaxDate(new Date(maxDate))\n    }, [maxDate])\n\n    useEffect(() => {\n      minDate && setMinDate(new Date(minDate))\n    }, [minDate])\n\n    useEffect(() => {\n      if (inputStartHoverValue) {\n        setInputValue(inputStartRef.current, inputStartHoverValue)\n        return\n      }\n\n      setInputValue(inputStartRef.current, _startDate)\n    }, [inputStartHoverValue, _startDate])\n\n    useEffect(() => {\n      if (inputEndHoverValue) {\n        setInputValue(inputEndRef.current, inputEndHoverValue)\n        return\n      }\n\n      setInputValue(inputEndRef.current, _endDate)\n    }, [inputEndHoverValue, _endDate])\n\n    useEffect(() => {\n      if (inputStartRef.current && inputStartRef.current.form) {\n        formRef.current = inputStartRef.current.form\n      }\n    }, [inputStartRef])\n\n    useEffect(() => {\n      if (formRef.current) {\n        formRef.current.addEventListener('submit', (event) => {\n          setTimeout(() => handleFormValidation(event.target as HTMLFormElement))\n        })\n\n        handleFormValidation(formRef.current)\n      }\n    }, [formRef, _startDate, _endDate])\n\n    const formatDate = (date: Date) => {\n      return inputDateFormat\n        ? inputDateFormat(date)\n        : format\n        ? dateFormat(date, format)\n        : timepicker\n        ? date.toLocaleString(locale)\n        : date.toLocaleDateString(locale)\n    }\n\n    const setInputValue = (el: HTMLInputElement | null, date: Date | null) => {\n      if (!el) {\n        return\n      }\n\n      if (date) {\n        el.value = formatDate(date)\n        return\n      }\n\n      el.value = ''\n    }\n\n    const handleDayHover = (date: Date | null) => {\n      selectEndDate ? setInputEndHoverValue(date) : setInputStartHoverValue(date)\n    }\n\n    const handleCalendarDateChange = (date: Date, difference?: number) => {\n      difference\n        ? setCalendarDate(new Date(date.getFullYear(), date.getMonth() - difference, 1))\n        : setCalendarDate(date)\n    }\n\n    const handleClear = (event: React.MouseEvent<HTMLElement>) => {\n      event.stopPropagation()\n      setStartDate(null)\n      setEndDate(null)\n    }\n\n    const handleEndDateChange = (date: Date | null) => {\n      setEndDate(date)\n      setInputEndHoverValue(null)\n      onEndDateChange && onEndDateChange(date, date ? formatDate(date) : undefined)\n\n      if (timepicker || footer) {\n        return\n      }\n\n      if (closeOnSelect) {\n        _startDate !== null && setVisible(false)\n      }\n    }\n\n    const handleFormValidation = (form: HTMLFormElement) => {\n      if (!form.classList.contains('was-validated')) {\n        return\n      }\n\n      if ((range && _startDate && _endDate) || (!range && _startDate)) {\n        return setIsValid(true)\n      }\n\n      setIsValid(false)\n    }\n\n    const handleStartDateChange = (date: Date | null) => {\n      setStartDate(date)\n      setInputStartHoverValue(null)\n      onStartDateChange && onStartDateChange(date, date ? formatDate(date) : undefined)\n\n      if (timepicker || footer) {\n        return\n      }\n\n      if (closeOnSelect && !range) {\n        setVisible(false)\n      }\n    }\n\n    const handleOnChange = useDebouncedCallback((value: string, input: string) => {\n      const date = inputDateParse\n        ? inputDateParse(value)\n        : getLocalDateFromString(value, locale, timepicker)\n      if (date instanceof Date && date.getTime()) {\n        setCalendarDate(date)\n        input === 'start' ? setStartDate(date) : setEndDate(date)\n      }\n    }, inputOnChangeDelay)\n\n    const InputGroup = () => (\n      <div\n        className={classNames('input-group', 'picker-input-group', {\n          [`input-group-${size}`]: size,\n        })}\n      >\n        <input\n          autoComplete=\"off\"\n          className={classNames('form-control date-picker-input', {\n            hover: inputStartHoverValue,\n          })}\n          disabled={disabled}\n          {...(id && { name: range ? `${id}-start-date` : `${id}-date` })}\n          placeholder={Array.isArray(placeholder) ? placeholder[0] : placeholder}\n          readOnly={inputReadOnly || typeof format === 'string'}\n          required={required}\n          onChange={(event) => {\n            handleOnChange(event.target.value, 'start')\n          }}\n          onClick={() => setSelectEndDate(false)}\n          ref={inputStartRef}\n        />\n        {range && separator !== false && (\n          <span className=\"input-group-text\">\n            <span className=\"picker-input-group-icon date-picker-arrow-icon\"></span>\n          </span>\n        )}\n        {range && (\n          <input\n            autoComplete=\"off\"\n            className={classNames('form-control date-picker-input', {\n              hover: inputEndHoverValue,\n            })}\n            disabled={disabled}\n            {...(id && { name: `${id}-end-date` })}\n            placeholder={placeholder[1]}\n            readOnly={inputReadOnly || typeof format === 'string'}\n            required={required}\n            onChange={(event) => {\n              handleOnChange(event.target.value, 'end')\n            }}\n            onClick={() => setSelectEndDate(true)}\n            ref={inputEndRef}\n          />\n        )}\n        {(indicator || cleaner) && (\n          <span className=\"input-group-text\">\n            {indicator && (\n              <span className=\"picker-input-group-indicator\">\n                {typeof indicator === 'boolean' ? (\n                  <span className=\"picker-input-group-icon date-picker-input-icon\" />\n                ) : (\n                  indicator\n                )}\n              </span>\n            )}\n            {cleaner && (_startDate || _endDate) && (\n              <span\n                className=\"picker-input-group-cleaner\"\n                role=\"button\"\n                onClick={(event) => handleClear(event)}\n              >\n                {typeof cleaner === 'boolean' ? (\n                  <span className=\"picker-input-group-icon date-picker-cleaner-icon\" />\n                ) : (\n                  cleaner\n                )}\n              </span>\n            )}\n          </span>\n        )}\n      </div>\n    )\n\n    return (\n      <CFormControlWrapper\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        id={id}\n        invalid={isValid === false ? true : false}\n        label={label}\n        text={text}\n        tooltipFeedback={tooltipFeedback}\n        valid={isValid}\n      >\n        <CPicker\n          className={classNames(\n            'date-picker',\n            {\n              [`date-picker-${size}`]: size,\n              disabled: disabled,\n              'is-invalid': isValid === false ? true : false,\n              'is-valid': isValid,\n            },\n            className,\n          )}\n          disabled={disabled}\n          footer={footer || timepicker}\n          footerContent={\n            <div className=\"picker-footer\">\n              {todayButton && (\n                <CButton\n                  className=\"me-auto\"\n                  color={todayButtonColor}\n                  size={todayButtonSize}\n                  variant={todayButtonVariant}\n                  onClick={() => {\n                    const date = new Date()\n                    handleStartDateChange(date)\n                    range && handleEndDateChange(date)\n                    setCalendarDate(date)\n                  }}\n                >\n                  {todayButton}\n                </CButton>\n              )}\n              {cancelButton && (\n                <CButton\n                  color={cancelButtonColor}\n                  size={cancelButtonSize}\n                  variant={cancelButtonVariant}\n                  onClick={() => {\n                    handleStartDateChange(initialStartDate)\n                    range && handleEndDateChange(initialEndDate)\n                    setVisible(false)\n                  }}\n                >\n                  {cancelButton}\n                </CButton>\n              )}\n              {confirmButton && (\n                <CButton\n                  color={confirmButtonColor}\n                  size={confirmButtonSize}\n                  variant={confirmButtonVariant}\n                  onClick={() => {\n                    setVisible(false)\n                  }}\n                >\n                  {confirmButton}\n                </CButton>\n              )}\n            </div>\n          }\n          id={id}\n          toggler={toggler ?? InputGroup()}\n          onHide={() => {\n            setVisible(false)\n            onHide && onHide()\n          }}\n          onShow={() => {\n            setInitialStartDate(_startDate)\n            setInitialEndDate(_endDate)\n            setVisible(true)\n            onShow && onShow()\n          }}\n          visible={_visible}\n          {...rest}\n          ref={ref}\n        >\n          <div className=\"date-picker-body\">\n            {ranges && (\n              <div className=\"date-picker-ranges\">\n                {Object.keys(ranges).map((key: string, index: number) => (\n                  <CButton\n                    color={rangesButtonsColor}\n                    key={index}\n                    onClick={() => {\n                      handleStartDateChange(ranges[key][0])\n                      handleEndDateChange(ranges[key][1])\n                    }}\n                    size={rangesButtonsSize}\n                    variant={rangesButtonsVariant}\n                  >\n                    {key}\n                  </CButton>\n                ))}\n              </div>\n            )}\n            <CCalendar\n              calendarDate={_calendarDate}\n              calendars={isMobile ? 1 : calendars}\n              className=\"date-picker-calendars\"\n              dayFormat={dayFormat}\n              disabledDates={disabledDates}\n              endDate={_endDate}\n              firstDayOfWeek={firstDayOfWeek}\n              locale={locale}\n              maxDate={_maxDate}\n              minDate={_minDate}\n              navigation={navigation}\n              navYearFirst={navYearFirst}\n              range={range}\n              selectAdjacementDays={selectAdjacementDays}\n              selectEndDate={selectEndDate}\n              showAdjacementDays={showAdjacementDays}\n              startDate={_startDate}\n              onDayHover={(date) => handleDayHover(date)}\n              onCalendarDateChange={(date) => handleCalendarDateChange(date)}\n              onStartDateChange={(date) => handleStartDateChange(date)}\n              onEndDateChange={(date) => handleEndDateChange(date)}\n              onSelectEndChange={(value) => setSelectEndDate(value)}\n              weekdayFormat={weekdayFormat}\n            />\n            {timepicker && (\n              <div className=\"date-picker-timepickers\">\n                {isMobile || (range && calendars === 1) ? (\n                  <>\n                    <CTimePicker\n                      container=\"inline\"\n                      disabled={_startDate === null ? true : false}\n                      locale={locale}\n                      onTimeChange={(_, __, date) => date && handleStartDateChange(date)}\n                      time={_startDate}\n                      variant=\"select\"\n                    />\n                    <CTimePicker\n                      container=\"inline\"\n                      disabled={_endDate === null ? true : false}\n                      locale={locale}\n                      onTimeChange={(_, __, date) => date && handleEndDateChange(date)}\n                      time={_endDate}\n                      variant=\"select\"\n                    />\n                  </>\n                ) : (\n                  Array.from({ length: calendars }).map((_, index) => (\n                    <CTimePicker\n                      container=\"inline\"\n                      disabled={\n                        index === 0\n                          ? _startDate === null\n                            ? true\n                            : false\n                          : _endDate === null\n                          ? true\n                          : false\n                      }\n                      key={index}\n                      locale={locale}\n                      onTimeChange={(_, __, date) =>\n                        index === 0\n                          ? date && handleStartDateChange(date)\n                          : date && handleEndDateChange(date)\n                      }\n                      time={index === 0 ? _startDate : _endDate}\n                      variant=\"select\"\n                    />\n                  ))\n                )}\n              </div>\n            )}\n          </div>\n        </CPicker>\n      </CFormControlWrapper>\n    )\n  },\n)\n\nCDateRangePicker.displayName = 'CDateRangePicker'\n\nCDateRangePicker.propTypes = {\n  ...CCalendar.propTypes,\n  ...CFormControlWrapper.propTypes,\n  ...CPicker.propTypes,\n  cancelButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  cancelButtonColor: CButton.propTypes?.color,\n  cancelButtonSize: CButton.propTypes?.size,\n  cancelButtonVariant: CButton.propTypes?.variant,\n  calendars: PropTypes.number,\n  className: PropTypes.string,\n  cleaner: PropTypes.bool,\n  closeOnSelect: PropTypes.bool,\n  confirmButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  confirmButtonColor: CButton.propTypes?.color,\n  confirmButtonSize: CButton.propTypes?.size,\n  confirmButtonVariant: CButton.propTypes?.variant,\n  id: PropTypes.string,\n  indicator: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  inputDateFormat: PropTypes.func,\n  inputDateParse: PropTypes.func,\n  inputOnChangeDelay: PropTypes.number,\n  inputReadOnly: PropTypes.bool,\n  placeholder: PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.arrayOf(PropTypes.string.isRequired),\n  ]),\n  range: PropTypes.bool,\n  ranges: PropTypes.object,\n  rangesButtonsColor: CButton.propTypes?.color,\n  rangesButtonsSize: CButton.propTypes?.size,\n  rangesButtonsVariant: CButton.propTypes?.variant,\n  required: PropTypes.bool,\n  separator: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  size: PropTypes.oneOf(['sm', 'lg']),\n  timepicker: PropTypes.bool,\n  todayButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n  todayButtonColor: CButton.propTypes?.color,\n  todayButtonSize: CButton.propTypes?.size,\n  todayButtonVariant: CButton.propTypes?.variant,\n}\n","import { useRef, useCallback,  } from 'react'\n\nexport const useDebouncedCallback = <F extends Function>(callback: F, delay: number) => {\n  const timeout = useRef<ReturnType<typeof setTimeout>>()\n\n  return useCallback(\n    (...args: any[]) => {\n      const handler = () => {\n        clearTimeout(timeout.current)\n        callback(...args)\n      }\n\n      clearTimeout(timeout.current)\n      timeout.current = setTimeout(handler, delay)\n    },\n    [callback, delay],\n  )\n}\n","import React, { forwardRef } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CDateRangePicker, CDateRangePickerProps } from '../date-range-picker/CDateRangePicker'\n\nexport interface CDatePickerProps\n  extends Omit<\n    CDateRangePickerProps,\n    | 'calendars'\n    | 'endDate'\n    | 'range'\n    | 'onEndDateChange'\n    | 'onStartDateChange'\n    | 'ranges'\n    | 'selectEndDate'\n    | 'startDate'\n  > {\n  /**\n   * Initial selected date.\n   */\n  date?: Date | string | null\n  /**\n   * The id global attribute defines an identifier (ID) that must be unique in the whole document.\n   *\n   * The name attribute for the input element is generated based on the `id` property:\n   * - \\{id\\}-date\n   */\n  id?: string\n  /**\n   * Callback fired when the date changed.\n   */\n  onDateChange?: (date: Date | null, formatedDate?: string | undefined) => void\n}\n\nexport const CDatePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDatePickerProps>(\n  ({ date, id, onDateChange, placeholder = 'Select date', ...rest }, ref) => {\n    return (\n      <CDateRangePicker\n        calendars={1}\n        id={id}\n        startDate={date}\n        onStartDateChange={onDateChange}\n        placeholder={placeholder}\n        range={false}\n        ref={ref}\n        {...rest}\n      />\n    )\n  },\n)\n\nCDatePicker.displayName = 'CDatePicker'\n\nCDatePicker.propTypes = {\n  ...CDateRangePicker.propTypes,\n  date: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),\n  onDateChange: PropTypes.func,\n}\n","import React, {\n  createContext,\n  ElementType,\n  forwardRef,\n  HTMLAttributes,\n  RefObject,\n  useEffect,\n  useRef,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { useForkedRef, usePopper } from '../../hooks'\nimport { placementPropType } from '../../props'\nimport type { Placements } from '../../types'\nimport { isRTL } from '../../utils'\n\nexport type Directions = 'start' | 'end'\n\nexport type Breakpoints =\n  | { xs: Directions }\n  | { sm: Directions }\n  | { md: Directions }\n  | { lg: Directions }\n  | { xl: Directions }\n  | { xxl: Directions }\n\nexport type Alignments = Directions | Breakpoints\n\nexport interface CDropdownProps extends HTMLAttributes<HTMLDivElement | HTMLLIElement> {\n  /**\n   * Set aligment of dropdown menu.\n   *\n   * @type 'start' | 'end' | { xs: 'start' | 'end' } | { sm: 'start' | 'end' } | { md: 'start' | 'end' } | { lg: 'start' | 'end' } | { xl: 'start' | 'end'} | { xxl: 'start' | 'end'}\n   */\n  alignment?: Alignments\n  /**\n   * Configure the auto close behavior of the dropdown:\n   * - `true` - the dropdown will be closed by clicking outside or inside the dropdown menu.\n   * - `false` - the dropdown will be closed by clicking the toggle button and manually calling hide or toggle method. (Also will not be closed by pressing esc key)\n   * - `'inside'` - the dropdown will be closed (only) by clicking inside the dropdown menu.\n   * - `'outside'` - the dropdown will be closed (only) by clicking outside the dropdown menu.\n   */\n  autoClose?: 'inside' | 'outside' | boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Appends the react dropdown menu to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.\n   *\n   * @since v4.11.0\n   */\n  container?: Element | (() => Element | null) | null\n  /**\n   * Sets a darker color scheme to match a dark navbar.\n   */\n  dark?: boolean\n  /**\n   * Sets a specified  direction and location of the dropdown menu.\n   */\n  direction?: 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'\n  /**\n   * Offset of the dropdown menu relative to its target.\n   */\n  offset?: [number, number]\n  /**\n   * Callback fired when the component requests to be hidden.\n   *\n   * @since 4.9.0\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n   *\n   * @type 'auto' | 'top-end' | 'top' | 'top-start' | 'bottom-end' | 'bottom' | 'bottom-start' | 'right-start' | 'right' | 'right-end' | 'left-start' | 'left' | 'left-end'\n   */\n  placement?: Placements\n  /**\n   * If you want to disable dynamic positioning set this property to `true`.\n   */\n  popper?: boolean\n  /**\n   * Generates dropdown menu using createPortal.\n   *\n   * @since 4.8.0\n   */\n  portal?: boolean\n  /**\n   * Set the dropdown variant to an btn-group, dropdown, input-group, and nav-item.\n   */\n  variant?: 'btn-group' | 'dropdown' | 'input-group' | 'nav-item'\n  /**\n   * Toggle the visibility of dropdown menu component.\n   */\n  visible?: boolean\n}\n\ninterface ContextProps extends CDropdownProps {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  dropdownToggleRef: RefObject<any | undefined>\n  dropdownMenuRef: RefObject<HTMLDivElement | HTMLUListElement | undefined>\n  setVisible: React.Dispatch<React.SetStateAction<boolean | undefined>>\n  portal: boolean\n}\n\nconst getPlacement = (\n  placement: Placements,\n  direction: CDropdownProps['direction'],\n  alignment: CDropdownProps['alignment'],\n  isRTL: boolean,\n): Placements => {\n  let _placement = placement\n\n  if (direction === 'dropup') {\n    _placement = isRTL ? 'top-end' : 'top-start'\n  }\n\n  if (direction === 'dropup-center') {\n    _placement = 'top'\n  }\n\n  if (direction === 'dropend') {\n    _placement = isRTL ? 'left-start' : 'right-start'\n  }\n\n  if (direction === 'dropstart') {\n    _placement = isRTL ? 'right-start' : 'left-start'\n  }\n\n  if (alignment === 'end') {\n    _placement = isRTL ? 'bottom-start' : 'bottom-end'\n  }\n\n  return _placement\n}\n\nexport const CDropdownContext = createContext({} as ContextProps)\n\nexport const CDropdown = forwardRef<HTMLDivElement | HTMLLIElement, CDropdownProps>(\n  (\n    {\n      children,\n      alignment,\n      autoClose = true,\n      className,\n      container,\n      dark,\n      direction,\n      offset = [0, 2],\n      onHide,\n      onShow,\n      placement = 'bottom-start',\n      popper = true,\n      portal = false,\n      variant = 'btn-group',\n      component = 'div',\n      visible = false,\n      ...rest\n    },\n    ref,\n  ) => {\n    const dropdownRef = useRef<HTMLDivElement>(null)\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const dropdownToggleRef = useRef<any>(null)\n    const dropdownMenuRef = useRef<HTMLDivElement | HTMLUListElement>(null)\n    const forkedRef = useForkedRef(ref, dropdownRef)\n    const [_visible, setVisible] = useState(visible)\n    const { initPopper, destroyPopper } = usePopper()\n\n    const Component = variant === 'nav-item' ? 'li' : component\n\n    // Disable popper if responsive aligment is set.\n    if (typeof alignment === 'object') {\n      popper = false\n    }\n\n    const contextValues = {\n      alignment,\n      container,\n      dark,\n      dropdownToggleRef,\n      dropdownMenuRef,\n      popper,\n      portal,\n      variant,\n      visible: _visible,\n      setVisible,\n    }\n\n    const popperConfig = {\n      modifiers: [\n        {\n          name: 'offset',\n          options: {\n            offset: offset,\n          },\n        },\n      ],\n      placement: getPlacement(placement, direction, alignment, isRTL(dropdownMenuRef.current)),\n    }\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    useEffect(() => {\n      if (_visible && dropdownToggleRef.current && dropdownMenuRef.current) {\n        popper && initPopper(dropdownToggleRef.current, dropdownMenuRef.current, popperConfig)\n        window.addEventListener('mouseup', handleMouseUp)\n        window.addEventListener('keyup', handleKeyup)\n        onShow && onShow()\n      }\n\n      return () => {\n        popper && destroyPopper()\n        window.removeEventListener('mouseup', handleMouseUp)\n        window.removeEventListener('keyup', handleKeyup)\n        onHide && onHide()\n      }\n    }, [_visible])\n\n    const handleKeyup = (event: KeyboardEvent) => {\n      if (autoClose === false) {\n        return\n      }\n\n      if (event.key === 'Escape') {\n        setVisible(false)\n      }\n    }\n\n    const handleMouseUp = (event: Event) => {\n      if (!dropdownToggleRef.current || !dropdownMenuRef.current) {\n        return\n      }\n\n      if (dropdownToggleRef.current.contains(event.target as HTMLElement)) {\n        return\n      }\n\n      if (\n        autoClose === true ||\n        (autoClose === 'inside' && dropdownMenuRef.current.contains(event.target as HTMLElement)) ||\n        (autoClose === 'outside' && !dropdownMenuRef.current.contains(event.target as HTMLElement))\n      ) {\n        setTimeout(() => setVisible(false), 1)\n        return\n      }\n    }\n\n    return (\n      <CDropdownContext.Provider value={contextValues}>\n        {variant === 'input-group' ? (\n          <>{children}</>\n        ) : (\n          <Component\n            className={classNames(\n              variant === 'nav-item' ? 'nav-item dropdown' : variant,\n              {\n                'dropdown-center': direction === 'center',\n                'dropup dropup-center': direction === 'dropup-center',\n                [`${direction}`]:\n                  direction && direction !== 'center' && direction !== 'dropup-center',\n                show: _visible,\n              },\n              className,\n            )}\n            {...rest}\n            ref={forkedRef}\n          >\n            {children}\n          </Component>\n        )}\n      </CDropdownContext.Provider>\n    )\n  },\n)\n\nconst alignmentDirection = PropTypes.oneOf<Directions>(['start', 'end'])\n\nCDropdown.propTypes = {\n  alignment: PropTypes.oneOfType([\n    alignmentDirection,\n    PropTypes.shape({ xs: alignmentDirection.isRequired }),\n    PropTypes.shape({ sm: alignmentDirection.isRequired }),\n    PropTypes.shape({ md: alignmentDirection.isRequired }),\n    PropTypes.shape({ lg: alignmentDirection.isRequired }),\n    PropTypes.shape({ xl: alignmentDirection.isRequired }),\n    PropTypes.shape({ xxl: alignmentDirection.isRequired }),\n  ]),\n  autoClose: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'inside' | 'outside'>(['inside', 'outside']),\n  ]),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n  dark: PropTypes.bool,\n  direction: PropTypes.oneOf(['center', 'dropup', 'dropup-center', 'dropend', 'dropstart']),\n  offset: PropTypes.any, // TODO: find good proptype\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  placement: placementPropType,\n  popper: PropTypes.bool,\n  portal: PropTypes.bool,\n  variant: PropTypes.oneOf(['btn-group', 'dropdown', 'input-group', 'nav-item']),\n  visible: PropTypes.bool,\n}\n\nCDropdown.displayName = 'CDropdown'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CDropdownDividerProps extends HTMLAttributes<HTMLHRElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CDropdownDivider = forwardRef<HTMLHRElement, CDropdownDividerProps>(\n  ({ className, ...rest }, ref) => {\n    return <hr className={classNames('dropdown-divider', className)} {...rest} ref={ref} />\n  },\n)\n\nCDropdownDivider.propTypes = {\n  className: PropTypes.string,\n}\n\nCDropdownDivider.displayName = 'CDropdownDivider'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CDropdownHeaderProps extends HTMLAttributes<HTMLHeadingElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CDropdownHeader = forwardRef<HTMLHeadingElement, CDropdownHeaderProps>(\n  ({ children, className, component: Component = 'h6', ...rest }, ref) => {\n    return (\n      <Component className={classNames('dropdown-header', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCDropdownHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCDropdownHeader.displayName = 'CDropdownHeader'\n","import React, { ElementType, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink, CLinkProps } from '../link/CLink'\n\nexport interface CDropdownItemProps extends CLinkProps {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CDropdownItem = forwardRef<HTMLButtonElement | HTMLAnchorElement, CDropdownItemProps>(\n  ({ children, className, component = 'a', ...rest }, ref) => {\n    return (\n      <CLink\n        className={classNames('dropdown-item', className)}\n        component={component}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </CLink>\n    )\n  },\n)\n\nCDropdownItem.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCDropdownItem.displayName = 'CDropdownItem'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CDropdownItemPlainProps extends HTMLAttributes<HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CDropdownItemPlain = forwardRef<HTMLSpanElement, CDropdownItemPlainProps>(\n  ({ children, className, component: Component = 'span', ...rest }, ref) => {\n    return (\n      <Component className={classNames('dropdown-item-text', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCDropdownItemPlain.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCDropdownItemPlain.displayName = 'CDropdownItemPlain'\n","import React, { ElementType, forwardRef, HTMLAttributes, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { Alignments, CDropdownContext } from './CDropdown'\nimport { CConditionalPortal } from '../conditional-portal'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CDropdownMenuProps extends HTMLAttributes<HTMLDivElement | HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nconst alignmentClassNames = (alignment: Alignments) => {\n  const classNames: string[] = []\n  if (typeof alignment === 'object') {\n    Object.keys(alignment).map((key) => {\n      classNames.push(`dropdown-menu${key === 'xs' ? '' : `-${key}`}-${alignment[key]}`)\n    })\n  }\n\n  if (typeof alignment === 'string') {\n    classNames.push(`dropdown-menu-${alignment}`)\n  }\n\n  return classNames\n}\n\nexport const CDropdownMenu = forwardRef<HTMLDivElement | HTMLUListElement, CDropdownMenuProps>(\n  ({ children, className, component: Component = 'ul', ...rest }, ref) => {\n    const { alignment, container, dark, dropdownMenuRef, popper, portal, visible } =\n      useContext(CDropdownContext)\n\n    const forkedRef = useForkedRef(ref, dropdownMenuRef)\n\n    return (\n      <CConditionalPortal container={container} portal={portal ?? false}>\n        <Component\n          className={classNames(\n            'dropdown-menu',\n            {\n              'dropdown-menu-dark': dark,\n              show: visible,\n            },\n            alignment && alignmentClassNames(alignment),\n            className,\n          )}\n          ref={forkedRef}\n          role=\"menu\"\n          aria-hidden={!visible}\n          {...(!popper && { 'data-coreui-popper': 'static' })}\n          {...rest}\n        >\n          {Component === 'ul'\n            ? React.Children.map(children, (child, index) => {\n                if (React.isValidElement(child)) {\n                  return <li key={index}>{React.cloneElement(child)}</li>\n                }\n                return\n              })\n            : children}\n        </Component>\n      </CConditionalPortal>\n    )\n  },\n)\n\nCDropdownMenu.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCDropdownMenu.displayName = 'CDropdownMenu'\n","import React, { FC, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CButton, CButtonProps } from '../button/CButton'\n\nimport { CDropdownContext } from './CDropdown'\n\nimport { triggerPropType } from '../../props'\nimport type { Triggers } from '../../types'\n\nexport interface CDropdownToggleProps extends Omit<CButtonProps, 'type'> {\n  /**\n   * Enables pseudo element caret on toggler.\n   */\n  caret?: boolean\n  /**\n   * Create a custom toggler which accepts any content.\n   */\n  custom?: boolean\n  /**\n   * Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` className for proper spacing around the dropdown caret.\n   */\n  split?: boolean\n  /**\n   * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n   *\n   * @type 'hover' | 'focus' | 'click'\n   */\n  trigger?: Triggers | Triggers[]\n}\n\nexport const CDropdownToggle: FC<CDropdownToggleProps> = ({\n  children,\n  caret = true,\n  custom,\n  className,\n  split,\n  trigger = 'click',\n  ...rest\n}) => {\n  const { dropdownToggleRef, variant, visible, setVisible } = useContext(CDropdownContext)\n\n  const triggers = {\n    ...((trigger === 'click' || trigger.includes('click')) && {\n      onClick: (event: React.MouseEvent<HTMLElement>) => {\n        event.preventDefault()\n        setVisible(!visible)\n      },\n    }),\n    ...((trigger === 'focus' || trigger.includes('focus')) && {\n      onFocus: () => setVisible(true),\n      onBlur: () => setVisible(false),\n    }),\n  }\n\n  const togglerProps = {\n    className: classNames(\n      {\n        'dropdown-toggle': caret,\n        'dropdown-toggle-split': split,\n        'nav-link': variant === 'nav-item',\n      },\n      className,\n    ),\n    'aria-expanded': visible,\n    ...(!rest.disabled && { ...triggers }),\n  }\n\n  // We use any because Toggler can be `a` as well as `button`.\n  const Toggler = () => {\n    if (custom && React.isValidElement(children)) {\n      return (\n        <>\n          {React.cloneElement(children as React.ReactElement<any>, {\n            'aria-expanded': visible,\n            ...(!rest.disabled && { ...triggers }),\n            ref: dropdownToggleRef,\n          })}\n        </>\n      )\n    }\n\n    if (variant === 'nav-item') {\n      return (\n        <a href=\"#\" {...togglerProps} ref={dropdownToggleRef}>\n          {children}\n        </a>\n      )\n    }\n\n    return (\n      <CButton type=\"button\" {...togglerProps} tabIndex={0} {...rest} ref={dropdownToggleRef}>\n        {children}\n        {split && <span className=\"visually-hidden\">Toggle Dropdown</span>}\n      </CButton>\n    )\n  }\n\n  return <Toggler />\n}\n\nCDropdownToggle.propTypes = {\n  caret: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  custom: PropTypes.bool,\n  split: PropTypes.bool,\n  trigger: triggerPropType,\n}\n\nCDropdownToggle.displayName = 'CDropdownToggle'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CSpinnerProps extends HTMLAttributes<HTMLDivElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Size the component small.\n   */\n  size?: 'sm'\n  /**\n   * Set the button variant to an outlined button or a ghost button.\n   */\n  variant?: 'border' | 'grow'\n  /**\n   * Set visually hidden label for accessibility purposes.\n   */\n  visuallyHiddenLabel?: string\n}\n\nexport const CSpinner = forwardRef<HTMLDivElement | HTMLSpanElement, CSpinnerProps>(\n  (\n    {\n      className,\n      color,\n      component: Component = 'div',\n      size,\n      variant = 'border',\n      visuallyHiddenLabel = 'Loading...',\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <Component\n        className={classNames(\n          `spinner-${variant}`,\n          {\n            [`spinner-${variant}-${size}`]: size,\n            [`text-${color}`]: color,\n          },\n          className,\n        )}\n        role=\"status\"\n        {...rest}\n        ref={ref}\n      >\n        <span className=\"visually-hidden\">{visuallyHiddenLabel}</span>\n      </Component>\n    )\n  },\n)\n\nCSpinner.propTypes = {\n  className: PropTypes.string,\n  color: colorPropType,\n  component: PropTypes.string,\n  size: PropTypes.oneOf(['sm']),\n  variant: PropTypes.oneOf(['border', 'grow']),\n  visuallyHiddenLabel: PropTypes.string,\n}\n\nCSpinner.displayName = 'CSpinner'\n","import PropTypes from 'prop-types'\nimport React, {\n  CSSProperties,\n  forwardRef,\n  HTMLAttributes,\n  useEffect,\n  useRef,\n  useState,\n} from 'react'\nimport classNames from 'classnames'\n\nimport { useForkedRef } from '../../hooks'\nimport { CSpinner } from '../spinner/CSpinner'\n\ninterface CElementCoverProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Array of custom boundaries. Use to create custom cover area (instead of parent element area). Area is defined by four sides: 'top', 'bottom', 'right', 'left'. If side is not defined by any custom boundary it is equal to parent element boundary. Each custom boundary is object with keys:\n   * - sides (array) - select boundaries of element to define boundaries. Sides names: 'top', 'bottom', 'right', 'left'.\n   * - query (string) - query used to get element which define boundaries. Search will be done only inside parent element, by parent.querySelector(query) function.\n   */\n  boundaries?: { sides: string[]; query: string }[]\n  /**\n   * Opacity of the cover.\n   */\n  opacity?: number\n}\nexport const CElementCover = forwardRef<HTMLDivElement, CElementCoverProps>(\n  ({ children, className, boundaries, opacity = 0.4, ...rest }, ref) => {\n    const elementCoverRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, elementCoverRef)\n    const [customBoundaries, setCustomBoundaries] = useState({})\n\n    const getCustomBoundaries = () => {\n      if (!elementCoverRef || !elementCoverRef.current || !boundaries) {\n        return {}\n      }\n\n      const parent = elementCoverRef.current.parentElement\n      if (!parent) {\n        return {}\n      }\n\n      const parentCoords = parent.getBoundingClientRect()\n      const customBoundaries = {}\n      boundaries.forEach(({ sides, query }) => {\n        const element = parent.querySelector(query)\n        if (!element || !sides) {\n          return\n        }\n\n        const coords = element.getBoundingClientRect()\n        sides.forEach((side) => {\n          const sideMargin = Math.abs(coords[side] - parentCoords[side])\n          customBoundaries[side] = `${sideMargin}px`\n        })\n      })\n      return customBoundaries\n    }\n\n    useEffect(() => {\n      setCustomBoundaries(getCustomBoundaries())\n    }, [JSON.stringify(getCustomBoundaries())])\n\n    const classes = classNames(className)\n\n    const containerCoords = {\n      top: 0,\n      left: 0,\n      right: 0,\n      bottom: 0,\n      ...customBoundaries,\n    }\n\n    const coverStyles: CSSProperties = {\n      ...containerCoords,\n      position: 'absolute',\n      zIndex: 2,\n      backgroundColor: `rgba(255,255,255,${opacity})`,\n    }\n\n    return (\n      <div className={classes} style={coverStyles} {...rest} ref={forkedRef}>\n        <div\n          style={{\n            position: 'absolute',\n            top: '50%',\n            left: '50%',\n            transform: 'translateX(-50%) translateY(-50%)',\n          }}\n        >\n          {children || <CSpinner variant=\"grow\" color=\"primary\" />}\n        </div>\n      </div>\n    )\n  },\n)\n\nCElementCover.propTypes = {\n  boundaries: PropTypes.array,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  opacity: PropTypes.number,\n}\n\nCElementCover.displayName = 'CElementCover'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CFooterProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Place footer in non-static positions.\n   */\n  position?: 'fixed' | 'sticky'\n}\n\nexport const CFooter = forwardRef<HTMLDivElement, CFooterProps>(\n  ({ children, className, position, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames('footer', { [`footer-${position}`]: position }, className)}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCFooter.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  position: PropTypes.oneOf(['fixed', 'sticky']),\n}\n\nCFooter.displayName = 'CFooter'\n","import React, { forwardRef, FormHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CFormProps extends FormHTMLAttributes<HTMLFormElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Mark a form as validated. If you set it `true`, all validation styles will be applied to the forms component.\n   */\n  validated?: boolean\n}\n\nexport const CForm = forwardRef<HTMLFormElement, CFormProps>(\n  ({ children, className, validated, ...rest }, ref) => {\n    return (\n      <form\n        className={classNames({ 'was-validated': validated }, className) || undefined}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </form>\n    )\n  },\n)\n\nCForm.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  validated: PropTypes.bool,\n}\n\nCForm.displayName = 'CForm'\n","import React, { forwardRef, InputHTMLAttributes, ReactNode, useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CFormControlValidation, CFormControlValidationProps } from './CFormControlValidation'\nimport { CFormLabel } from './CFormLabel'\n\nimport { useForkedRef } from '../../hooks'\nimport type { Colors, Shapes } from '../../types'\n\nexport type ButtonObject = {\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Select the shape of the component.\n   *\n   * @type 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string\n   */\n  shape?: Shapes\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Set the button variant to an outlined button or a ghost button.\n   */\n  variant?: 'outline' | 'ghost'\n}\n\nexport interface CFormCheckProps\n  extends CFormControlValidationProps,\n    InputHTMLAttributes<HTMLInputElement> {\n  /**\n   * Create button-like checkboxes and radio buttons.\n   */\n  button?: ButtonObject\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets hit area to the full area of the component.\n   */\n  hitArea?: 'full'\n  /**\n   * The id global attribute defines an identifier (ID) that must be unique in the whole document.\n   */\n  id?: string\n  /**\n   * Input Checkbox indeterminate Property.\n   */\n  indeterminate?: boolean\n  /**\n   * Group checkboxes or radios on the same horizontal row.\n   */\n  inline?: boolean\n  /**\n   * Set component validation state to invalid.\n   */\n  invalid?: boolean\n  /**\n   * The element represents a caption for a component.\n   */\n  label?: string | ReactNode\n  /**\n   * Put checkboxes or radios on the opposite side.\n   *\n   * @sinve 4.7.0\n   */\n  reverse?: boolean\n  /**\n   * Specifies the type of component.\n   */\n  type?: 'checkbox' | 'radio'\n  /**\n   * Set component validation state to valid.\n   */\n  valid?: boolean\n}\n\nexport const CFormCheck = forwardRef<HTMLInputElement, CFormCheckProps>(\n  (\n    {\n      className,\n      button,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      floatingLabel,\n      tooltipFeedback,\n      hitArea,\n      id,\n      indeterminate,\n      inline,\n      invalid,\n      label,\n      reverse,\n      type = 'checkbox',\n      valid,\n      ...rest\n    },\n    ref,\n  ) => {\n    const inputRef = useRef<HTMLInputElement>(null)\n    const forkedRef = useForkedRef(ref, inputRef)\n\n    useEffect(() => {\n      if (inputRef.current && indeterminate) {\n        inputRef.current.indeterminate = indeterminate\n      }\n    }, [indeterminate, inputRef.current])\n\n    const FormControl = () => (\n      <input\n        type={type}\n        className={classNames(button ? 'btn-check' : 'form-check-input', {\n          'is-invalid': invalid,\n          'is-valid': valid,\n          'me-2': hitArea,\n        })}\n        id={id}\n        {...rest}\n        ref={forkedRef}\n      />\n    )\n\n    const FormValidation = () => (\n      <CFormControlValidation\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        floatingLabel={floatingLabel}\n        invalid={invalid}\n        tooltipFeedback={tooltipFeedback}\n        valid={valid}\n      />\n    )\n\n    const FormLabel = () => (\n      <CFormLabel\n        customClassName={classNames(\n          button\n            ? classNames(\n                'btn',\n                button.variant ? `btn-${button.variant}-${button.color}` : `btn-${button.color}`,\n                {\n                  [`btn-${button.size}`]: button.size,\n                },\n                `${button.shape}`,\n              )\n            : 'form-check-label',\n        )}\n        {...(id && { htmlFor: id })}\n      >\n        {label}\n      </CFormLabel>\n    )\n\n    const FormCheck = () => {\n      if (button) {\n        return (\n          <>\n            <FormControl />\n            {label && <FormLabel />}\n            <FormValidation />\n          </>\n        )\n      }\n\n      if (label) {\n        return hitArea ? (\n          <>\n            <FormControl />\n            <CFormLabel\n              customClassName={classNames('form-check-label stretched-link', className)}\n              {...(id && { htmlFor: id })}\n            >\n              {label}\n            </CFormLabel>\n            <FormValidation />\n          </>\n        ) : (\n          <div\n            className={classNames(\n              'form-check',\n              {\n                'form-check-inline': inline,\n                'form-check-reverse': reverse,\n                'is-invalid': invalid,\n                'is-valid': valid,\n              },\n              className,\n            )}\n          >\n            <FormControl />\n            <FormLabel />\n            <FormValidation />\n          </div>\n        )\n      }\n\n      return <FormControl />\n    }\n\n    return <FormCheck />\n  },\n)\n\nCFormCheck.propTypes = {\n  button: PropTypes.object,\n  className: PropTypes.string,\n  hitArea: PropTypes.oneOf(['full']),\n  id: PropTypes.string,\n  indeterminate: PropTypes.bool,\n  inline: PropTypes.bool,\n  label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  reverse: PropTypes.bool,\n  type: PropTypes.oneOf(['checkbox', 'radio']),\n  ...CFormControlValidation.propTypes,\n}\n\nCFormCheck.displayName = 'CFormCheck'\n","import React, {\n  ChangeEventHandler,\n  forwardRef,\n  InputHTMLAttributes,\n  useEffect,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CFormControlWrapper, CFormControlWrapperProps } from './CFormControlWrapper'\n\nexport interface CFormInputProps\n  extends CFormControlWrapperProps,\n    Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Delay onChange event while typing. If set to true onChange event will be delayed 500ms, you can also provide the number of milliseconds you want to delay the onChange event.\n   */\n  delay?: boolean | number\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * Method called immediately after the `value` prop changes.\n   */\n  onChange?: ChangeEventHandler<HTMLInputElement>\n  /**\n   * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use only along side `readonly`.\n   */\n  plainText?: boolean\n  /**\n   * Toggle the readonly state for the component.\n   */\n  readOnly?: boolean\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Specifies the type of component.\n   */\n  type?: 'color' | 'file' | 'text' | string\n  /**\n   * The `value` attribute of component.\n   *\n   * @controllable onChange\n   * */\n  value?: string | string[] | number\n}\n\nexport const CFormInput = forwardRef<HTMLInputElement, CFormInputProps>(\n  (\n    {\n      children,\n      className,\n      delay = false,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      floatingClassName,\n      floatingLabel,\n      id,\n      invalid,\n      label,\n      onChange,\n      plainText,\n      size,\n      text,\n      tooltipFeedback,\n      type = 'text',\n      valid,\n      ...rest\n    },\n    ref,\n  ) => {\n    const [value, setValue] = useState<React.ChangeEvent<HTMLInputElement>>()\n\n    useEffect(() => {\n      const timeOutId = setTimeout(\n        () => value && onChange && onChange(value),\n        typeof delay === 'number' ? delay : 500,\n      )\n\n      return () => clearTimeout(timeOutId)\n    }, [value])\n\n    return (\n      <CFormControlWrapper\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        floatingClassName={floatingClassName}\n        floatingLabel={floatingLabel}\n        id={id}\n        invalid={invalid}\n        label={label}\n        text={text}\n        tooltipFeedback={tooltipFeedback}\n        valid={valid}\n      >\n        <input\n          className={classNames(\n            plainText ? 'form-control-plaintext' : 'form-control',\n            {\n              [`form-control-${size}`]: size,\n              'form-control-color': type === 'color',\n              'is-invalid': invalid,\n              'is-valid': valid,\n            },\n            className,\n          )}\n          id={id}\n          type={type}\n          onChange={(event) => (delay ? setValue(event) : onChange && onChange(event))}\n          {...rest}\n          ref={ref}\n        >\n          {children}\n        </input>\n      </CFormControlWrapper>\n    )\n  },\n)\n\nCFormInput.propTypes = {\n  className: PropTypes.string,\n  id: PropTypes.string,\n  delay: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n  plainText: PropTypes.bool,\n  size: PropTypes.oneOf(['sm', 'lg']),\n  type: PropTypes.oneOfType([PropTypes.oneOf(['color', 'file', 'text']), PropTypes.string]),\n  ...CFormControlWrapper.propTypes,\n}\n\nCFormInput.displayName = 'CFormInput'\n","import React, { ChangeEventHandler, forwardRef, InputHTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CFormLabel } from './CFormLabel'\nexport interface CFormRangeProps extends InputHTMLAttributes<HTMLInputElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * Add a caption for a component.\n   *\n   * @since 4.2.0\n   */\n  label?: ReactNode | string\n  /**\n   * Specifies the maximum value for the component.\n   */\n  max?: number\n  /**\n   * Specifies the minimum value for the component.\n   */\n  min?: number\n  /**\n   * Method called immediately after the `value` prop changes.\n   */\n  onChange?: ChangeEventHandler<HTMLInputElement>\n  /**\n   * Toggle the readonly state for the component.\n   */\n  readOnly?: boolean\n  /**\n   * Specifies the interval between legal numbers in the component.\n   */\n  step?: number\n  /**\n   * The `value` attribute of component.\n   *\n   * @controllable onChange\n   * */\n  value?: string | string[] | number\n}\n\nexport const CFormRange = forwardRef<HTMLInputElement, CFormRangeProps>(\n  ({ className, label, ...rest }, ref) => {\n    return (\n      <>\n        {label && <CFormLabel htmlFor={rest.id}>{label}</CFormLabel>}\n        <input type=\"range\" className={classNames('form-range', className)} {...rest} ref={ref} />\n      </>\n    )\n  },\n)\n\nCFormRange.propTypes = {\n  className: PropTypes.string,\n  label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n}\n\nCFormRange.displayName = 'CFormRange'\n","import React, { ChangeEventHandler, forwardRef, InputHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CFormControlWrapper, CFormControlWrapperProps } from './CFormControlWrapper'\n\ntype Option = {\n  disabled?: boolean\n  label?: string\n  value?: string\n}\n\nexport interface CFormSelectProps\n  extends CFormControlWrapperProps,\n    Omit<InputHTMLAttributes<HTMLSelectElement>, 'size'> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Specifies the number of visible options in a drop-down list.\n   */\n  htmlSize?: number\n  /**\n   * Method called immediately after the `value` prop changes.\n   */\n  onChange?: ChangeEventHandler<HTMLSelectElement>\n  /**\n   * Options list of the select component. Available keys: `label`, `value`, `disabled`.\n   * Examples:\n   * - `options={[{ value: 'js', label: 'JavaScript' }, { value: 'html', label: 'HTML', disabled: true }]}`\n   * - `options={['js', 'html']}`\n   */\n  options?: Option[] | string[]\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * The `value` attribute of component.\n   *\n   * @controllable onChange\n   */\n  value?: string | string[] | number\n}\n\nexport const CFormSelect = forwardRef<HTMLSelectElement, CFormSelectProps>(\n  (\n    {\n      children,\n      className,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      floatingClassName,\n      floatingLabel,\n      htmlSize,\n      id,\n      invalid,\n      label,\n      options,\n      size,\n      text,\n      tooltipFeedback,\n      valid,\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <CFormControlWrapper\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        floatingClassName={floatingClassName}\n        floatingLabel={floatingLabel}\n        id={id}\n        invalid={invalid}\n        label={label}\n        text={text}\n        tooltipFeedback={tooltipFeedback}\n        valid={valid}\n      >\n        <select\n          id={id}\n          className={classNames(\n            'form-select',\n            {\n              [`form-select-${size}`]: size,\n              'is-invalid': invalid,\n              'is-valid': valid,\n            },\n            className,\n          )}\n          size={htmlSize}\n          {...rest}\n          ref={ref}\n        >\n          {options\n            ? options.map((option, index) => {\n                return (\n                  <option\n                    {...(typeof option === 'object' &&\n                      option.disabled && { disabled: option.disabled })}\n                    {...(typeof option === 'object' &&\n                      option.value !== undefined && { value: option.value })}\n                    key={index}\n                  >\n                    {typeof option === 'string' ? option : option.label}\n                  </option>\n                )\n              })\n            : children}\n        </select>\n      </CFormControlWrapper>\n    )\n  },\n)\n\nCFormSelect.propTypes = {\n  className: PropTypes.string,\n  htmlSize: PropTypes.number,\n  options: PropTypes.array,\n  ...CFormControlWrapper.propTypes,\n}\n\nCFormSelect.displayName = 'CFormSelect'\n","import React, { forwardRef, InputHTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CFormLabel } from './CFormLabel'\n\nexport interface CFormSwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * The id global attribute defines an identifier (ID) that must be unique in the whole document.\n   */\n  id?: string\n  /**\n   * Set component validation state to invalid.\n   */\n  invalid?: boolean\n  /**\n   * The element represents a caption for a component.\n   */\n  label?: string | ReactNode\n  /**\n   * Put switch on the opposite side.\n   *\n   * @sinve 4.7.0\n   */\n  reverse?: boolean\n  /**\n   * Size the component large or extra large. Works only with `switch`.\n   */\n  size?: 'lg' | 'xl'\n  /**\n   * Specifies the type of component.\n   */\n  type?: 'checkbox' | 'radio'\n  /**\n   * Set component validation state to valid.\n   */\n  valid?: boolean\n}\n\nexport const CFormSwitch = forwardRef<HTMLInputElement, CFormSwitchProps>(\n  ({ className, id, invalid, label, reverse, size, type = 'checkbox', valid, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames(\n          'form-check form-switch',\n          {\n            'form-check-reverse': reverse,\n            [`form-switch-${size}`]: size,\n            'is-invalid': invalid,\n            'is-valid': valid,\n          },\n          className,\n        )}\n      >\n        <input\n          type={type}\n          className={classNames('form-check-input', {\n            'is-invalid': invalid,\n            'is-valid': valid,\n          })}\n          id={id}\n          {...rest}\n          ref={ref}\n        />\n        {label && (\n          <CFormLabel customClassName=\"form-check-label\" {...(id && { htmlFor: id })}>\n            {label}\n          </CFormLabel>\n        )}\n      </div>\n    )\n  },\n)\n\nCFormSwitch.propTypes = {\n  className: PropTypes.string,\n  id: PropTypes.string,\n  invalid: PropTypes.bool,\n  label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  reverse: PropTypes.bool,\n  size: PropTypes.oneOf(['lg', 'xl']),\n  type: PropTypes.oneOf(['checkbox', 'radio']),\n  valid: PropTypes.bool,\n}\n\nCFormSwitch.displayName = 'CFormSwitch'\n","import React, { ChangeEventHandler, forwardRef, TextareaHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CFormControlWrapper, CFormControlWrapperProps } from './CFormControlWrapper'\n\nexport interface CFormTextareaProps\n  extends CFormControlWrapperProps,\n    TextareaHTMLAttributes<HTMLTextAreaElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * Method called immediately after the `value` prop changes.\n   */\n  onChange?: ChangeEventHandler<HTMLTextAreaElement>\n  /**\n   * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use only along side `readonly`.\n   */\n  plainText?: boolean\n  /**\n   * Toggle the readonly state for the component.\n   */\n  readOnly?: boolean\n  /**\n   * The `value` attribute of component.\n   *\n   * @controllable onChange\n   * */\n  value?: string | string[] | number\n}\n\nexport const CFormTextarea = forwardRef<HTMLTextAreaElement, CFormTextareaProps>(\n  (\n    {\n      children,\n      className,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      floatingClassName,\n      floatingLabel,\n      id,\n      invalid,\n      label,\n      plainText,\n      text,\n      tooltipFeedback,\n      valid,\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <CFormControlWrapper\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        floatingClassName={floatingClassName}\n        floatingLabel={floatingLabel}\n        id={id}\n        invalid={invalid}\n        label={label}\n        text={text}\n        tooltipFeedback={tooltipFeedback}\n        valid={valid}\n      >\n        <textarea\n          className={classNames(\n            plainText ? 'form-control-plaintext' : 'form-control',\n            {\n              'is-invalid': invalid,\n              'is-valid': valid,\n            },\n            className,\n          )}\n          id={id}\n          {...rest}\n          ref={ref}\n        >\n          {children}\n        </textarea>\n      </CFormControlWrapper>\n    )\n  },\n)\n\nCFormTextarea.propTypes = {\n  className: PropTypes.string,\n  id: PropTypes.string,\n  plainText: PropTypes.bool,\n  ...CFormControlWrapper.propTypes,\n}\n\nCFormTextarea.displayName = 'CFormTextarea'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CInputGroupProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n}\n\nexport const CInputGroup = forwardRef<HTMLDivElement, CInputGroupProps>(\n  ({ children, className, size, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames(\n          'input-group',\n          {\n            [`input-group-${size}`]: size,\n          },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCInputGroup.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  size: PropTypes.oneOf(['sm', 'lg']),\n}\n\nCInputGroup.displayName = 'CInputGroup'\n","import React, { ElementType, forwardRef, LabelHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CInputGroupTextProps\n  extends LabelHTMLAttributes<HTMLLabelElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CInputGroupText = forwardRef<HTMLLabelElement | HTMLSpanElement, CInputGroupTextProps>(\n  ({ children, className, component: Component = 'span', ...rest }, ref) => {\n    return (\n      <Component className={classNames('input-group-text', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCInputGroupText.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCInputGroupText.displayName = 'CInputGroupText'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\ntype Span = 'auto' | number | string | boolean | null\n\ntype BPObject = {\n  span?: Span\n  offset?: number | string | null\n  order?: 'first' | 'last' | number | string | null\n}\n\ntype Col = Span | BPObject\n\nexport interface CColProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * The number of columns/offset/order on extra small devices (<576px).\n   *\n   * @type { 'auto' | number | string | boolean | { span: 'auto' | number | string | boolean } | { offset: number | string } | { order: 'first' | 'last' | number | string }}\n   */\n  xs?: Col\n  /**\n   * The number of columns/offset/order on small devices (<768px).\n   *\n   * @type { 'auto' | number | string | boolean | { span: 'auto' | number | string | boolean } | { offset: number | string } | { order: 'first' | 'last' | number | string }}\n   */\n  sm?: Col\n  /**\n   * The number of columns/offset/order on medium devices (<992px).\n   *\n   * @type { 'auto' | number | string | boolean | { span: 'auto' | number | string | boolean } | { offset: number | string } | { order: 'first' | 'last' | number | string }}\n   */\n  md?: Col\n  /**\n   * The number of columns/offset/order on large devices (<1200px).\n   *\n   * @type { 'auto' | number | string | boolean | { span: 'auto' | number | string | boolean } | { offset: number | string } | { order: 'first' | 'last' | number | string }}\n   */\n  lg?: Col\n  /**\n   * The number of columns/offset/order on X-Large devices (<1400px).\n   *\n   * @type { 'auto' | number | string | boolean | { span: 'auto' | number | string | boolean } | { offset: number | string } | { order: 'first' | 'last' | number | string }}\n   */\n  xl?: Col\n  /**\n   * The number of columns/offset/order on XX-Large devices (≥1400px).\n   *\n   * @type { 'auto' | number | string | boolean | { span: 'auto' | number | string | boolean } | { offset: number | string } | { order: 'first' | 'last' | number | string }}\n   */\n  xxl?: Col\n}\n\nconst BREAKPOINTS = [\n  'xxl' as const,\n  'xl' as const,\n  'lg' as const,\n  'md' as const,\n  'sm' as const,\n  'xs' as const,\n]\n\nexport const CCol = forwardRef<HTMLDivElement, CColProps>(\n  ({ children, className, ...rest }, ref) => {\n    const repsonsiveClassNames: string[] = []\n\n    BREAKPOINTS.forEach((bp) => {\n      const breakpoint = rest[bp]\n      delete rest[bp]\n\n      const infix = bp === 'xs' ? '' : `-${bp}`\n\n      if (typeof breakpoint === 'number' || typeof breakpoint === 'string') {\n        repsonsiveClassNames.push(`col${infix}-${breakpoint}`)\n      }\n\n      if (typeof breakpoint === 'boolean') {\n        repsonsiveClassNames.push(`col${infix}`)\n      }\n\n      if (breakpoint && typeof breakpoint === 'object') {\n        if (typeof breakpoint.span === 'number' || typeof breakpoint.span === 'string') {\n          repsonsiveClassNames.push(`col${infix}-${breakpoint.span}`)\n        }\n\n        if (typeof breakpoint.span === 'boolean') {\n          repsonsiveClassNames.push(`col${infix}`)\n        }\n\n        if (typeof breakpoint.order === 'number' || typeof breakpoint.order === 'string') {\n          repsonsiveClassNames.push(`order${infix}-${breakpoint.order}`)\n        }\n\n        if (typeof breakpoint.offset === 'number') {\n          repsonsiveClassNames.push(`offset${infix}-${breakpoint.offset}`)\n        }\n      }\n    })\n\n    return (\n      <div\n        className={classNames(\n          repsonsiveClassNames.length > 0 ? repsonsiveClassNames : 'col',\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nconst span = PropTypes.oneOfType([\n  PropTypes.bool,\n  PropTypes.number,\n  PropTypes.string,\n  PropTypes.oneOf(['auto']),\n])\n\nconst col = PropTypes.oneOfType([\n  span,\n  PropTypes.shape({\n    span: span,\n    offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n    order: PropTypes.oneOfType([\n      PropTypes.oneOf(['first', 'last']),\n      PropTypes.number,\n      PropTypes.string,\n    ]),\n  }),\n])\n\nCCol.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  xs: col,\n  sm: col,\n  md: col,\n  lg: col,\n  xl: col,\n  xxl: col,\n}\n\nCCol.displayName = 'CCol'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CContainerProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Set container 100% wide until small breakpoint.\n   */\n  sm?: boolean\n  /**\n   * Set container 100% wide until medium breakpoint.\n   */\n  md?: boolean\n  /**\n   * Set container 100% wide until large breakpoint.\n   */\n  lg?: boolean\n  /**\n   * Set container 100% wide until X-large breakpoint.\n   */\n  xl?: boolean\n  /**\n   * Set container 100% wide until XX-large breakpoint.\n   */\n  xxl?: boolean\n  /**\n   * Set container 100% wide, spanning the entire width of the viewport.\n   */\n  fluid?: boolean\n}\n\nconst BREAKPOINTS = [\n  'xxl' as const,\n  'xl' as const,\n  'lg' as const,\n  'md' as const,\n  'sm' as const,\n  'fluid' as const,\n]\n\nexport const CContainer = forwardRef<HTMLDivElement, CContainerProps>(\n  ({ children, className, ...rest }, ref) => {\n    const repsonsiveClassNames: string[] = []\n\n    BREAKPOINTS.forEach((bp) => {\n      const breakpoint = rest[bp]\n      delete rest[bp]\n\n      breakpoint && repsonsiveClassNames.push(`container-${bp}`)\n    })\n\n    return (\n      <div\n        className={classNames(\n          repsonsiveClassNames.length > 0 ? repsonsiveClassNames : 'container',\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCContainer.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  sm: PropTypes.bool,\n  md: PropTypes.bool,\n  lg: PropTypes.bool,\n  xl: PropTypes.bool,\n  xxl: PropTypes.bool,\n  fluid: PropTypes.bool,\n}\n\nCContainer.displayName = 'CContainer'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport type BPObject = {\n  cols?: 'auto' | number | string | null\n  gutter?: number | string | null\n  gutterX?: number | string | null\n  gutterY?: number | string | null\n}\n\nexport interface CRowProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * The number of columns/offset/order on extra small devices (<576px).\n   *\n   * @type {{ cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }}\n   */\n  xs?: BPObject\n  /**\n   * The number of columns/offset/order on small devices (<768px).\n   *\n   * @type {{ cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }}\n   */\n  sm?: BPObject\n  /**\n   * The number of columns/offset/order on medium devices (<992px).\n   *\n   * @type {{ cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }}\n   */\n  md?: BPObject\n  /**\n   * The number of columns/offset/order on large devices (<1200px).\n   *\n   * @type {{ cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }}\n   */\n  lg?: BPObject\n  /**\n   * The number of columns/offset/order on X-Large devices (<1400px).\n   *\n   * @type {{ cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }}\n   */\n  xl?: BPObject\n  /**\n   * The number of columns/offset/order on XX-Large devices (≥1400px).\n   *\n   * @type {{ cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }}\n   */\n  xxl?: BPObject\n}\n\nconst BREAKPOINTS = [\n  'xxl' as const,\n  'xl' as const,\n  'lg' as const,\n  'md' as const,\n  'sm' as const,\n  'xs' as const,\n]\n\nexport const CRow = forwardRef<HTMLDivElement, CRowProps>(\n  ({ children, className, ...rest }, ref) => {\n    const repsonsiveClassNames: string[] = []\n\n    BREAKPOINTS.forEach((bp) => {\n      const breakpoint = rest[bp]\n      delete rest[bp]\n\n      const infix = bp === 'xs' ? '' : `-${bp}`\n\n      if (typeof breakpoint === 'object') {\n        if (breakpoint.cols) {\n          repsonsiveClassNames.push(`row-cols${infix}-${breakpoint.cols}`)\n        }\n\n        if (typeof breakpoint.gutter === 'number') {\n          repsonsiveClassNames.push(`g${infix}-${breakpoint.gutter}`)\n        }\n\n        if (typeof breakpoint.gutterX === 'number') {\n          repsonsiveClassNames.push(`gx${infix}-${breakpoint.gutterX}`)\n        }\n\n        if (typeof breakpoint.gutterY === 'number') {\n          repsonsiveClassNames.push(`gy${infix}-${breakpoint.gutterY}`)\n        }\n      }\n    })\n\n    return (\n      <div className={classNames('row', repsonsiveClassNames, className)} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nconst bp = PropTypes.shape({\n  cols: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.string]),\n  gutter: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n  gutterX: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n  gutterY: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n})\n\nCRow.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  xs: bp,\n  sm: bp,\n  md: bp,\n  lg: bp,\n  xl: bp,\n  xxl: bp,\n}\n\nCRow.displayName = 'CRow'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CHeaderProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Defines optional container wrapping children elements.\n   */\n  container?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'\n  /**\n   * Place header in non-static positions.\n   */\n  position?: 'fixed' | 'sticky'\n}\n\nexport const CHeader = forwardRef<HTMLDivElement, CHeaderProps>(\n  ({ children, className, container, position, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames('header', { [`header-${position}`]: position }, className)}\n        {...rest}\n        ref={ref}\n      >\n        {container ? (\n          <div className={typeof container === 'string' ? `container-${container}` : 'container'}>\n            {children}\n          </div>\n        ) : (\n          <>{children}</>\n        )}\n      </div>\n    )\n  },\n)\n\nCHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  container: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'>([\n      'sm',\n      'md',\n      'lg',\n      'xl',\n      'xxl',\n      'fluid',\n    ]),\n  ]),\n  position: PropTypes.oneOf(['fixed', 'sticky']),\n}\n\nCHeader.displayName = 'CHeader'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CHeaderBrandProps\n  extends HTMLAttributes<HTMLAnchorElement | HTMLLinkElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * The href attribute specifies the URL of the page the link goes to.\n   */\n  href?: string\n}\n\nexport const CHeaderBrand = forwardRef<\n  HTMLAnchorElement | HTMLLinkElement | HTMLSpanElement,\n  CHeaderBrandProps\n>(({ children, component: Component = 'a', className, ...rest }, ref) => {\n  return (\n    <Component className={classNames('header-brand', className)} {...rest} ref={ref}>\n      {children}\n    </Component>\n  )\n})\n\nCHeaderBrand.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCHeaderBrand.displayName = 'CHeaderBrand'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CHeaderDividerProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CHeaderDivider = forwardRef<HTMLDivElement, CHeaderDividerProps>(\n  ({ className, ...rest }, ref) => {\n    return <div className={classNames('header-divider', className)} {...rest} ref={ref} />\n  },\n)\n\nCHeaderDivider.propTypes = {\n  className: PropTypes.string,\n}\n\nCHeaderDivider.displayName = 'CHeaderDivider'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CHeaderNavProps extends HTMLAttributes<HTMLDivElement | HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CHeaderNav = forwardRef<HTMLDivElement | HTMLUListElement, CHeaderNavProps>(\n  ({ children, component: Component = 'ul', className, ...rest }, ref) => {\n    return (\n      <Component\n        className={classNames('header-nav', className)}\n        role=\"navigation\"\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCHeaderNav.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCHeaderNav.displayName = 'CHeaderNav'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CHeaderTextProps extends HTMLAttributes<HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CHeaderText = forwardRef<HTMLSpanElement, CHeaderTextProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <span className={classNames('header-text', className)} {...rest} ref={ref}>\n        {children}\n      </span>\n    )\n  },\n)\n\nCHeaderText.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCHeaderText.displayName = 'CHeaderText'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CHeaderTogglerProps extends HTMLAttributes<HTMLButtonElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CHeaderToggler = forwardRef<HTMLButtonElement, CHeaderTogglerProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <button type=\"button\" className={classNames('header-toggler', className)} {...rest} ref={ref}>\n        {children ?? <span className=\"header-toggler-icon\"></span>}\n      </button>\n    )\n  },\n)\n\nCHeaderToggler.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCHeaderToggler.displayName = 'CHeaderToggler'\n","import React, { forwardRef, ImgHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CImageProps extends ImgHTMLAttributes<HTMLOrSVGImageElement> {\n  /**\n   * Set the horizontal aligment.\n   */\n  align?: 'start' | 'center' | 'end'\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Make image responsive.\n   */\n  fluid?: boolean\n  /**\n   * Make image rounded.\n   */\n  rounded?: boolean\n  /**\n   * Give an image a rounded 1px border appearance.\n   */\n  thumbnail?: boolean\n}\n\nexport const CImage = forwardRef<HTMLImageElement, CImageProps>(\n  ({ align, className, fluid, rounded, thumbnail, ...rest }, ref) => {\n    return (\n      <img\n        className={\n          classNames(\n            {\n              [`float-${align}`]: align && (align === 'start' || align === 'end'),\n              'd-block mx-auto': align && align === 'center',\n              'img-fluid': fluid,\n              rounded: rounded,\n              'img-thumbnail': thumbnail,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      />\n    )\n  },\n)\n\nCImage.propTypes = {\n  align: PropTypes.oneOf(['start', 'center', 'end']),\n  className: PropTypes.string,\n  fluid: PropTypes.bool,\n  rounded: PropTypes.bool,\n  thumbnail: PropTypes.bool,\n}\n\nCImage.displayName = 'CImage'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CListGroupProps extends HTMLAttributes<HTMLDivElement | HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\n   */\n  flush?: boolean\n  /**\n   * Specify a layout type.\n   */\n  layout?:\n    | 'horizontal'\n    | 'horizontal-sm'\n    | 'horizontal-md'\n    | 'horizontal-lg'\n    | 'horizontal-xl'\n    | 'horizontal-xxl'\n}\n\nexport const CListGroup = forwardRef<HTMLDivElement | HTMLUListElement, CListGroupProps>(\n  ({ children, className, component: Component = 'ul', flush, layout }, ref) => {\n    return (\n      <Component\n        className={classNames(\n          'list-group',\n          {\n            'list-group-flush': flush,\n            [`list-group-${layout}`]: layout,\n          },\n          className,\n        )}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCListGroup.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n  flush: PropTypes.bool,\n  layout: PropTypes.oneOf([\n    'horizontal',\n    'horizontal-sm',\n    'horizontal-md',\n    'horizontal-lg',\n    'horizontal-xl',\n    'horizontal-xxl',\n  ]),\n}\n\nCListGroup.displayName = 'CListGroup'\n","import React, { ElementType, AnchorHTMLAttributes, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink } from '../link/CLink'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CListGroupItemProps\n  extends AnchorHTMLAttributes<HTMLLIElement | HTMLAnchorElement | HTMLButtonElement> {\n  /**\n   * Toggle the active state for the component.\n   */\n  active?: boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CListGroupItem = forwardRef<\n  HTMLLIElement | HTMLAnchorElement | HTMLButtonElement,\n  CListGroupItemProps\n>(({ children, active, className, disabled, color, component = 'li', ...rest }, ref) => {\n  const Component = component === 'a' || component === 'button' ? CLink : component\n\n  rest = {\n    ...((component === 'a' || component === 'button') && {\n      active,\n      disabled,\n      component,\n      ref: ref,\n    }),\n    ...(active && { 'aria-current': true }),\n    ...(disabled && { 'aria-disabled': true }),\n    ...rest,\n  }\n\n  return (\n    <Component\n      className={classNames(\n        'list-group-item',\n        {\n          [`list-group-item-${color}`]: color,\n          'list-group-item-action': component === 'a' || component === 'button',\n          active,\n          disabled,\n        },\n        className,\n      )}\n      {...rest}\n    >\n      {children}\n    </Component>\n  )\n})\n\nCListGroupItem.propTypes = {\n  active: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  component: PropTypes.elementType,\n  disabled: PropTypes.bool,\n}\n\nCListGroupItem.displayName = 'CListGroupItem'\n","import React, { useEffect, useState, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { CButton, CButtonProps } from './../button/CButton'\nimport { CSpinner } from './../spinner/CSpinner'\nexport interface CLoadingButtonProps extends CButtonProps {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Makes button disabled when loading.\n   */\n  disabledOnLoading?: boolean\n  /**\n   * Loading state (set to true to start animation).\n   */\n  loading?: boolean\n  /**\n   * @ignore\n   */\n  onClick?: () => void\n  /**\n   * Sets type of spinner.\n   */\n  spinnerType?: 'border' | 'grow'\n  /**\n   * Automatically starts loading animation and stops after a determined amount of milliseconds.\n   */\n  timeout?: number\n}\n\nexport const CLoadingButton = forwardRef<HTMLButtonElement, CLoadingButtonProps>(\n  (\n    {\n      children,\n      className,\n      disabledOnLoading,\n      loading,\n      onClick,\n      spinnerType = 'border',\n      timeout,\n      ...rest\n    },\n    ref,\n  ) => {\n    const [_loading, setLoading] = useState<boolean>()\n\n    useEffect(() => {\n      setLoading(loading)\n    }, [loading])\n\n    const handleOnClick = () => {\n      onClick && onClick()\n      if (timeout) {\n        setLoading(true)\n        setTimeout(() => {\n          setLoading(false)\n        }, timeout)\n      }\n    }\n\n    return (\n      <CButton\n        className={classNames('btn-loading', _loading && 'is-loading', className)}\n        {...(disabledOnLoading && _loading && { disabled: true })}\n        onClick={handleOnClick}\n        {...rest}\n        ref={ref}\n      >\n        <CSpinner className=\"btn-loading-spinner\" size=\"sm\" variant={spinnerType} />\n        {children}\n      </CButton>\n    )\n  },\n)\n\nCLoadingButton.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  disabledOnLoading: PropTypes.bool,\n  loading: PropTypes.bool,\n  onClick: PropTypes.func,\n  spinnerType: PropTypes.oneOf(['border', 'grow']),\n  timeout: PropTypes.number,\n}\n\nCLoadingButton.displayName = 'CLoadingButton'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CModalContentProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CModalContent = forwardRef<HTMLDivElement, CModalContentProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('modal-content', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCModalContent.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCModalContent.displayName = 'CModalContent'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CModalDialogProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * Align the modal in the center or top of the screen.\n   */\n  alignment?: 'top' | 'center'\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Set modal to covers the entire user viewport.\n   */\n  fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n  /**\n   * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\n   */\n  scrollable?: boolean\n  /**\n   * Size the component small, large, or extra large.\n   */\n  size?: 'sm' | 'lg' | 'xl'\n}\n\nexport const CModalDialog = forwardRef<HTMLDivElement, CModalDialogProps>(\n  ({ children, alignment, className, fullscreen, scrollable, size, ...rest }, ref) => {\n    return (\n      <div\n        className={classNames(\n          'modal-dialog',\n          {\n            'modal-dialog-centered': alignment === 'center',\n            [typeof fullscreen === 'boolean'\n              ? 'modal-fullscreen'\n              : `modal-fullscreen-${fullscreen}-down`]: fullscreen,\n            'modal-dialog-scrollable': scrollable,\n            [`modal-${size}`]: size,\n          },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\n\nCModalDialog.propTypes = {\n  alignment: PropTypes.oneOf(['top', 'center']),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  fullscreen: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),\n  ]),\n  scrollable: PropTypes.bool,\n  size: PropTypes.oneOf(['sm', 'lg', 'xl']),\n}\n\nCModalDialog.displayName = 'CModalDialog'\n","import React, {\n  createContext,\n  forwardRef,\n  HTMLAttributes,\n  useEffect,\n  useLayoutEffect,\n  useRef,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { CBackdrop } from '../backdrop'\nimport { CConditionalPortal } from '../conditional-portal'\nimport { CModalContent } from './CModalContent'\nimport { CModalDialog } from './CModalDialog'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CModalProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * Align the modal in the center or top of the screen.\n   */\n  alignment?: 'top' | 'center'\n  /**\n   * Apply a backdrop on body while modal is open.\n   */\n  backdrop?: boolean | 'static'\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * @ignore\n   */\n  duration?: number\n  /**\n   * Puts the focus on the modal when shown.\n   *\n   * @since v4.10.0\n   */\n  focus?: boolean\n  /**\n   * Set modal to covers the entire user viewport.\n   */\n  fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n  /**\n   * Closes the modal when escape key is pressed.\n   */\n  keyboard?: boolean\n  /**\n   * Callback fired when the component requests to be closed.\n   */\n  onClose?: () => void\n  /**\n   * Callback fired when the component requests to be closed.\n   */\n  onClosePrevented?: () => void\n  /**\n   * Callback fired when the modal is shown, its backdrop is static and a click outside the modal or an escape key press is performed with the keyboard option set to false.\n   */\n  onShow?: () => void\n  /**\n   * Generates modal using createPortal.\n   */\n  portal?: boolean\n  /**\n   * Create a scrollable modal that allows scrolling the modal body.\n   */\n  scrollable?: boolean\n  /**\n   * Size the component small, large, or extra large.\n   */\n  size?: 'sm' | 'lg' | 'xl'\n  /**\n   * Remove animation to create modal that simply appear rather than fade in to view.\n   */\n  transition?: boolean\n  /**\n   * By default the component is unmounted after close animation, if you want to keep the component mounted set this property to false.\n   */\n  unmountOnClose?: boolean\n  /**\n   * Toggle the visibility of modal component.\n   */\n  visible?: boolean\n}\n\ninterface ModalContextProps {\n  visible?: boolean\n  setVisible: React.Dispatch<React.SetStateAction<boolean | undefined>>\n}\n\nexport const CModalContext = createContext({} as ModalContextProps)\n\nexport const CModal = forwardRef<HTMLDivElement, CModalProps>(\n  (\n    {\n      children,\n      alignment,\n      backdrop = true,\n      className,\n      duration = 150,\n      focus = true,\n      fullscreen,\n      keyboard = true,\n      onClose,\n      onClosePrevented,\n      onShow,\n      portal = true,\n      scrollable,\n      size,\n      transition = true,\n      unmountOnClose = true,\n      visible,\n      ...rest\n    },\n    ref,\n  ) => {\n    const activeElementRef = useRef<HTMLElement | null>(null)\n    const modalRef = useRef<HTMLDivElement>(null)\n    const modalContentRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, modalRef)\n\n    const [_visible, setVisible] = useState(visible)\n    const [staticBackdrop, setStaticBackdrop] = useState(false)\n\n    const contextValues = {\n      visible: _visible,\n      setVisible,\n    }\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    useEffect(() => {\n      if (_visible) {\n        activeElementRef.current = document.activeElement as HTMLElement | null\n        document.addEventListener('mouseup', handleClickOutside)\n        document.addEventListener('keydown', handleKeyDown)\n      } else {\n        activeElementRef.current?.focus()\n      }\n\n      return () => {\n        document.removeEventListener('mouseup', handleClickOutside)\n        document.removeEventListener('keydown', handleKeyDown)\n      }\n    }, [_visible])\n\n    const handleDismiss = () => {\n      if (backdrop === 'static') {\n        return setStaticBackdrop(true)\n      }\n\n      setVisible(false)\n\n      return onClose && onClose()\n    }\n\n    useLayoutEffect(() => {\n      onClosePrevented && onClosePrevented()\n      setTimeout(() => setStaticBackdrop(false), duration)\n    }, [staticBackdrop])\n\n    // Set focus to modal after open\n    useLayoutEffect(() => {\n      if (_visible) {\n        document.body.classList.add('modal-open')\n\n        if (backdrop) {\n          document.body.style.overflow = 'hidden'\n          document.body.style.paddingRight = '0px'\n        }\n\n        setTimeout(\n          () => {\n            focus && modalRef.current?.focus()\n          },\n          transition ? duration : 0,\n        )\n      } else {\n        document.body.classList.remove('modal-open')\n\n        if (backdrop) {\n          document.body.style.removeProperty('overflow')\n          document.body.style.removeProperty('padding-right')\n        }\n      }\n\n      return () => {\n        document.body.classList.remove('modal-open')\n        if (backdrop) {\n          document.body.style.removeProperty('overflow')\n          document.body.style.removeProperty('padding-right')\n        }\n      }\n    }, [_visible])\n\n    const handleClickOutside = (event: Event) => {\n      if (modalRef.current && modalRef.current == event.target) {\n        handleDismiss()\n      }\n    }\n\n    const handleKeyDown = (event: KeyboardEvent) => {\n      if (event.key === 'Escape' && keyboard) {\n        handleDismiss()\n      }\n    }\n\n    return (\n      <>\n        <Transition\n          in={_visible}\n          mountOnEnter\n          nodeRef={modalRef}\n          onEnter={onShow}\n          onExit={onClose}\n          unmountOnExit={unmountOnClose}\n          timeout={transition ? duration : 0}\n        >\n          {(state) => (\n            <CConditionalPortal portal={portal}>\n              <CModalContext.Provider value={contextValues}>\n                <div\n                  className={classNames(\n                    'modal',\n                    {\n                      'modal-static': staticBackdrop,\n                      fade: transition,\n                      show: state === 'entered',\n                    },\n                    className,\n                  )}\n                  tabIndex={-1}\n                  {...(_visible\n                    ? { 'aria-modal': true, role: 'dialog' }\n                    : { 'aria-hidden': 'true' })}\n                  style={{\n                    ...(state !== 'exited' && { display: 'block' }),\n                  }}\n                  {...rest}\n                  ref={forkedRef}\n                >\n                  <CModalDialog\n                    alignment={alignment}\n                    fullscreen={fullscreen}\n                    scrollable={scrollable}\n                    size={size}\n                  >\n                    <CModalContent ref={modalContentRef}>{children}</CModalContent>\n                  </CModalDialog>\n                </div>\n              </CModalContext.Provider>\n            </CConditionalPortal>\n          )}\n        </Transition>\n        {backdrop && (\n          <CConditionalPortal portal={portal}>\n            <CBackdrop visible={_visible} />\n          </CConditionalPortal>\n        )}\n      </>\n    )\n  },\n)\n\nCModal.propTypes = {\n  alignment: PropTypes.oneOf(['top', 'center']),\n  backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'static'>(['static'])]),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  duration: PropTypes.number,\n  focus: PropTypes.bool,\n  fullscreen: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),\n  ]),\n  keyboard: PropTypes.bool,\n  onClose: PropTypes.func,\n  onClosePrevented: PropTypes.func,\n  onShow: PropTypes.func,\n  portal: PropTypes.bool,\n  scrollable: PropTypes.bool,\n  size: PropTypes.oneOf(['sm', 'lg', 'xl']),\n  transition: PropTypes.bool,\n  unmountOnClose: PropTypes.bool,\n  visible: PropTypes.bool,\n}\n\nCModal.displayName = 'CModal'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CModalBodyProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CModalBody = forwardRef<HTMLDivElement, CModalBodyProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('modal-body', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCModalBody.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCModalBody.displayName = 'CModalBody'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CModalFooterProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CModalFooter = forwardRef<HTMLDivElement, CModalFooterProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('modal-footer', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCModalFooter.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCModalFooter.displayName = 'CModalFooter'\n","import React, { forwardRef, HTMLAttributes, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CCloseButton } from '../close-button/CCloseButton'\nimport { CModalContext } from './CModal'\n\nexport interface CModalHeaderProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Add a close button component to the header.\n   */\n  closeButton?: boolean\n}\n\nexport const CModalHeader = forwardRef<HTMLDivElement, CModalHeaderProps>(\n  ({ children, className, closeButton = true, ...rest }, ref) => {\n    const { setVisible } = useContext(CModalContext)\n\n    return (\n      <div className={classNames('modal-header', className)} {...rest} ref={ref}>\n        {children}\n        {closeButton && <CCloseButton onClick={() => setVisible(false)} />}\n      </div>\n    )\n  },\n)\n\nCModalHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  closeButton: PropTypes.bool,\n}\n\nCModalHeader.displayName = 'CModalHeader'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CModalTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CModalTitle = forwardRef<HTMLHeadElement, CModalTitleProps>(\n  ({ children, component: Component = 'h5', className, ...rest }, ref) => {\n    return (\n      <Component className={classNames('modal-title', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCModalTitle.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCModalTitle.displayName = 'CModalTitle'\n","import React, { forwardRef, InputHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\n\nimport type { Option } from './types'\n\nexport interface CMultiSelectNativeSelectProps\n  extends Omit<InputHTMLAttributes<HTMLSelectElement>, 'options'> {\n  options?: Option[]\n  value?: string | number | string[]\n}\n\nconst createNativeOptions = (options: Option[]) =>\n  options &&\n  options.map((option: Option, index: number) =>\n    option.options ? (\n      <optgroup label={option.label} key={index}>\n        {createNativeOptions(option.options)}\n      </optgroup>\n    ) : (\n      <option value={option.value} key={index} disabled={option.disabled}>\n        {option.text}\n      </option>\n    ),\n  )\n\nexport const CMultiSelectNativeSelect = forwardRef<\n  HTMLSelectElement,\n  CMultiSelectNativeSelectProps\n>(({ id, options, ...rest }, ref) => {\n  return (\n    <select\n      className=\"multi-select-new\"\n      {...(id && { id: `${id}-multi-select` })}\n      {...(id && { name: `${id}-multi-select` })}\n      tabIndex={-1}\n      style={{ display: 'none' }}\n      {...rest}\n      ref={ref}\n    >\n      {options && createNativeOptions(options)}\n    </select>\n  )\n})\n\nCMultiSelectNativeSelect.propTypes = {\n  options: PropTypes.array,\n  value: PropTypes.oneOfType([\n    PropTypes.number,\n    PropTypes.string,\n    PropTypes.arrayOf(PropTypes.string.isRequired),\n  ]),\n}\n\nCMultiSelectNativeSelect.displayName = 'CMultiSelectNativeSelect'\n","import React, { forwardRef, HTMLAttributes, UIEvent, useEffect, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CVirtualScrollerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onScroll'> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Event fires when the component has been scrolled.\n   */\n  onScroll?: (currentItemIndex: number) => void\n  /**\n   * Amount of visible items\n   */\n  visibleItems: number\n}\n\nexport const CVirtualScroller = forwardRef<HTMLDivElement, CVirtualScrollerProps>(\n  ({ children, className, visibleItems, onScroll }, ref) => {\n    const virtualScrollRef = useRef<HTMLDivElement>(null)\n    const virtualScrollContentRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, virtualScrollRef)\n\n    const [buffer, setBuffer] = useState(Math.floor(visibleItems / 2))\n    const [currentItemIndex, setCurrentItemIndex] = useState(1)\n    const [itemHeight, setItemHeight] = useState(0)\n    const [itemsNumber, setItemsNumber] = useState(React.Children.count(children))\n    const [viewportPadding, setViewportPadding] = useState(0)\n    const [viewportHeight, setViewportHeight] = useState(\n      visibleItems * itemHeight + 2 * viewportPadding,\n    )\n    const [maxHeight, setMaxHeight] = useState(itemsNumber * itemHeight + 2 * viewportPadding)\n\n    useEffect(() => {\n      virtualScrollRef.current && virtualScrollRef.current.scrollTop\n\n      virtualScrollRef.current &&\n        setViewportPadding(Number.parseFloat(getComputedStyle(virtualScrollRef.current).paddingTop))\n    })\n\n    useEffect(() => {\n      setItemsNumber(React.Children.count(children))\n    }, [children])\n\n    useEffect(() => {\n      setViewportHeight(Math.min(visibleItems, itemsNumber) * itemHeight + 2 * viewportPadding)\n    }, [itemHeight, itemsNumber, viewportPadding, visibleItems])\n\n    useEffect(() => {\n      setMaxHeight(itemsNumber * itemHeight)\n      virtualScrollRef.current && virtualScrollRef.current.scrollTop\n    }, [itemHeight, itemsNumber])\n\n    useEffect(() => {\n      setBuffer(Math.floor(visibleItems / 2))\n    }, [visibleItems])\n\n    const handleScroll = (scrollTop: number) => {\n      const _currentItemIndex = itemHeight && Math.max(Math.ceil(scrollTop / itemHeight), 1)\n      setCurrentItemIndex(_currentItemIndex)\n      onScroll && onScroll(_currentItemIndex)\n    }\n\n    return (\n      <div\n        className={classNames('virtual-scroller', className)}\n        onScroll={(event: UIEvent<HTMLDivElement>) =>\n          handleScroll((event.target as HTMLDivElement).scrollTop)\n        }\n        ref={forkedRef}\n        style={{\n          height: viewportHeight,\n          overflowY: 'auto',\n        }}\n      >\n        <div\n          className=\"virtual-scroller-content\"\n          style={{\n            height: maxHeight,\n          }}\n          ref={virtualScrollContentRef}\n        >\n          {React.Children.map(children, (child, index) => {\n            if (\n              React.isValidElement(child) &&\n              index + 1 > Math.max(currentItemIndex - buffer, 0) &&\n              index + 1 <= currentItemIndex + visibleItems + buffer\n            ) {\n              return React.cloneElement(child as React.ReactElement<any>, {\n                className: classNames(child.props.className, {\n                  'virtual-scroller-item-preload':\n                    index + 1 > currentItemIndex + visibleItems || index + 1 < currentItemIndex,\n                }),\n                key: index,\n                style: {\n                  ...(currentItemIndex > buffer && {\n                    transform: `translateY(${(currentItemIndex - buffer) * itemHeight}px)`,\n                  }),\n                },\n                ref: (node: HTMLElement) =>\n                  node &&\n                  node.offsetHeight &&\n                  setItemHeight(\n                    node.offsetHeight +\n                      Number.parseFloat(getComputedStyle(node).marginTop) +\n                      Number.parseFloat(getComputedStyle(node).marginBottom),\n                  ),\n              })\n            }\n            return\n          })}\n        </div>\n      </div>\n    )\n  },\n)\n\nCVirtualScroller.propTypes = {\n  onScroll: PropTypes.func,\n  visibleItems: PropTypes.number.isRequired,\n}\n\nCVirtualScroller.displayName = 'CVirtualScroller'\n","import type { Option, OptionsGroup, SelectedOption } from './types'\n\nexport const createOption = (text: string, options: (Option | OptionsGroup)[]) => {\n  const value = text.toLowerCase().replace(/\\s/g, '-')\n  let uniqueValue = value\n  let i = 1\n\n  while (options.some((option) => String(option.value) === uniqueValue)) {\n    uniqueValue = `${value}-${i}`\n    i++\n  }\n\n  return [\n    {\n      value: uniqueValue,\n      text,\n      custom: true,\n    },\n  ]\n}\n\nexport const filterOptionsList = (search: string, _options: (Option | OptionsGroup)[]) => {\n  if (search.length > 0 && _options) {\n    const optionsList = []\n\n    for (const option of _options) {\n      const options =\n        option.options &&\n        option.options.filter(\n          (option: Option) =>\n            option.text && option.text.toLowerCase().includes(search.toLowerCase()),\n        )\n      if (\n        (option.text && option.text.toLowerCase().includes(search.toLowerCase())) ||\n        (options && options.length > 0)\n      ) {\n        optionsList.push(Object.assign({}, option, options && options.length > 0 && { options }))\n      }\n    }\n\n    return optionsList\n  }\n\n  return _options\n}\n\nexport const flattenOptionsArray = (\n  options: (Option | OptionsGroup)[],\n  keepGroupLabel?: boolean,\n): (Option | OptionsGroup)[] => {\n  const optionsList: (Option | OptionsGroup)[] = []\n\n  for (const option of options) {\n    if (Array.isArray(option.options)) {\n      const { options, ...rest } = option\n      if (keepGroupLabel) {\n        optionsList.push(rest)\n      }\n\n      optionsList.push(...options)\n    } else {\n      optionsList.push(option)\n    }\n  }\n\n  return optionsList\n}\n\nexport const getNextSibling = (elem: HTMLElement, selector?: string) => {\n  // Get the next sibling element\n  let sibling = elem.nextElementSibling\n\n  // If there's no selector, return the first sibling\n  if (!selector) return sibling\n\n  // If the sibling matches our selector, use it\n  // If not, jump to the next sibling and continue the loop\n  while (sibling) {\n    if (sibling.matches(selector)) return sibling\n    sibling = sibling.nextElementSibling\n  }\n\n  return\n}\n\nexport const getPreviousSibling = (elem: HTMLElement, selector?: string) => {\n  // Get the next sibling element\n  let sibling = elem.previousElementSibling\n\n  // If there's no selector, return the first sibling\n  if (!selector) return sibling\n\n  // If the sibling matches our selector, use it\n  // If not, jump to the next sibling and continue the loop\n  while (sibling) {\n    if (sibling.matches(selector)) return sibling\n    sibling = sibling.previousElementSibling\n  }\n\n  return\n}\n\nexport const selectOptions = (\n  options: (Option | OptionsGroup)[],\n  selected: SelectedOption[],\n  deselected?: Option[],\n) => {\n  let _selected = [...selected, ...options]\n\n  if (deselected) {\n    _selected = _selected.filter(\n      (selectedOption) =>\n        !deselected.some((deselectedOption) => deselectedOption.value === selectedOption.value),\n    )\n  }\n\n  const deduplicated: SelectedOption[] = []\n\n  for (const option of _selected) {\n    if (!deduplicated.some((obj) => obj.value === option.value)) {\n      deduplicated.push(option as SelectedOption)\n    }\n  }\n\n  return deduplicated\n}\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CElementCover } from '../element-cover'\nimport { CVirtualScroller } from '../virtual-scroller'\n\nimport { getNextSibling, getPreviousSibling } from './utils'\nimport type { Option, OptionsGroup } from './types'\n\nexport interface CMultiSelectOptionsProps extends HTMLAttributes<HTMLDivElement> {\n  handleOptionOnClick?: (option: Option) => void\n  loading?: boolean\n  options: (Option | OptionsGroup)[]\n  optionsMaxHeight?: number | string\n  optionsStyle?: 'checkbox' | 'text'\n  optionsTemplate?: (option: Option) => ReactNode\n  optionsGroupsTemplate?: (option: OptionsGroup) => ReactNode\n  searchNoResultsLabel?: string | ReactNode\n  selected: Option[]\n  virtualScroller?: boolean\n  visibleItems?: number\n}\n\nexport const CMultiSelectOptions = forwardRef<HTMLDivElement, CMultiSelectOptionsProps>(\n  (\n    {\n      handleOptionOnClick,\n      loading,\n      options,\n      optionsMaxHeight,\n      optionsStyle,\n      optionsTemplate,\n      optionsGroupsTemplate,\n      searchNoResultsLabel,\n      selected,\n      virtualScroller,\n      visibleItems = 10,\n    },\n    ref,\n  ) => {\n    const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>, option: Option) => {\n      if (event.code === 'Space' || event.key === 'Enter') {\n        event.preventDefault()\n        handleOptionOnClick && handleOptionOnClick(option)\n      }\n\n      if (event.key === 'Down' || event.key === 'ArrowDown') {\n        event.preventDefault()\n        const target = event.target as HTMLElement\n        const next = getNextSibling(target, '.form-multi-select-option')\n\n        next && (next as HTMLElement).focus()\n      }\n\n      if (event.key === 'Up' || event.key === 'ArrowUp') {\n        event.preventDefault()\n        const target = event.target as HTMLElement\n        const prev = getPreviousSibling(target, '.form-multi-select-option')\n\n        prev && (prev as HTMLElement).focus()\n      }\n    }\n\n    const createOptions = (options: (Option | OptionsGroup)[]): JSX.Element | JSX.Element[] =>\n      options.length > 0 ? (\n        options.map((option: Option | OptionsGroup, index: number) =>\n          'value' in option ? (\n            <div\n              className={classNames('form-multi-select-option', {\n                'form-multi-select-option-with-checkbox': optionsStyle === 'checkbox',\n                'form-multi-selected': selected.some((_option) => _option.value === option.value),\n                disabled: option.disabled,\n              })}\n              key={index}\n              onClick={() => handleOptionOnClick && handleOptionOnClick(option as Option)}\n              onKeyDown={(event) => handleKeyDown(event, option as Option)}\n              tabIndex={0}\n            >\n              {optionsTemplate ? optionsTemplate(option as Option) : option.text}\n            </div>\n          ) : (\n            <div className=\"form-multi-select-optgroup-label\" key={index}>\n              {optionsGroupsTemplate ? optionsGroupsTemplate(option as OptionsGroup) : option.label}\n            </div>\n          ),\n        )\n      ) : (\n        <div className=\"form-multi-select-options-empty\">{searchNoResultsLabel}</div>\n      )\n\n    return (\n      <>\n        {virtualScroller ? (\n          <CVirtualScroller\n            className=\"form-multi-select-options\"\n            visibleItems={visibleItems}\n            ref={ref}\n          >\n            {createOptions(options)}\n          </CVirtualScroller>\n        ) : (\n          <div\n            className=\"form-multi-select-options\"\n            {...(optionsMaxHeight !== 'auto' && {\n              style: { maxHeight: optionsMaxHeight, overflow: 'scroll' },\n            })}\n            ref={ref}\n          >\n            {createOptions(options)}\n          </div>\n        )}\n        {loading && <CElementCover />}\n      </>\n    )\n  },\n)\n\nCMultiSelectOptions.propTypes = {\n  handleOptionOnClick: PropTypes.func,\n  loading: PropTypes.bool,\n  options: PropTypes.array.isRequired,\n  optionsMaxHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  optionsStyle: PropTypes.oneOf(['checkbox', 'text']),\n  optionsTemplate: PropTypes.func,\n  optionsGroupsTemplate: PropTypes.func,\n  searchNoResultsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  virtualScroller: PropTypes.bool,\n  visibleItems: PropTypes.number,\n}\n\nCMultiSelectOptions.displayName = 'CMultiSelectOptions'\n","import React, { forwardRef, HTMLAttributes } from 'react'\n\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\n\nimport type { SelectedOption } from './types'\n\nexport interface CMultiSelectSelectionProps extends HTMLAttributes<HTMLSpanElement> {\n  multiple?: boolean\n  onRemove?: (option: SelectedOption) => void\n  placeholder?: string\n  search?: boolean | 'external'\n  selected?: SelectedOption[]\n  selectionType?: 'counter' | 'tags' | 'text'\n  selectionTypeCounterText?: string\n}\n\nexport const CMultiSelectSelection = forwardRef<HTMLSpanElement, CMultiSelectSelectionProps>(\n  (\n    {\n      children,\n      multiple,\n      placeholder,\n      onRemove,\n      search,\n      selected = [],\n      selectionType,\n      selectionTypeCounterText,\n    },\n    ref,\n  ) => {\n    return (\n      <span\n        className={classNames('form-multi-select-selection', {\n          'form-multi-select-selection-tags': multiple && selectionType === 'tags',\n        })}\n        ref={ref}\n      >\n        {multiple && selectionType === 'counter' && !search && selected.length === 0 && placeholder}\n        {multiple &&\n          selectionType === 'counter' &&\n          !search &&\n          selected.length > 0 &&\n          `${selected.length} ${selectionTypeCounterText}`}\n        {multiple &&\n          selectionType === 'tags' &&\n          selected.map((option: SelectedOption, index: number) => {\n            if (selectionType === 'tags') {\n              return (\n                <span className=\"form-multi-select-tag\" key={index}>\n                  {option.text}\n                  {!option.disabled && (\n                    <button\n                      className=\"form-multi-select-tag-delete\"\n                      aria-label=\"Close\"\n                      onClick={() => onRemove && onRemove(option)}\n                    >\n                      <span aria-hidden=\"true\">×</span>\n                    </button>\n                  )}\n                </span>\n              )\n            }\n            return\n          })}\n        {multiple &&\n          selectionType === 'text' &&\n          selected.map((option, index) => (\n            <span key={index}>\n              {option.text}\n              {index === selected.length - 1 ? '' : ','}&nbsp;\n            </span>\n          ))}\n        {!multiple && !search && selected.map((option) => option.text)[0]}\n        {children}\n      </span>\n    )\n  },\n)\n\nCMultiSelectSelection.propTypes = {\n  multiple: PropTypes.bool,\n  onRemove: PropTypes.func,\n  placeholder: PropTypes.string,\n  search: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'external'>(['external'])]),\n  selected: PropTypes.array,\n  selectionType: PropTypes.oneOf(['counter', 'tags', 'text']),\n  selectionTypeCounterText: PropTypes.string,\n}\n\nCMultiSelectSelection.displayName = 'CMultiSelectSelection'\n","import React, {\n  FormEvent,\n  forwardRef,\n  HTMLAttributes,\n  ReactNode,\n  useEffect,\n  useState,\n  useRef,\n  useMemo,\n} from 'react'\n\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\n\nimport type { Placement } from '@popperjs/core'\n\nimport { CFormControlWrapper, CFormControlWrapperProps } from '../form/CFormControlWrapper'\n\nimport { CMultiSelectNativeSelect } from './CMultiSelectNativeSelect'\nimport { CMultiSelectOptions } from './CMultiSelectOptions'\nimport { CMultiSelectSelection } from './CMultiSelectSelection'\n\nimport { useForkedRef, usePopper } from '../../hooks'\nimport { isRTL } from '../../utils'\nimport { createOption, filterOptionsList, flattenOptionsArray, selectOptions } from './utils'\nimport type { Option, OptionsGroup, SelectedOption } from './types'\n\nexport interface CMultiSelectProps\n  extends Omit<CFormControlWrapperProps, 'floatingClassName' | 'floatingLabel'>,\n    Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n  /**\n   * Allow users to create options if they are not in the list of options.\n   *\n   * @since 4.11.0\n   */\n  allowCreateOptions?: boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Enables selection cleaner element.\n   */\n  cleaner?: boolean\n  /**\n   * Clear current search on selecting an item.\n   *\n   * @since 4.11.0\n   */\n  clearSearchOnSelect?: boolean\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * The id global attribute defines an identifier (ID) that must be unique in the whole document.\n   *\n   * The name and id attributes for the native select element are generated based on the `id` property:\n   * - <select id=\"\\{id\\}-multi-select\" name=\"\\{id\\}-multi-select\" />\n   */\n  id?: string\n  /**\n   * When set, the options list will have a loading style: loading spinner and reduced opacity.\n   *\n   * @since 4.11.0\n   */\n  loading?: boolean\n  /**\n   * It specifies that multiple options can be selected at once.\n   */\n  multiple?: boolean\n  /**\n   * Execute a function when a user changes the selected option.\n   */\n  onChange?: (selected: Option[]) => void\n  /**\n   * Execute a function when the filter value changed.\n   *\n   * @since 4.8.0\n   */\n  onFilterChange?: (value: string) => void\n  /**\n   * The callback is fired when the Multi Select component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * The callback is fired when the Multi Select component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * List of option elements.\n   */\n  options: (Option | OptionsGroup)[]\n  /**\n   * Sets maxHeight of options list.\n   */\n  optionsMaxHeight?: number | string\n  /**\n   * Sets option style.\n   */\n  optionsStyle?: 'checkbox' | 'text'\n  /**\n   * Custom template for options.\n   *\n   * @since 4.12.0\n   */\n  optionsTemplate?: (option: Option) => ReactNode\n  /**\n   * Custom template for options groups.\n   *\n   * @since 4.12.0\n   */\n  optionsGroupsTemplate?: (option: OptionsGroup) => ReactNode\n  /**\n   * Specifies a short hint that is visible in the search input.\n   */\n  placeholder?: string\n  /**\n   * When it is present, it indicates that the user must choose a value before submitting the form.\n   */\n  required?: boolean\n  /**\n   * Enables search input element.\n   */\n  search?: boolean | 'external'\n  /**\n   * Sets the label for no results when filtering.\n   */\n  searchNoResultsLabel?: string | ReactNode\n  /**\n   * Enables select all button.\n   */\n  selectAll?: boolean\n  /**\n   * Sets the select all button label.\n   */\n  selectAllLabel?: string | ReactNode\n  /**\n   * Sets the selection style.\n   */\n  selectionType?: 'counter' | 'tags' | 'text'\n  /**\n   * Sets the counter selection label.\n   */\n  selectionTypeCounterText?: string\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Enable virtual scroller for the options list.\n   *\n   * @since 4.8.0\n   */\n  virtualScroller?: boolean\n  /**\n   * Toggle the visibility of multi select dropdown.\n   */\n  visible?: boolean\n  /**\n   * Amount of visible items when virtualScroller is set to `true`.\n   *\n   * @since 4.8.0\n   */\n  visibleItems?: number\n}\n\nexport const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(\n  (\n    {\n      allowCreateOptions,\n      className,\n      cleaner = true,\n      clearSearchOnSelect,\n      disabled,\n      feedback,\n      feedbackInvalid,\n      feedbackValid,\n      loading,\n      multiple = true,\n      id,\n      invalid,\n      label,\n      onChange,\n      onFilterChange,\n      onHide,\n      onShow,\n      options,\n      optionsMaxHeight = 'auto',\n      optionsStyle = 'checkbox',\n      optionsTemplate,\n      optionsGroupsTemplate,\n      placeholder = 'Select...',\n      required,\n      search = true,\n      searchNoResultsLabel = 'No results found',\n      selectAll = true,\n      selectAllLabel = 'Select all options',\n      selectionType = 'tags',\n      selectionTypeCounterText = 'item(s) selected',\n      size,\n      text,\n      tooltipFeedback,\n      valid,\n      virtualScroller,\n      visible = false,\n      visibleItems = 10,\n      ...rest\n    },\n    ref,\n  ) => {\n    const multiSelectRef = useRef<HTMLDivElement>(null)\n    const multiSelectForkedRef = useForkedRef(ref, multiSelectRef)\n\n    const dropdownRef = useRef<HTMLDivElement>(null)\n    const nativeSelectRef = useRef<HTMLSelectElement>(null)\n    const togglerRef = useRef<HTMLDivElement>(null)\n    const searchRef = useRef<HTMLInputElement>(null)\n    const isInitialMount = useRef(true)\n\n    const { popper, initPopper, destroyPopper } = usePopper()\n\n    const [_options, setOptions] = useState<(Option | OptionsGroup)[]>(options)\n    const [_visible, setVisible] = useState(visible)\n    const [searchValue, setSearchValue] = useState('')\n    const [selected, setSelected] = useState<SelectedOption[]>([])\n    const [userOptions, setUserOptions] = useState<Option[]>([])\n\n    const filteredOptions = useMemo(\n      () =>\n        flattenOptionsArray(\n          search === 'external'\n            ? [..._options, ...filterOptionsList(searchValue, userOptions)]\n            : filterOptionsList(searchValue, [..._options, ...userOptions]),\n          true,\n        ),\n      [_options, searchValue, userOptions],\n    )\n\n    const flattenedOptions = useMemo(() => flattenOptionsArray(options), [JSON.stringify(options)])\n\n    const userOption = useMemo(() => {\n      if (\n        allowCreateOptions &&\n        filteredOptions.some(\n          (option) => option.text && option.text.toLowerCase() === searchValue.toLowerCase(),\n        )\n      ) {\n        return false\n      }\n\n      return searchRef.current && createOption(String(searchValue), flattenedOptions)\n    }, [filteredOptions, searchValue])\n\n    const popperConfig = {\n      placement: (isRTL(multiSelectRef.current) ? 'bottom-end' : 'bottom-start') as Placement,\n      modifiers: [\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: 'clippingParents',\n          },\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: [0, 2],\n          },\n        },\n      ],\n    }\n\n    useEffect(() => {\n      setOptions(options)\n\n      const _selected = flattenedOptions.filter((option: Option) => option.selected === true)\n      const deselected = flattenedOptions.filter(\n        (option: Option) => option.selected === false,\n      ) as Option[]\n\n      _selected && setSelected(selectOptions(_selected, selected, deselected))\n    }, [JSON.stringify(options)])\n\n    useEffect(() => {\n      !isInitialMount.current && onFilterChange && onFilterChange(searchValue)\n    }, [searchValue])\n\n    useEffect(() => {\n      if (!isInitialMount.current && nativeSelectRef.current) {\n        nativeSelectRef.current.dispatchEvent(new Event('change', { bubbles: true }))\n      }\n\n      if (popper) {\n        popper.update()\n      }\n    }, [JSON.stringify(selected)])\n\n    useEffect(() => {\n      if (_visible) {\n        onShow && onShow()\n\n        window.addEventListener('mouseup', handleMouseUp)\n        window.addEventListener('keyup', handleKeyUp)\n\n        togglerRef.current &&\n          dropdownRef.current &&\n          initPopper(togglerRef.current, dropdownRef.current, popperConfig)\n        searchRef.current && searchRef.current.focus()\n      }\n\n      return () => {\n        onHide && onHide()\n\n        window.removeEventListener('mouseup', handleMouseUp)\n        window.removeEventListener('keyup', handleKeyUp)\n\n        destroyPopper()\n      }\n    }, [_visible])\n\n    useEffect(() => {\n      isInitialMount.current = false\n    }, [])\n\n    const handleKeyUp = (event: KeyboardEvent) => {\n      if (event.key === 'Escape') {\n        setVisible(false)\n      }\n    }\n\n    const handleMouseUp = (event: Event) => {\n      if (multiSelectRef.current && multiSelectRef.current.contains(event.target as HTMLElement)) {\n        return\n      }\n\n      setVisible(false)\n    }\n\n    const handleSearchChange = (event: FormEvent<HTMLInputElement>) => {\n      const value = (event.target as HTMLInputElement).value\n      setSearchValue(value)\n    }\n\n    const handleSearchKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n      if (event.key === 'Enter' && searchValue && allowCreateOptions) {\n        event.preventDefault()\n\n        if (userOption) {\n          setSelected([...selected, ...userOption])\n          setUserOptions([...userOptions, ...userOption])\n        }\n\n        if (!userOption) {\n          setSelected([\n            ...selected,\n            filteredOptions.find(\n              (option) => String(option.text).toLowerCase() === searchValue.toLowerCase(),\n            ) as Option,\n          ])\n        }\n\n        setSearchValue('')\n        if (searchRef.current) {\n          searchRef.current.value = ''\n        }\n\n        return\n      }\n\n      if (searchValue.length > 0) {\n        return\n      }\n\n      if (event.key === 'Backspace' || event.key === 'Delete') {\n        const last = selected.filter((option: Option) => !option.disabled).pop()\n        last && setSelected(selected.filter((option: Option) => option.value !== last.value))\n      }\n    }\n\n    const handleOptionOnClick = (option: Option) => {\n      if (!multiple) {\n        setSelected([option] as SelectedOption[])\n        setVisible(false)\n        setSearchValue('')\n        if (searchRef.current) {\n          searchRef.current.value = ''\n        }\n\n        return\n      }\n\n      if (option.custom && !userOptions.some((_option) => _option.value === option.value)) {\n        setUserOptions([...userOptions, option])\n      }\n\n      if (clearSearchOnSelect || option.custom) {\n        setSearchValue('')\n        if (searchRef.current) {\n          searchRef.current.value = ''\n          searchRef.current.focus()\n        }\n      }\n\n      if (selected.some((_option) => _option.value === option.value)) {\n        setSelected(selected.filter((_option) => _option.value !== option.value))\n      } else {\n        setSelected([...selected, option] as SelectedOption[])\n      }\n    }\n\n    const handleSelectAll = () => {\n      setSelected(\n        selectOptions(\n          [...flattenedOptions.filter((option: Option) => !option.disabled), ...userOptions],\n          selected,\n        ),\n      )\n    }\n\n    const handleDeselectAll = () => {\n      setSelected(selected.filter((option) => option.disabled))\n    }\n\n    return (\n      <CFormControlWrapper\n        describedby={rest['aria-describedby']}\n        feedback={feedback}\n        feedbackInvalid={feedbackInvalid}\n        feedbackValid={feedbackValid}\n        id={id}\n        invalid={invalid}\n        label={label}\n        text={text}\n        tooltipFeedback={tooltipFeedback}\n        valid={valid}\n      >\n        <CMultiSelectNativeSelect\n          className='form-multi-select'\n          id={id}\n          multiple={multiple}\n          options={selected}\n          required={required}\n          value={\n            multiple\n              ? selected.map((option: SelectedOption) => option.value.toString())\n              : selected.map((option: SelectedOption) => option.value)[0]\n          }\n          onChange={() => onChange && onChange(selected)}\n          ref={nativeSelectRef}\n        />\n        <div\n          className={classNames(\n            'form-multi-select',\n            {\n              'form-multi-select-with-cleaner': cleaner,\n              [`form-multi-select-${size}`]: size,\n              'form-multi-select-selection-tags': multiple && selectionType === 'tags',\n              disabled,\n              'is-invalid': invalid,\n              'is-valid': valid,\n              show: _visible,\n            },\n            className,\n          )}\n          aria-expanded={_visible}\n          id={id}\n          ref={multiSelectForkedRef}\n        >\n          <div\n            className=\"form-multi-select-input-group\"\n            onClick={() => setVisible(true)}\n            ref={togglerRef}\n          >\n            <CMultiSelectSelection\n              multiple={multiple}\n              onRemove={(option) => !disabled && handleOptionOnClick(option)}\n              placeholder={placeholder}\n              search={search}\n              selected={selected}\n              selectionType={selectionType}\n              selectionTypeCounterText={selectionTypeCounterText}\n            >\n              {search && (\n                <input\n                  type=\"text\"\n                  className=\"form-multi-select-search\"\n                  disabled={disabled}\n                  autoComplete=\"off\"\n                  onChange={handleSearchChange}\n                  onKeyDown={handleSearchKeyDown}\n                  {...(selected.length === 0 && { placeholder: placeholder })}\n                  {...(selected.length > 0 &&\n                    selectionType === 'counter' && {\n                      placeholder: `${selected.length} ${selectionTypeCounterText}`,\n                    })}\n                  {...(selected.length > 0 &&\n                    !multiple && { placeholder: selected.map((option) => option.text)[0] })}\n                  {...(multiple &&\n                    selected.length > 0 &&\n                    selectionType !== 'counter' && { size: searchValue.length + 2 })}\n                  ref={searchRef}\n                ></input>\n              )}\n            </CMultiSelectSelection>\n            {!disabled && cleaner && selected.length > 0 && (\n              <button\n                type=\"button\"\n                className=\"form-multi-select-selection-cleaner\"\n                onClick={() => handleDeselectAll()}\n              ></button>\n            )}\n          </div>\n          <div className=\"form-multi-select-dropdown\" role=\"menu\" ref={dropdownRef}>\n            {multiple && selectAll && (\n              <button\n                type=\"button\"\n                className=\"form-multi-select-all\"\n                onClick={() => handleSelectAll()}\n              >\n                {selectAllLabel}\n              </button>\n            )}\n            <CMultiSelectOptions\n              handleOptionOnClick={(option) => !disabled && handleOptionOnClick(option)}\n              loading={loading}\n              options={\n                filteredOptions.length === 0 && allowCreateOptions\n                  ? userOption || []\n                  : filteredOptions\n              }\n              optionsMaxHeight={optionsMaxHeight}\n              optionsStyle={optionsStyle}\n              optionsTemplate={optionsTemplate}\n              optionsGroupsTemplate={optionsGroupsTemplate}\n              searchNoResultsLabel={searchNoResultsLabel}\n              selected={selected}\n              virtualScroller={virtualScroller}\n              visibleItems={visibleItems}\n            />\n          </div>\n        </div>\n      </CFormControlWrapper>\n    )\n  },\n)\n\nCMultiSelect.propTypes = {\n  className: PropTypes.string,\n  cleaner: PropTypes.bool,\n  clearSearchOnSelect: PropTypes.bool,\n  disabled: PropTypes.bool,\n  loading: PropTypes.bool,\n  multiple: PropTypes.bool,\n  onChange: PropTypes.func,\n  onFilterChange: PropTypes.func,\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  options: PropTypes.array.isRequired,\n  optionsMaxHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  optionsStyle: PropTypes.oneOf(['checkbox', 'text']),\n  optionsTemplate: PropTypes.func,\n  optionsGroupsTemplate: PropTypes.func,\n  placeholder: PropTypes.string,\n  required: PropTypes.bool,\n  search: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'external'>(['external'])]),\n  searchNoResultsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  selectAll: PropTypes.bool,\n  selectAllLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  selectionType: PropTypes.oneOf(['counter', 'tags', 'text']),\n  selectionTypeCounterText: PropTypes.string,\n  size: PropTypes.oneOf(['sm', 'lg']),\n  virtualScroller: PropTypes.bool,\n  visible: PropTypes.bool,\n  visibleItems: PropTypes.number,\n  ...CFormControlWrapper.propTypes,\n}\n\nCMultiSelect.displayName = 'CMultiSelect'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavProps\n  extends HTMLAttributes<HTMLDivElement | HTMLUListElement | HTMLOListElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Specify a layout type for component.\n   */\n  layout?: 'fill' | 'justified'\n  /**\n   * Set the nav variant to tabs or pills.\n   */\n  variant?: 'tabs' | 'pills' | 'underline'\n}\n\nexport const CNav = forwardRef<HTMLDivElement | HTMLUListElement | HTMLOListElement, CNavProps>(\n  ({ children, className, component: Component = 'ul', layout, variant, ...rest }, ref) => {\n    return (\n      <Component\n        className={classNames(\n          'nav',\n          {\n            [`nav-${layout}`]: layout,\n            [`nav-${variant}`]: variant,\n          },\n          className,\n        )}\n        role=\"navigation\"\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCNav.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n  layout: PropTypes.oneOf(['fill', 'justified']),\n  variant: PropTypes.oneOf(['tabs', 'pills', 'underline']),\n}\n\nCNav.displayName = 'CNav'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavGroupItemsProps extends HTMLAttributes<HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CNavGroupItems = forwardRef<HTMLUListElement, CNavGroupItemsProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <ul className={classNames('nav-group-items', className)} {...rest} ref={ref}>\n        {children}\n      </ul>\n    )\n  },\n)\n\nCNavGroupItems.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCNavGroupItems.displayName = 'CNavGroupItems'\n","import React, { createContext, forwardRef, HTMLAttributes, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CSidebarNavProps extends HTMLAttributes<HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\ninterface ContextProps {\n  visibleGroup: string\n  setVisibleGroup: React.Dispatch<React.SetStateAction<string | undefined>>\n}\n\nexport const CNavContext = createContext({} as ContextProps)\n\nexport const CSidebarNav = forwardRef<HTMLUListElement, CSidebarNavProps>(\n  ({ children, className, ...rest }, ref) => {\n    const [visibleGroup, setVisibleGroup] = useState('')\n    const CNavContextValues = {\n      visibleGroup,\n      setVisibleGroup,\n    }\n\n    return (\n      <ul className={classNames('sidebar-nav', className)} ref={ref} {...rest}>\n        <CNavContext.Provider value={CNavContextValues}>\n          {React.Children.map(children, (child, index) => {\n            if (React.isValidElement(child)) {\n              return React.cloneElement(child as React.ReactElement<any>, {\n                key: index,\n                idx: `${index}`,\n              })\n            }\n            return\n          })}\n        </CNavContext.Provider>\n      </ul>\n    )\n  },\n)\n\nCSidebarNav.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCSidebarNav.displayName = 'CSidebarNav'\n","import React, {\n  CSSProperties,\n  forwardRef,\n  ReactNode,\n  useContext,\n  useEffect,\n  useRef,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { CNavContext } from '../sidebar/CSidebarNav'\nexport interface CNavGroupProps {\n  children?: ReactNode\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Make nav group more compact by cutting all `padding` in half.\n   */\n  compact?: boolean\n  /**\n   * Set group toggler label.\n   */\n  toggler?: string | ReactNode\n  /**\n   * Show nav group items.\n   */\n  visible?: boolean\n  /**\n   * @ignore\n   */\n  idx?: string\n}\n\nconst isInVisibleGroup = (el1: string, el2: string) => {\n  const array1 = el1.toString().split('.')\n  const array2 = el2.toString().split('.')\n\n  return array2.every((item, index) => item === array1[index])\n}\n\nexport const CNavGroup = forwardRef<HTMLLIElement, CNavGroupProps>(\n  ({ children, className, compact, idx, toggler, visible, ...rest }, ref) => {\n    const [height, setHeight] = useState<number | string>()\n    const navItemsRef = useRef<HTMLUListElement>(null)\n\n    const { visibleGroup, setVisibleGroup } = useContext(CNavContext)\n\n    const [_visible, setVisible] = useState(\n      Boolean(\n        visible || (idx && visibleGroup && isInVisibleGroup(visibleGroup, idx)),\n      ),\n    )\n\n    useEffect(() => {\n      setVisible(Boolean(idx && visibleGroup && isInVisibleGroup(visibleGroup, idx)))\n    }, [visibleGroup])\n\n    const handleTogglerOnCLick = (event: React.MouseEvent<HTMLElement>) => {\n      event.preventDefault()\n      setVisibleGroup(\n        _visible ? (idx?.toString().includes('.') ? idx.slice(0, idx.lastIndexOf('.')) : '') : idx,\n      )\n      setVisible(!_visible)\n    }\n\n    const style: CSSProperties = {\n      height: 0,\n    }\n\n    const onEntering = () => {\n      navItemsRef.current && setHeight(navItemsRef.current.scrollHeight)\n    }\n\n    const onEntered = () => {\n      setHeight('auto')\n    }\n\n    const onExit = () => {\n      navItemsRef.current && setHeight(navItemsRef.current.scrollHeight)\n    }\n\n    const onExiting = () => {\n      // @ts-expect-error reflow is necessary to get correct height of the element\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const reflow = navItemsRef.current?.offsetHeight\n      setHeight(0)\n    }\n\n    const onExited = () => {\n      setHeight(0)\n    }\n\n    const transitionStyles = {\n      entering: { display: 'block', height: height },\n      entered: { display: 'block', height: height },\n      exiting: { display: 'block', height: height },\n      exited: { height: height },\n    }\n\n    return (\n      <li className={classNames('nav-group', { show: _visible }, className)} {...rest} ref={ref}>\n        {toggler && (\n          <a className=\"nav-link nav-group-toggle\" onClick={(event) => handleTogglerOnCLick(event)}>\n            {toggler}\n          </a>\n        )}\n        <Transition\n          in={_visible}\n          nodeRef={navItemsRef}\n          onEntering={onEntering}\n          onEntered={onEntered}\n          onExit={onExit}\n          onExiting={onExiting}\n          onExited={onExited}\n          timeout={300}\n        >\n          {(state) => (\n            <ul\n              className={classNames('nav-group-items', {\n                compact: compact,\n              })}\n              style={{ ...style, ...transitionStyles[state] }}\n              ref={navItemsRef}\n            >\n              {React.Children.map(children, (child, index) => {\n                if (React.isValidElement(child)) {\n                  return React.cloneElement(child as React.ReactElement<any>, {\n                    key: index,\n                    idx: `${idx}.${index}`,\n                  })\n                }\n                return\n              })}\n            </ul>\n          )}\n        </Transition>\n      </li>\n    )\n  },\n)\n\nCNavGroup.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  compact: PropTypes.bool,\n  idx: PropTypes.string,\n  toggler: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  visible: PropTypes.bool,\n}\n\nCNavGroup.displayName = 'CNavGroup'\n","import React, { ElementType, forwardRef, useContext, useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLinkProps, CLink } from '../link/CLink'\nimport { CNavContext } from '../sidebar/CSidebarNav'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CNavLinkProps extends Omit<CLinkProps, 'idx'> {\n  /**\n   * Toggle the active state for the component.\n   */\n  active?: boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n  /**\n   * @ignore\n   */\n  idx?: string\n  /**\n   * @ignore\n   */\n  to?: string\n}\n\nexport const CNavLink = forwardRef<\n  HTMLButtonElement | HTMLAnchorElement | HTMLLIElement,\n  CNavLinkProps\n>(({ children, className, idx, ...rest }, ref) => {\n  const navLinkRef = useRef<HTMLAnchorElement>(null)\n  const forkedRef = useForkedRef(ref, navLinkRef)\n\n  const { setVisibleGroup } = useContext(CNavContext)\n\n  useEffect(() => {\n    rest.active = navLinkRef.current?.classList.contains('active')\n    idx && rest.active && setVisibleGroup(idx)\n  }, [rest.active, className])\n\n  return (\n    <CLink className={classNames('nav-link', className)} {...rest} ref={forkedRef}>\n      {children}\n    </CLink>\n  )\n})\n\nCNavLink.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  idx: PropTypes.string,\n}\n\nCNavLink.displayName = 'CNavLink'\n","import React, { forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CNavLink, CNavLinkProps } from './CNavLink'\n\nexport const CNavItem = forwardRef<HTMLLIElement, CNavLinkProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <li className={classNames('nav-item', className)} ref={ref}>\n        {rest.href || rest.to ? (\n          <CNavLink className={className} {...rest}>\n            {children}\n          </CNavLink>\n        ) : (\n          children\n        )}\n      </li>\n    )\n  },\n)\n\nCNavItem.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCNavItem.displayName = 'CNavItem'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavTitleProps extends HTMLAttributes<HTMLLIElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CNavTitle = forwardRef<HTMLLIElement, CNavTitleProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <li className={classNames('nav-title', className)} {...rest} ref={ref}>\n        {children}\n      </li>\n    )\n  },\n)\n\nCNavTitle.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCNavTitle.displayName = 'CNavTitle'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CNavbarProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Sets if the color of text should be colored for a light or dark dark background.\n   */\n  colorScheme?: 'dark' | 'light'\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Defines optional container wrapping children elements.\n   */\n  container?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'\n  /**\n   * Defines the responsive breakpoint to determine when content collapses.\n   */\n  expand?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n  /**\n   * Place component in non-static positions.\n   */\n  placement?: 'fixed-top' | 'fixed-bottom' | 'sticky-top'\n}\n\nexport const CNavbar = forwardRef<HTMLDivElement, CNavbarProps>(\n  (\n    {\n      children,\n      className,\n      color,\n      colorScheme,\n      component: Component = 'nav',\n      container,\n      expand,\n      placement,\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <Component\n        className={classNames(\n          'navbar',\n          {\n            [`bg-${color}`]: color,\n            [`navbar-${colorScheme}`]: colorScheme,\n            [typeof expand === 'boolean' ? 'navbar-expand' : `navbar-expand-${expand}`]: expand,\n          },\n          placement,\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {container ? (\n          <div className={typeof container === 'string' ? `container-${container}` : 'container'}>\n            {children}\n          </div>\n        ) : (\n          <>{children}</>\n        )}\n      </Component>\n    )\n  },\n)\n\nCNavbar.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  colorScheme: PropTypes.oneOf(['dark', 'light']),\n  component: PropTypes.elementType,\n  container: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'>([\n      'sm',\n      'md',\n      'lg',\n      'xl',\n      'xxl',\n      'fluid',\n    ]),\n  ]),\n  expand: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),\n  ]),\n  placement: PropTypes.oneOf(['fixed-top', 'fixed-bottom', 'sticky-top']),\n}\n\nCNavbar.displayName = 'CNavbar'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavbarBrandProps extends HTMLAttributes<HTMLAnchorElement | HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   *\n   */\n  component?: string | ElementType\n  /**\n   * The href attribute specifies the URL of the page the link goes to.\n   */\n  href?: string\n}\n\nexport const CNavbarBrand = forwardRef<HTMLAnchorElement | HTMLSpanElement, CNavbarBrandProps>(\n  ({ children, component, className, ...rest }, ref) => {\n    const Component = component ?? (rest.href ? 'a' : 'span')\n\n    return (\n      <Component className={classNames('navbar-brand', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCNavbarBrand.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCNavbarBrand.displayName = 'CNavbarBrand'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavbarNavProps extends HTMLAttributes<HTMLDivElement | HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CNavbarNav = forwardRef<HTMLDivElement | HTMLUListElement, CNavbarNavProps>(\n  ({ children, component: Component = 'ul', className, ...rest }, ref) => {\n    return (\n      <Component\n        className={classNames('navbar-nav', className)}\n        role=\"navigation\"\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCNavbarNav.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCNavbarNav.displayName = 'CNavbarNav'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavbarTextProps extends HTMLAttributes<HTMLSpanElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CNavbarText = forwardRef<HTMLSpanElement, CNavbarTextProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <span className={classNames('navbar-text', className)} {...rest} ref={ref}>\n        {children}\n      </span>\n    )\n  },\n)\n\nCNavbarText.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCNavbarText.displayName = 'CNavbarText'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CNavbarTogglerProps extends HTMLAttributes<HTMLButtonElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CNavbarToggler = forwardRef<HTMLButtonElement, CNavbarTogglerProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <button type=\"button\" className={classNames('navbar-toggler', className)} {...rest} ref={ref}>\n        {children ?? <span className=\"navbar-toggler-icon\"></span>}\n      </button>\n    )\n  },\n)\n\nCNavbarToggler.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCNavbarToggler.displayName = 'CNavbarToggler'\n","import React, { forwardRef, HTMLAttributes, useEffect, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { CBackdrop } from '../backdrop'\nimport { CConditionalPortal } from '../conditional-portal'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface COffcanvasProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * Apply a backdrop on body while offcanvas is open.\n   */\n  backdrop?: boolean | 'static'\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Closes the offcanvas when escape key is pressed.\n   */\n  keyboard?: boolean\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Components placement, there’s no default placement.\n   */\n  placement: 'start' | 'end' | 'top' | 'bottom'\n  /**\n   * Generates modal using createPortal.\n   */\n  portal?: boolean\n  /**\n   * Responsive offcanvas property hide content outside the viewport from a specified breakpoint and down.\n   *\n   * @since 4.6.0\n   */\n  responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n  /**\n   * Allow body scrolling while offcanvas is open\n   */\n  scroll?: boolean\n  /**\n   * Toggle the visibility of offcanvas component.\n   */\n  visible?: boolean\n}\n\nexport const COffcanvas = forwardRef<HTMLDivElement, COffcanvasProps>(\n  (\n    {\n      children,\n      backdrop = true,\n      className,\n      keyboard = true,\n      onHide,\n      onShow,\n      placement,\n      portal = false,\n      responsive = true,\n      scroll = false,\n      visible = false,\n      ...rest\n    },\n    ref,\n  ) => {\n    const [_visible, setVisible] = useState<boolean>(visible)\n    const offcanvasRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, offcanvasRef)\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    useEffect(() => {\n      if (_visible && !scroll) {\n        document.body.style.overflow = 'hidden'\n        document.body.style.paddingRight = '0px'\n        return\n      }\n\n      if (!scroll) {\n        document.body.style.removeProperty('overflow')\n        document.body.style.removeProperty('padding-right')\n      }\n    }, [_visible])\n\n    const handleDismiss = () => {\n      setVisible(false)\n    }\n\n    const handleBackdropDismiss = () => {\n      if (backdrop !== 'static') {\n        setVisible(false)\n      }\n    }\n\n    const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n      if (event.key === 'Escape' && keyboard) {\n        return handleDismiss()\n      }\n    }\n\n    return (\n      <>\n        <Transition\n          in={_visible}\n          nodeRef={offcanvasRef}\n          onEnter={onShow}\n          onEntered={() => offcanvasRef.current?.focus()}\n          onExit={onHide}\n          timeout={300}\n        >\n          {(state) => (\n            <CConditionalPortal portal={portal}>\n              <div\n                className={classNames(\n                  {\n                    [`offcanvas${typeof responsive === 'string' ? '-' + responsive : ''}`]:\n                      responsive,\n                    [`offcanvas-${placement}`]: placement,\n                    showing: state === 'entering',\n                    show: state === 'entered',\n                    'show hiding': state === 'exiting',\n                  },\n                  className,\n                )}\n                role=\"dialog\"\n                tabIndex={-1}\n                onKeyDown={handleKeyDown}\n                {...rest}\n                ref={forkedRef}\n              >\n                {children}\n              </div>\n            </CConditionalPortal>\n          )}\n        </Transition>\n        {backdrop && (\n          <CConditionalPortal portal={portal}>\n            <CBackdrop\n              className=\"offcanvas-backdrop\"\n              onClick={handleBackdropDismiss}\n              visible={_visible}\n            />\n          </CConditionalPortal>\n        )}\n      </>\n    )\n  },\n)\n\nCOffcanvas.propTypes = {\n  backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'static'>(['static'])]),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  keyboard: PropTypes.bool,\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  placement: PropTypes.oneOf<'start' | 'end' | 'top' | 'bottom'>(['start', 'end', 'top', 'bottom'])\n    .isRequired,\n  portal: PropTypes.bool,\n  responsive: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),\n  ]),\n  scroll: PropTypes.bool,\n  visible: PropTypes.bool,\n}\n\nCOffcanvas.displayName = 'COffcanvas'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface COffcanvasBodyProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const COffcanvasBody = forwardRef<HTMLDivElement, COffcanvasBodyProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('offcanvas-body', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCOffcanvasBody.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCOffcanvasBody.displayName = 'COffcanvasBody'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface COffcanvasHeaderProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const COffcanvasHeader = forwardRef<HTMLDivElement, COffcanvasHeaderProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('offcanvas-header', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCOffcanvasHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCOffcanvasHeader.displayName = 'COffcanvasHeader'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface COffcanvasTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const COffcanvasTitle = forwardRef<HTMLHeadingElement, COffcanvasTitleProps>(\n  ({ children, component: Component = 'h5', className, ...rest }, ref) => {\n    return (\n      <Component className={classNames('offcanvas-title', className)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    )\n  },\n)\n\nCOffcanvasTitle.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCOffcanvasTitle.displayName = 'COffcanvasTitle'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CPaginationProps extends HTMLAttributes<HTMLUListElement> {\n  /**\n   * Set the alignment of pagination components.\n   */\n  align?: 'start' | 'center' | 'end'\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Size the component small or large.\n   */\n  size?: 'sm' | 'lg'\n}\n\nexport const CPagination = forwardRef<HTMLUListElement, CPaginationProps>(\n  ({ children, align, className, size, ...rest }, ref) => {\n    return (\n      <nav ref={ref} {...rest}>\n        <ul\n          className={classNames(\n            'pagination',\n            {\n              [`justify-content-${align}`]: align,\n              [`pagination-${size}`]: size,\n            },\n            className,\n          )}\n        >\n          {children}\n        </ul>\n      </nav>\n    )\n  },\n)\n\nCPagination.propTypes = {\n  align: PropTypes.oneOf(['start', 'center', 'end']),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  size: PropTypes.oneOf(['sm', 'lg']),\n}\n\nCPagination.displayName = 'CPagination'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CLink } from '../link/CLink'\n\nexport interface CPaginationItemProps extends HTMLAttributes<HTMLAnchorElement> {\n  /**\n   * Toggle the active state for the component.\n   */\n  active?: boolean\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Toggle the disabled state for the component.\n   */\n  disabled?: boolean\n}\n\nexport const CPaginationItem = forwardRef<HTMLAnchorElement, CPaginationItemProps>(\n  ({ children, className, component, ...rest }, ref) => {\n    const Component = component ?? (rest.active ? 'span' : 'a')\n\n    return (\n      <li\n        className={classNames(\n          'page-item',\n          {\n            active: rest.active,\n            disabled: rest.disabled,\n          },\n          className,\n        )}\n        {...(rest.active && { 'aria-current': 'page' })}\n      >\n        {Component === 'a' ? (\n          <CLink className=\"page-link\" component={Component} {...rest} ref={ref}>\n            {children}\n          </CLink>\n        ) : (\n          <Component className=\"page-link\" ref={ref}>\n            {children}\n          </Component>\n        )}\n      </li>\n    )\n  },\n)\n\nCPaginationItem.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  component: PropTypes.elementType,\n}\n\nCPaginationItem.displayName = 'CPaginationItem'\n","import React, { ElementType, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CPlaceholderProps extends HTMLAttributes<HTMLSpanElement> {\n  /**\n   * Set animation type to better convey the perception of something being actively loaded.\n   */\n  animation?: 'glow' | 'wave'\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n  /**\n   * Size the component extra small, small, or large.\n   */\n  size?: 'xs' | 'sm' | 'lg'\n  /**\n   * The number of columns on extra small devices (<576px).\n   */\n  xs?: number\n  /**\n   * The number of columns on small devices (<768px).\n   */\n  sm?: number\n  /**\n   * The number of columns on medium devices (<992px).\n   */\n  md?: number\n  /**\n   * The number of columns on large devices (<1200px).\n   */\n  lg?: number\n  /**\n   * The number of columns on X-Large devices (<1400px).\n   */\n  xl?: number\n  /**\n   * The number of columns on XX-Large devices (≥1400px).\n   */\n  xxl?: number\n}\n\nconst BREAKPOINTS = [\n  'xxl' as const,\n  'xl' as const,\n  'lg' as const,\n  'md' as const,\n  'sm' as const,\n  'xs' as const,\n]\n\nexport const CPlaceholder = forwardRef<HTMLSpanElement, CPlaceholderProps>(\n  (\n    { children, animation, className, color, component: Component = 'span', size, ...rest },\n    ref,\n  ) => {\n    const repsonsiveClassNames: string[] = []\n\n    BREAKPOINTS.forEach((bp) => {\n      const breakpoint = rest[bp]\n      delete rest[bp]\n\n      const infix = bp === 'xs' ? '' : `-${bp}`\n\n      if (typeof breakpoint === 'number') {\n        repsonsiveClassNames.push(`col${infix}-${breakpoint}`)\n      }\n\n      if (typeof breakpoint === 'boolean') {\n        repsonsiveClassNames.push(`col${infix}`)\n      }\n    })\n\n    return (\n      <Component\n        className={classNames(\n          animation ? `placeholder-${animation}` : 'placeholder',\n          {\n            [`bg-${color}`]: color,\n            [`placeholder-${size}`]: size,\n          },\n          repsonsiveClassNames,\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCPlaceholder.propTypes = {\n  animation: PropTypes.oneOf(['glow', 'wave']),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  component: PropTypes.elementType,\n  size: PropTypes.oneOf(['xs', 'sm', 'lg']),\n}\n\nCPlaceholder.displayName = 'CPlaceholder'\n","import React, { createContext, forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CProgressStackedProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport interface CProgressStackedContextProps {\n  stacked?: boolean\n}\n\nexport const CProgressStackedContext = createContext({} as CProgressStackedContextProps)\n\nexport const CProgressStacked = forwardRef<HTMLDivElement, CProgressStackedProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('progress-stacked', className)} ref={ref} {...rest}>\n        <CProgressStackedContext.Provider\n          value={{\n            stacked: true,\n          }}\n        >\n          {children}\n        </CProgressStackedContext.Provider>\n      </div>\n    )\n  },\n)\n\nCProgressStacked.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCProgressStacked.displayName = 'CProgressStacked'\n","import React, { forwardRef, HTMLAttributes, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CProgressStackedContext } from './CProgressStacked'\nimport { colorPropType, gradientsPropType } from '../../props'\nimport type { Colors, Gradients } from '../../types'\n\nexport interface CProgressBarProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * Use to animate the stripes right to left via CSS3 animations.\n   */\n  animated?: boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type {'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'primary-gradient' | 'secondary-gradient' | 'success-gradient' | 'danger-gradient' | 'warning-gradient' | 'info-gradient' | 'dark-gradient' | 'light-gradient' | string }\n   */\n  color?: Colors | Gradients\n  /**\n   * The percent to progress the ProgressBar.\n   */\n  value?: number\n  /**\n   * Set the progress bar variant to optional striped.\n   */\n  variant?: 'striped'\n}\n\nexport const CProgressBar = forwardRef<HTMLDivElement, CProgressBarProps>(\n  ({ children, animated, className, color, value = 0, variant, ...rest }, ref) => {\n    const { stacked } = useContext(CProgressStackedContext)\n\n    return (\n      <div\n        className={classNames(\n          'progress-bar',\n          {\n            [`bg-${color}`]: color,\n            [`progress-bar-${variant}`]: variant,\n            'progress-bar-animated': animated,\n          },\n          className,\n        )}\n        {...(!stacked && { style: { width: `${value}%` } })}\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </div>\n    )\n  },\n)\nCProgressBar.propTypes = {\n  animated: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: PropTypes.oneOfType([colorPropType, gradientsPropType]),\n  value: PropTypes.number,\n  variant: PropTypes.oneOf(['striped']),\n}\n\nCProgressBar.displayName = 'CProgressBar'\n","import React, { forwardRef, HTMLAttributes, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CProgressStackedContext } from './CProgressStacked'\nimport { CProgressBar, CProgressBarProps } from './CProgressBar'\n\nexport interface CProgressProps\n  extends Omit<HTMLAttributes<HTMLDivElement>, 'color'>,\n    CProgressBarProps {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the height of the component. If you set that value the inner `<CProgressBar>` will automatically resize accordingly.\n   */\n  height?: number\n  /**\n   * A string of all className you want applied to the <CProgressBar/> component.\n   *\n   * @since 4.9.0\n   */\n  progressBarClassName?: string\n  /**\n   * Makes progress bar thinner.\n   */\n  thin?: boolean\n  /**\n   * The percent to progress the ProgressBar (out of 100).\n   */\n  value?: number\n  /**\n   * Change the default color to white.\n   */\n  white?: boolean\n}\n\nexport const CProgress = forwardRef<HTMLDivElement, CProgressProps>(\n  ({ children, className, height, progressBarClassName, thin, value, white, ...rest }, ref) => {\n    const { stacked } = useContext(CProgressStackedContext)\n\n    return (\n      <div\n        className={classNames(\n          'progress',\n          {\n            'progress-thin': thin,\n            'progress-white': white,\n          },\n          className,\n        )}\n        {...(value !== undefined && {\n          role: 'progressbar',\n          'aria-valuenow': value,\n          'aria-valuemin': 0,\n          'aria-valuemax': 100,\n        })}\n        style={{\n          ...(height ? { height: `${height}px` } : {}),\n          ...(stacked ? { width: `${value}%` } : {}),\n        }}\n        ref={ref}\n      >\n        {React.Children.toArray(children).some(\n          // @ts-expect-error displayName is set in the CProgressBar component\n          (child) => child.type && child.type.displayName === 'CProgressBar',\n        ) ? (\n          React.Children.map(children, (child) => {\n            // @ts-expect-error displayName is set in the CProgressBar component\n            if (React.isValidElement(child) && child.type.displayName === 'CProgressBar') {\n              return React.cloneElement(child, {\n                ...(value && { value: value }),\n                ...rest,\n              })\n            }\n\n            return\n          })\n        ) : (\n          <CProgressBar\n            {...(progressBarClassName && { className: progressBarClassName })}\n            value={value}\n            {...rest}\n          >\n            {children}\n          </CProgressBar>\n        )}\n      </div>\n    )\n  },\n)\n\nCProgress.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  height: PropTypes.number,\n  progressBarClassName: PropTypes.string,\n  thin: PropTypes.bool,\n  value: PropTypes.number,\n  white: PropTypes.bool,\n}\n\nCProgress.displayName = 'CProgress'\n","import React, { forwardRef, HTMLAttributes, ReactNode, useRef, useEffect, useState } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { Transition } from 'react-transition-group'\n\nimport { CConditionalPortal } from '../conditional-portal'\nimport { useForkedRef, usePopper } from '../../hooks'\nimport { fallbackPlacementsPropType, triggerPropType } from '../../props'\nimport type { Placements, Triggers } from '../../types'\nimport { getRTLPlacement, getTransitionDurationFromElement } from '../../utils'\n\nexport interface CPopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'content'> {\n  /**\n   * Apply a CSS fade transition to the popover.\n   *\n   * @since 4.9.0\n   */\n  animation?: boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Appends the react popover to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.\n   *\n   * @since v4.11.0\n   */\n  container?: Element | (() => Element | null) | null\n  /**\n   * Content node for your component.\n   */\n  content: ReactNode | string\n  /**\n   * Offset of the popover relative to its target.\n   */\n  offset?: [number, number]\n  /**\n   * The delay for displaying and hiding the popover (in milliseconds). When a numerical value is provided, the delay applies to both the hide and show actions. The object structure for specifying the delay is as follows: delay: `{ 'show': 500, 'hide': 100 }`.\n   *\n   * @since 4.9.0\n   */\n  delay?: number | { show: number; hide: number }\n  /**\n   * Specify the desired order of fallback placements by providing a list of placements as an array. The placements should be prioritized based on preference.\n   *\n   * @since 4.9.0\n   */\n  fallbackPlacements?: Placements | Placements[]\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Title node for your component.\n   */\n  title?: ReactNode | string\n  /**\n   * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n   *\n   * @type 'hover' | 'focus' | 'click'\n   */\n  trigger?: Triggers | Triggers[]\n  /**\n   * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n   */\n  placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left'\n  /**\n   * Toggle the visibility of popover component.\n   */\n  visible?: boolean\n}\n\nexport const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(\n  (\n    {\n      children,\n      animation = true,\n      className,\n      container,\n      content,\n      delay = 0,\n      fallbackPlacements = ['top', 'right', 'bottom', 'left'],\n      offset = [0, 8],\n      onHide,\n      onShow,\n      placement = 'top',\n      title,\n      trigger = 'click',\n      visible,\n      ...rest\n    },\n    ref,\n  ) => {\n    const popoverRef = useRef<HTMLDivElement>(null)\n    const togglerRef = useRef(null)\n    const forkedRef = useForkedRef(ref, popoverRef)\n    const uID = useRef(`popover${Math.floor(Math.random() * 1_000_000)}`)\n\n    const { initPopper, destroyPopper } = usePopper()\n    const [_visible, setVisible] = useState(visible)\n\n    const _delay = typeof delay === 'number' ? { show: delay, hide: delay } : delay\n\n    const popperConfig = {\n      modifiers: [\n        {\n          name: 'arrow',\n          options: {\n            element: '.popover-arrow',\n          },\n        },\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: fallbackPlacements,\n          },\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: offset,\n          },\n        },\n      ],\n      placement: getRTLPlacement(placement, togglerRef.current),\n    }\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    const toggleVisible = (visible: boolean) => {\n      if (visible) {\n        setTimeout(() => setVisible(true), _delay.show)\n        return\n      }\n\n      setTimeout(() => setVisible(false), _delay.hide)\n    }\n\n    return (\n      <>\n        {React.cloneElement(children as React.ReactElement<any>, {\n          ...(_visible && {\n            'aria-describedby': uID.current,\n          }),\n          ref: togglerRef,\n          ...((trigger === 'click' || trigger.includes('click')) && {\n            onClick: () => toggleVisible(!_visible),\n          }),\n          ...((trigger === 'focus' || trigger.includes('focus')) && {\n            onFocus: () => toggleVisible(true),\n            onBlur: () => toggleVisible(false),\n          }),\n          ...((trigger === 'hover' || trigger.includes('hover')) && {\n            onMouseEnter: () => toggleVisible(true),\n            onMouseLeave: () => toggleVisible(false),\n          }),\n        })}\n        <CConditionalPortal container={container} portal={true}>\n          <Transition\n            in={_visible}\n            mountOnEnter\n            nodeRef={popoverRef}\n            onEnter={() => {\n              if (togglerRef.current && popoverRef.current) {\n                initPopper(togglerRef.current, popoverRef.current, popperConfig)\n              }\n\n              onShow\n            }}\n            onEntering={() => {\n              if (togglerRef.current && popoverRef.current) {\n                popoverRef.current.style.display = 'initial'\n              }\n            }}\n            onExit={onHide}\n            onExited={() => {\n              destroyPopper()\n            }}\n            timeout={{\n              enter: 0,\n              exit: popoverRef.current\n                ? getTransitionDurationFromElement(popoverRef.current) + 50\n                : 200,\n            }}\n            unmountOnExit\n          >\n            {(state) => (\n              <div\n                className={classNames(\n                  'popover',\n                  'bs-popover-auto',\n                  {\n                    fade: animation,\n                    show: state === 'entered',\n                  },\n                  className,\n                )}\n                id={uID.current}\n                ref={forkedRef}\n                role=\"tooltip\"\n                style={{\n                  display: 'none',\n                }}\n                {...rest}\n              >\n                <div className=\"popover-arrow\"></div>\n                <div className=\"popover-header\">{title}</div>\n                <div className=\"popover-body\">{content}</div>\n              </div>\n            )}\n          </Transition>\n        </CConditionalPortal>\n      </>\n    )\n  },\n)\n\nCPopover.propTypes = {\n  animation: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  container: PropTypes.any,\n  content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  delay: PropTypes.oneOfType([\n    PropTypes.number,\n    PropTypes.shape({\n      show: PropTypes.number.isRequired,\n      hide: PropTypes.number.isRequired,\n    }),\n  ]),\n  fallbackPlacements: fallbackPlacementsPropType,\n  offset: PropTypes.any, // TODO: find good proptype\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  trigger: triggerPropType,\n  visible: PropTypes.bool,\n}\n\nCPopover.displayName = 'CPopover'\n","var cilArrowBottom = [\"512 512\", \"<polygon fill='var(--ci-primary-color, currentColor)' points='367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75' class='ci-primary'/>\"];\n\nexport { cilArrowBottom };\n//# sourceMappingURL=cil-arrow-bottom.js.map\n","var cilArrowTop = [\"512 512\", \"<polygon fill='var(--ci-primary-color, currentColor)' points='390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625' class='ci-primary'/>\"];\n\nexport { cilArrowTop };\n//# sourceMappingURL=cil-arrow-top.js.map\n","var cilFilterX = [\"512 512\", \"<polygon fill='var(--ci-primary-color, currentColor)' points='40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16' class='ci-primary'/><polygon fill='var(--ci-primary-color, currentColor)' points='166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225' class='ci-primary'/>\"];\n\nexport { cilFilterX };\n//# sourceMappingURL=cil-filter-x.js.map\n","var cilSwapVertical = [\"512 512\", \"<polygon fill='var(--ci-primary-color, currentColor)' points='384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373' class='ci-primary'/><polygon fill='var(--ci-primary-color, currentColor)' points='159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372' class='ci-primary'/>\"];\n\nexport { cilSwapVertical };\n//# sourceMappingURL=cil-swap-vertical.js.map\n","import React, { forwardRef, useState, useMemo } from 'react';\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, SuppressedError, Symbol */\r\n\r\n\r\nvar __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\nfunction __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\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n    var e = new Error(message);\r\n    return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar propTypes = {exports: {}};\n\nvar reactIs = {exports: {}};\n\nvar reactIs_production_min = {};\n\n/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production_min;\n\nfunction requireReactIs_production_min () {\n\tif (hasRequiredReactIs_production_min) return reactIs_production_min;\n\thasRequiredReactIs_production_min = 1;\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\n\tSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\n\tfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r;reactIs_production_min.Portal=d;\n\treactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p;reactIs_production_min.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min.isConcurrentMode=A;reactIs_production_min.isContextConsumer=function(a){return z(a)===k};reactIs_production_min.isContextProvider=function(a){return z(a)===h};reactIs_production_min.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min.isForwardRef=function(a){return z(a)===n};reactIs_production_min.isFragment=function(a){return z(a)===e};reactIs_production_min.isLazy=function(a){return z(a)===t};\n\treactIs_production_min.isMemo=function(a){return z(a)===r};reactIs_production_min.isPortal=function(a){return z(a)===d};reactIs_production_min.isProfiler=function(a){return z(a)===g};reactIs_production_min.isStrictMode=function(a){return z(a)===f};reactIs_production_min.isSuspense=function(a){return z(a)===p};\n\treactIs_production_min.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min.typeOf=z;\n\treturn reactIs_production_min;\n}\n\nvar reactIs_development = {};\n\n/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_development;\n\nfunction requireReactIs_development () {\n\tif (hasRequiredReactIs_development) return reactIs_development;\n\thasRequiredReactIs_development = 1;\n\n\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t  (function() {\n\n\t// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n\t// nor polyfill, then a plain number is used for performance.\n\tvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\tvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\n\tvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\n\tvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\n\tvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\n\tvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\n\tvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\n\tvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n\t// (unstable) APIs that have been removed. Can we remove the symbols?\n\n\tvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\n\tvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\n\tvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n\tvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\n\tvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\n\tvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\n\tvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\tvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\n\tvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\n\tvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\n\tvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\n\tfunction isValidElementType(type) {\n\t  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n\t  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n\t}\n\n\tfunction typeOf(object) {\n\t  if (typeof object === 'object' && object !== null) {\n\t    var $$typeof = object.$$typeof;\n\n\t    switch ($$typeof) {\n\t      case REACT_ELEMENT_TYPE:\n\t        var type = object.type;\n\n\t        switch (type) {\n\t          case REACT_ASYNC_MODE_TYPE:\n\t          case REACT_CONCURRENT_MODE_TYPE:\n\t          case REACT_FRAGMENT_TYPE:\n\t          case REACT_PROFILER_TYPE:\n\t          case REACT_STRICT_MODE_TYPE:\n\t          case REACT_SUSPENSE_TYPE:\n\t            return type;\n\n\t          default:\n\t            var $$typeofType = type && type.$$typeof;\n\n\t            switch ($$typeofType) {\n\t              case REACT_CONTEXT_TYPE:\n\t              case REACT_FORWARD_REF_TYPE:\n\t              case REACT_LAZY_TYPE:\n\t              case REACT_MEMO_TYPE:\n\t              case REACT_PROVIDER_TYPE:\n\t                return $$typeofType;\n\n\t              default:\n\t                return $$typeof;\n\t            }\n\n\t        }\n\n\t      case REACT_PORTAL_TYPE:\n\t        return $$typeof;\n\t    }\n\t  }\n\n\t  return undefined;\n\t} // AsyncMode is deprecated along with isAsyncMode\n\n\tvar AsyncMode = REACT_ASYNC_MODE_TYPE;\n\tvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\n\tvar ContextConsumer = REACT_CONTEXT_TYPE;\n\tvar ContextProvider = REACT_PROVIDER_TYPE;\n\tvar Element = REACT_ELEMENT_TYPE;\n\tvar ForwardRef = REACT_FORWARD_REF_TYPE;\n\tvar Fragment = REACT_FRAGMENT_TYPE;\n\tvar Lazy = REACT_LAZY_TYPE;\n\tvar Memo = REACT_MEMO_TYPE;\n\tvar Portal = REACT_PORTAL_TYPE;\n\tvar Profiler = REACT_PROFILER_TYPE;\n\tvar StrictMode = REACT_STRICT_MODE_TYPE;\n\tvar Suspense = REACT_SUSPENSE_TYPE;\n\tvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\n\tfunction isAsyncMode(object) {\n\t  {\n\t    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n\t      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n\t      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n\t    }\n\t  }\n\n\t  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n\t}\n\tfunction isConcurrentMode(object) {\n\t  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n\t}\n\tfunction isContextConsumer(object) {\n\t  return typeOf(object) === REACT_CONTEXT_TYPE;\n\t}\n\tfunction isContextProvider(object) {\n\t  return typeOf(object) === REACT_PROVIDER_TYPE;\n\t}\n\tfunction isElement(object) {\n\t  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n\t}\n\tfunction isForwardRef(object) {\n\t  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t}\n\tfunction isFragment(object) {\n\t  return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t}\n\tfunction isLazy(object) {\n\t  return typeOf(object) === REACT_LAZY_TYPE;\n\t}\n\tfunction isMemo(object) {\n\t  return typeOf(object) === REACT_MEMO_TYPE;\n\t}\n\tfunction isPortal(object) {\n\t  return typeOf(object) === REACT_PORTAL_TYPE;\n\t}\n\tfunction isProfiler(object) {\n\t  return typeOf(object) === REACT_PROFILER_TYPE;\n\t}\n\tfunction isStrictMode(object) {\n\t  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t}\n\tfunction isSuspense(object) {\n\t  return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t}\n\n\treactIs_development.AsyncMode = AsyncMode;\n\treactIs_development.ConcurrentMode = ConcurrentMode;\n\treactIs_development.ContextConsumer = ContextConsumer;\n\treactIs_development.ContextProvider = ContextProvider;\n\treactIs_development.Element = Element;\n\treactIs_development.ForwardRef = ForwardRef;\n\treactIs_development.Fragment = Fragment;\n\treactIs_development.Lazy = Lazy;\n\treactIs_development.Memo = Memo;\n\treactIs_development.Portal = Portal;\n\treactIs_development.Profiler = Profiler;\n\treactIs_development.StrictMode = StrictMode;\n\treactIs_development.Suspense = Suspense;\n\treactIs_development.isAsyncMode = isAsyncMode;\n\treactIs_development.isConcurrentMode = isConcurrentMode;\n\treactIs_development.isContextConsumer = isContextConsumer;\n\treactIs_development.isContextProvider = isContextProvider;\n\treactIs_development.isElement = isElement;\n\treactIs_development.isForwardRef = isForwardRef;\n\treactIs_development.isFragment = isFragment;\n\treactIs_development.isLazy = isLazy;\n\treactIs_development.isMemo = isMemo;\n\treactIs_development.isPortal = isPortal;\n\treactIs_development.isProfiler = isProfiler;\n\treactIs_development.isStrictMode = isStrictMode;\n\treactIs_development.isSuspense = isSuspense;\n\treactIs_development.isValidElementType = isValidElementType;\n\treactIs_development.typeOf = typeOf;\n\t  })();\n\t}\n\treturn reactIs_development;\n}\n\nvar hasRequiredReactIs;\n\nfunction requireReactIs () {\n\tif (hasRequiredReactIs) return reactIs.exports;\n\thasRequiredReactIs = 1;\n\n\tif (process.env.NODE_ENV === 'production') {\n\t  reactIs.exports = requireReactIs_production_min();\n\t} else {\n\t  reactIs.exports = requireReactIs_development();\n\t}\n\treturn reactIs.exports;\n}\n\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\nvar objectAssign;\nvar hasRequiredObjectAssign;\n\nfunction requireObjectAssign () {\n\tif (hasRequiredObjectAssign) return objectAssign;\n\thasRequiredObjectAssign = 1;\n\t/* eslint-disable no-unused-vars */\n\tvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tobjectAssign = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (getOwnPropertySymbols) {\n\t\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\treturn objectAssign;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar ReactPropTypesSecret_1;\nvar hasRequiredReactPropTypesSecret;\n\nfunction requireReactPropTypesSecret () {\n\tif (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;\n\thasRequiredReactPropTypesSecret = 1;\n\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\n\tReactPropTypesSecret_1 = ReactPropTypesSecret;\n\treturn ReactPropTypesSecret_1;\n}\n\nvar has;\nvar hasRequiredHas;\n\nfunction requireHas () {\n\tif (hasRequiredHas) return has;\n\thasRequiredHas = 1;\n\thas = Function.call.bind(Object.prototype.hasOwnProperty);\n\treturn has;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar checkPropTypes_1;\nvar hasRequiredCheckPropTypes;\n\nfunction requireCheckPropTypes () {\n\tif (hasRequiredCheckPropTypes) return checkPropTypes_1;\n\thasRequiredCheckPropTypes = 1;\n\n\tvar printWarning = function() {};\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t  var ReactPropTypesSecret = requireReactPropTypesSecret();\n\t  var loggedTypeFailures = {};\n\t  var has = requireHas();\n\n\t  printWarning = function(text) {\n\t    var message = 'Warning: ' + text;\n\t    if (typeof console !== 'undefined') {\n\t      console.error(message);\n\t    }\n\t    try {\n\t      // --- Welcome to debugging React ---\n\t      // This error was thrown as a convenience so that you can use this stack\n\t      // to find the callsite that caused this warning to fire.\n\t      throw new Error(message);\n\t    } catch (x) { /**/ }\n\t  };\n\t}\n\n\t/**\n\t * Assert that the values match with the type specs.\n\t * Error messages are memorized and will only be shown once.\n\t *\n\t * @param {object} typeSpecs Map of name to a ReactPropType\n\t * @param {object} values Runtime values that need to be type-checked\n\t * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n\t * @param {string} componentName Name of the component for error messages.\n\t * @param {?Function} getStack Returns the component stack.\n\t * @private\n\t */\n\tfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n\t  if (process.env.NODE_ENV !== 'production') {\n\t    for (var typeSpecName in typeSpecs) {\n\t      if (has(typeSpecs, typeSpecName)) {\n\t        var error;\n\t        // Prop type validation may throw. In case they do, we don't want to\n\t        // fail the render phase where it didn't fail before. So we log it.\n\t        // After these have been cleaned up, we'll let them throw.\n\t        try {\n\t          // This is intentionally an invariant that gets caught. It's the same\n\t          // behavior as without this statement except with a better message.\n\t          if (typeof typeSpecs[typeSpecName] !== 'function') {\n\t            var err = Error(\n\t              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n\t              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n\t              'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n\t            );\n\t            err.name = 'Invariant Violation';\n\t            throw err;\n\t          }\n\t          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n\t        } catch (ex) {\n\t          error = ex;\n\t        }\n\t        if (error && !(error instanceof Error)) {\n\t          printWarning(\n\t            (componentName || 'React class') + ': type specification of ' +\n\t            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n\t            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n\t            'You may have forgotten to pass an argument to the type checker ' +\n\t            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n\t            'shape all require an argument).'\n\t          );\n\t        }\n\t        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n\t          // Only monitor this failure once because there tends to be a lot of the\n\t          // same error.\n\t          loggedTypeFailures[error.message] = true;\n\n\t          var stack = getStack ? getStack() : '';\n\n\t          printWarning(\n\t            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n\t          );\n\t        }\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Resets warning cache when testing.\n\t *\n\t * @private\n\t */\n\tcheckPropTypes.resetWarningCache = function() {\n\t  if (process.env.NODE_ENV !== 'production') {\n\t    loggedTypeFailures = {};\n\t  }\n\t};\n\n\tcheckPropTypes_1 = checkPropTypes;\n\treturn checkPropTypes_1;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar factoryWithTypeCheckers;\nvar hasRequiredFactoryWithTypeCheckers;\n\nfunction requireFactoryWithTypeCheckers () {\n\tif (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers;\n\thasRequiredFactoryWithTypeCheckers = 1;\n\n\tvar ReactIs = requireReactIs();\n\tvar assign = requireObjectAssign();\n\n\tvar ReactPropTypesSecret = requireReactPropTypesSecret();\n\tvar has = requireHas();\n\tvar checkPropTypes = requireCheckPropTypes();\n\n\tvar printWarning = function() {};\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t  printWarning = function(text) {\n\t    var message = 'Warning: ' + text;\n\t    if (typeof console !== 'undefined') {\n\t      console.error(message);\n\t    }\n\t    try {\n\t      // --- Welcome to debugging React ---\n\t      // This error was thrown as a convenience so that you can use this stack\n\t      // to find the callsite that caused this warning to fire.\n\t      throw new Error(message);\n\t    } catch (x) {}\n\t  };\n\t}\n\n\tfunction emptyFunctionThatReturnsNull() {\n\t  return null;\n\t}\n\n\tfactoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {\n\t  /* global Symbol */\n\t  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n\t  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n\t  /**\n\t   * Returns the iterator method function contained on the iterable object.\n\t   *\n\t   * Be sure to invoke the function with the iterable as context:\n\t   *\n\t   *     var iteratorFn = getIteratorFn(myIterable);\n\t   *     if (iteratorFn) {\n\t   *       var iterator = iteratorFn.call(myIterable);\n\t   *       ...\n\t   *     }\n\t   *\n\t   * @param {?object} maybeIterable\n\t   * @return {?function}\n\t   */\n\t  function getIteratorFn(maybeIterable) {\n\t    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\t    if (typeof iteratorFn === 'function') {\n\t      return iteratorFn;\n\t    }\n\t  }\n\n\t  /**\n\t   * Collection of methods that allow declaration and validation of props that are\n\t   * supplied to React components. Example usage:\n\t   *\n\t   *   var Props = require('ReactPropTypes');\n\t   *   var MyArticle = React.createClass({\n\t   *     propTypes: {\n\t   *       // An optional string prop named \"description\".\n\t   *       description: Props.string,\n\t   *\n\t   *       // A required enum prop named \"category\".\n\t   *       category: Props.oneOf(['News','Photos']).isRequired,\n\t   *\n\t   *       // A prop named \"dialog\" that requires an instance of Dialog.\n\t   *       dialog: Props.instanceOf(Dialog).isRequired\n\t   *     },\n\t   *     render: function() { ... }\n\t   *   });\n\t   *\n\t   * A more formal specification of how these methods are used:\n\t   *\n\t   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n\t   *   decl := ReactPropTypes.{type}(.isRequired)?\n\t   *\n\t   * Each and every declaration produces a function with the same signature. This\n\t   * allows the creation of custom validation functions. For example:\n\t   *\n\t   *  var MyLink = React.createClass({\n\t   *    propTypes: {\n\t   *      // An optional string or URI prop named \"href\".\n\t   *      href: function(props, propName, componentName) {\n\t   *        var propValue = props[propName];\n\t   *        if (propValue != null && typeof propValue !== 'string' &&\n\t   *            !(propValue instanceof URI)) {\n\t   *          return new Error(\n\t   *            'Expected a string or an URI for ' + propName + ' in ' +\n\t   *            componentName\n\t   *          );\n\t   *        }\n\t   *      }\n\t   *    },\n\t   *    render: function() {...}\n\t   *  });\n\t   *\n\t   * @internal\n\t   */\n\n\t  var ANONYMOUS = '<<anonymous>>';\n\n\t  // Important!\n\t  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n\t  var ReactPropTypes = {\n\t    array: createPrimitiveTypeChecker('array'),\n\t    bigint: createPrimitiveTypeChecker('bigint'),\n\t    bool: createPrimitiveTypeChecker('boolean'),\n\t    func: createPrimitiveTypeChecker('function'),\n\t    number: createPrimitiveTypeChecker('number'),\n\t    object: createPrimitiveTypeChecker('object'),\n\t    string: createPrimitiveTypeChecker('string'),\n\t    symbol: createPrimitiveTypeChecker('symbol'),\n\n\t    any: createAnyTypeChecker(),\n\t    arrayOf: createArrayOfTypeChecker,\n\t    element: createElementTypeChecker(),\n\t    elementType: createElementTypeTypeChecker(),\n\t    instanceOf: createInstanceTypeChecker,\n\t    node: createNodeChecker(),\n\t    objectOf: createObjectOfTypeChecker,\n\t    oneOf: createEnumTypeChecker,\n\t    oneOfType: createUnionTypeChecker,\n\t    shape: createShapeTypeChecker,\n\t    exact: createStrictShapeTypeChecker,\n\t  };\n\n\t  /**\n\t   * inlined Object.is polyfill to avoid requiring consumers ship their own\n\t   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\t   */\n\t  /*eslint-disable no-self-compare*/\n\t  function is(x, y) {\n\t    // SameValue algorithm\n\t    if (x === y) {\n\t      // Steps 1-5, 7-10\n\t      // Steps 6.b-6.e: +0 != -0\n\t      return x !== 0 || 1 / x === 1 / y;\n\t    } else {\n\t      // Step 6.a: NaN == NaN\n\t      return x !== x && y !== y;\n\t    }\n\t  }\n\t  /*eslint-enable no-self-compare*/\n\n\t  /**\n\t   * We use an Error-like object for backward compatibility as people may call\n\t   * PropTypes directly and inspect their output. However, we don't use real\n\t   * Errors anymore. We don't inspect their stack anyway, and creating them\n\t   * is prohibitively expensive if they are created too often, such as what\n\t   * happens in oneOfType() for any type before the one that matched.\n\t   */\n\t  function PropTypeError(message, data) {\n\t    this.message = message;\n\t    this.data = data && typeof data === 'object' ? data: {};\n\t    this.stack = '';\n\t  }\n\t  // Make `instanceof Error` still work for returned errors.\n\t  PropTypeError.prototype = Error.prototype;\n\n\t  function createChainableTypeChecker(validate) {\n\t    if (process.env.NODE_ENV !== 'production') {\n\t      var manualPropTypeCallCache = {};\n\t      var manualPropTypeWarningCount = 0;\n\t    }\n\t    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n\t      componentName = componentName || ANONYMOUS;\n\t      propFullName = propFullName || propName;\n\n\t      if (secret !== ReactPropTypesSecret) {\n\t        if (throwOnDirectAccess) {\n\t          // New behavior only for users of `prop-types` package\n\t          var err = new Error(\n\t            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t            'Use `PropTypes.checkPropTypes()` to call them. ' +\n\t            'Read more at http://fb.me/use-check-prop-types'\n\t          );\n\t          err.name = 'Invariant Violation';\n\t          throw err;\n\t        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n\t          // Old behavior for people using React.PropTypes\n\t          var cacheKey = componentName + ':' + propName;\n\t          if (\n\t            !manualPropTypeCallCache[cacheKey] &&\n\t            // Avoid spamming the console because they are often not actionable except for lib authors\n\t            manualPropTypeWarningCount < 3\n\t          ) {\n\t            printWarning(\n\t              'You are manually calling a React.PropTypes validation ' +\n\t              'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n\t              'and will throw in the standalone `prop-types` package. ' +\n\t              'You may be seeing this warning due to a third-party PropTypes ' +\n\t              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n\t            );\n\t            manualPropTypeCallCache[cacheKey] = true;\n\t            manualPropTypeWarningCount++;\n\t          }\n\t        }\n\t      }\n\t      if (props[propName] == null) {\n\t        if (isRequired) {\n\t          if (props[propName] === null) {\n\t            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n\t          }\n\t          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n\t        }\n\t        return null;\n\t      } else {\n\t        return validate(props, propName, componentName, location, propFullName);\n\t      }\n\t    }\n\n\t    var chainedCheckType = checkType.bind(null, false);\n\t    chainedCheckType.isRequired = checkType.bind(null, true);\n\n\t    return chainedCheckType;\n\t  }\n\n\t  function createPrimitiveTypeChecker(expectedType) {\n\t    function validate(props, propName, componentName, location, propFullName, secret) {\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== expectedType) {\n\t        // `propValue` being instance of, say, date/regexp, pass the 'object'\n\t        // check, but we can offer a more precise error message here rather than\n\t        // 'of type `object`'.\n\t        var preciseType = getPreciseType(propValue);\n\n\t        return new PropTypeError(\n\t          'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n\t          {expectedType: expectedType}\n\t        );\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createAnyTypeChecker() {\n\t    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n\t  }\n\n\t  function createArrayOfTypeChecker(typeChecker) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (typeof typeChecker !== 'function') {\n\t        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n\t      }\n\t      var propValue = props[propName];\n\t      if (!Array.isArray(propValue)) {\n\t        var propType = getPropType(propValue);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n\t      }\n\t      for (var i = 0; i < propValue.length; i++) {\n\t        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n\t        if (error instanceof Error) {\n\t          return error;\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createElementTypeChecker() {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      if (!isValidElement(propValue)) {\n\t        var propType = getPropType(propValue);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createElementTypeTypeChecker() {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      if (!ReactIs.isValidElementType(propValue)) {\n\t        var propType = getPropType(propValue);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createInstanceTypeChecker(expectedClass) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (!(props[propName] instanceof expectedClass)) {\n\t        var expectedClassName = expectedClass.name || ANONYMOUS;\n\t        var actualClassName = getClassName(props[propName]);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createEnumTypeChecker(expectedValues) {\n\t    if (!Array.isArray(expectedValues)) {\n\t      if (process.env.NODE_ENV !== 'production') {\n\t        if (arguments.length > 1) {\n\t          printWarning(\n\t            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n\t            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n\t          );\n\t        } else {\n\t          printWarning('Invalid argument supplied to oneOf, expected an array.');\n\t        }\n\t      }\n\t      return emptyFunctionThatReturnsNull;\n\t    }\n\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      for (var i = 0; i < expectedValues.length; i++) {\n\t        if (is(propValue, expectedValues[i])) {\n\t          return null;\n\t        }\n\t      }\n\n\t      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n\t        var type = getPreciseType(value);\n\t        if (type === 'symbol') {\n\t          return String(value);\n\t        }\n\t        return value;\n\t      });\n\t      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createObjectOfTypeChecker(typeChecker) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (typeof typeChecker !== 'function') {\n\t        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n\t      }\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== 'object') {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n\t      }\n\t      for (var key in propValue) {\n\t        if (has(propValue, key)) {\n\t          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t          if (error instanceof Error) {\n\t            return error;\n\t          }\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createUnionTypeChecker(arrayOfTypeCheckers) {\n\t    if (!Array.isArray(arrayOfTypeCheckers)) {\n\t      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n\t      return emptyFunctionThatReturnsNull;\n\t    }\n\n\t    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t      var checker = arrayOfTypeCheckers[i];\n\t      if (typeof checker !== 'function') {\n\t        printWarning(\n\t          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n\t          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n\t        );\n\t        return emptyFunctionThatReturnsNull;\n\t      }\n\t    }\n\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var expectedTypes = [];\n\t      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t        var checker = arrayOfTypeCheckers[i];\n\t        var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n\t        if (checkerResult == null) {\n\t          return null;\n\t        }\n\t        if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n\t          expectedTypes.push(checkerResult.data.expectedType);\n\t        }\n\t      }\n\t      var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n\t      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createNodeChecker() {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (!isNode(props[propName])) {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function invalidValidatorError(componentName, location, propFullName, key, type) {\n\t    return new PropTypeError(\n\t      (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n\t      'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n\t    );\n\t  }\n\n\t  function createShapeTypeChecker(shapeTypes) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== 'object') {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t      }\n\t      for (var key in shapeTypes) {\n\t        var checker = shapeTypes[key];\n\t        if (typeof checker !== 'function') {\n\t          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n\t        }\n\t        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t        if (error) {\n\t          return error;\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function createStrictShapeTypeChecker(shapeTypes) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== 'object') {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t      }\n\t      // We need to check all keys in case some are required but missing from props.\n\t      var allKeys = assign({}, props[propName], shapeTypes);\n\t      for (var key in allKeys) {\n\t        var checker = shapeTypes[key];\n\t        if (has(shapeTypes, key) && typeof checker !== 'function') {\n\t          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n\t        }\n\t        if (!checker) {\n\t          return new PropTypeError(\n\t            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n\t            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n\t            '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, '  ')\n\t          );\n\t        }\n\t        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t        if (error) {\n\t          return error;\n\t        }\n\t      }\n\t      return null;\n\t    }\n\n\t    return createChainableTypeChecker(validate);\n\t  }\n\n\t  function isNode(propValue) {\n\t    switch (typeof propValue) {\n\t      case 'number':\n\t      case 'string':\n\t      case 'undefined':\n\t        return true;\n\t      case 'boolean':\n\t        return !propValue;\n\t      case 'object':\n\t        if (Array.isArray(propValue)) {\n\t          return propValue.every(isNode);\n\t        }\n\t        if (propValue === null || isValidElement(propValue)) {\n\t          return true;\n\t        }\n\n\t        var iteratorFn = getIteratorFn(propValue);\n\t        if (iteratorFn) {\n\t          var iterator = iteratorFn.call(propValue);\n\t          var step;\n\t          if (iteratorFn !== propValue.entries) {\n\t            while (!(step = iterator.next()).done) {\n\t              if (!isNode(step.value)) {\n\t                return false;\n\t              }\n\t            }\n\t          } else {\n\t            // Iterator will provide entry [k,v] tuples rather than values.\n\t            while (!(step = iterator.next()).done) {\n\t              var entry = step.value;\n\t              if (entry) {\n\t                if (!isNode(entry[1])) {\n\t                  return false;\n\t                }\n\t              }\n\t            }\n\t          }\n\t        } else {\n\t          return false;\n\t        }\n\n\t        return true;\n\t      default:\n\t        return false;\n\t    }\n\t  }\n\n\t  function isSymbol(propType, propValue) {\n\t    // Native Symbol.\n\t    if (propType === 'symbol') {\n\t      return true;\n\t    }\n\n\t    // falsy value can't be a Symbol\n\t    if (!propValue) {\n\t      return false;\n\t    }\n\n\t    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\t    if (propValue['@@toStringTag'] === 'Symbol') {\n\t      return true;\n\t    }\n\n\t    // Fallback for non-spec compliant Symbols which are polyfilled.\n\t    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n\t      return true;\n\t    }\n\n\t    return false;\n\t  }\n\n\t  // Equivalent of `typeof` but with special handling for array and regexp.\n\t  function getPropType(propValue) {\n\t    var propType = typeof propValue;\n\t    if (Array.isArray(propValue)) {\n\t      return 'array';\n\t    }\n\t    if (propValue instanceof RegExp) {\n\t      // Old webkits (at least until Android 4.0) return 'function' rather than\n\t      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n\t      // passes PropTypes.object.\n\t      return 'object';\n\t    }\n\t    if (isSymbol(propType, propValue)) {\n\t      return 'symbol';\n\t    }\n\t    return propType;\n\t  }\n\n\t  // This handles more types than `getPropType`. Only used for error messages.\n\t  // See `createPrimitiveTypeChecker`.\n\t  function getPreciseType(propValue) {\n\t    if (typeof propValue === 'undefined' || propValue === null) {\n\t      return '' + propValue;\n\t    }\n\t    var propType = getPropType(propValue);\n\t    if (propType === 'object') {\n\t      if (propValue instanceof Date) {\n\t        return 'date';\n\t      } else if (propValue instanceof RegExp) {\n\t        return 'regexp';\n\t      }\n\t    }\n\t    return propType;\n\t  }\n\n\t  // Returns a string that is postfixed to a warning about an invalid type.\n\t  // For example, \"undefined\" or \"of type array\"\n\t  function getPostfixForTypeWarning(value) {\n\t    var type = getPreciseType(value);\n\t    switch (type) {\n\t      case 'array':\n\t      case 'object':\n\t        return 'an ' + type;\n\t      case 'boolean':\n\t      case 'date':\n\t      case 'regexp':\n\t        return 'a ' + type;\n\t      default:\n\t        return type;\n\t    }\n\t  }\n\n\t  // Returns class name of the object, if any.\n\t  function getClassName(propValue) {\n\t    if (!propValue.constructor || !propValue.constructor.name) {\n\t      return ANONYMOUS;\n\t    }\n\t    return propValue.constructor.name;\n\t  }\n\n\t  ReactPropTypes.checkPropTypes = checkPropTypes;\n\t  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n\t  ReactPropTypes.PropTypes = ReactPropTypes;\n\n\t  return ReactPropTypes;\n\t};\n\treturn factoryWithTypeCheckers;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar factoryWithThrowingShims;\nvar hasRequiredFactoryWithThrowingShims;\n\nfunction requireFactoryWithThrowingShims () {\n\tif (hasRequiredFactoryWithThrowingShims) return factoryWithThrowingShims;\n\thasRequiredFactoryWithThrowingShims = 1;\n\n\tvar ReactPropTypesSecret = requireReactPropTypesSecret();\n\n\tfunction emptyFunction() {}\n\tfunction emptyFunctionWithReset() {}\n\temptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n\tfactoryWithThrowingShims = function() {\n\t  function shim(props, propName, componentName, location, propFullName, secret) {\n\t    if (secret === ReactPropTypesSecret) {\n\t      // It is still safe when called from React.\n\t      return;\n\t    }\n\t    var err = new Error(\n\t      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t      'Use PropTypes.checkPropTypes() to call them. ' +\n\t      'Read more at http://fb.me/use-check-prop-types'\n\t    );\n\t    err.name = 'Invariant Violation';\n\t    throw err;\n\t  }\t  shim.isRequired = shim;\n\t  function getShim() {\n\t    return shim;\n\t  }\t  // Important!\n\t  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\t  var ReactPropTypes = {\n\t    array: shim,\n\t    bigint: shim,\n\t    bool: shim,\n\t    func: shim,\n\t    number: shim,\n\t    object: shim,\n\t    string: shim,\n\t    symbol: shim,\n\n\t    any: shim,\n\t    arrayOf: getShim,\n\t    element: shim,\n\t    elementType: shim,\n\t    instanceOf: getShim,\n\t    node: shim,\n\t    objectOf: getShim,\n\t    oneOf: getShim,\n\t    oneOfType: getShim,\n\t    shape: getShim,\n\t    exact: getShim,\n\n\t    checkPropTypes: emptyFunctionWithReset,\n\t    resetWarningCache: emptyFunction\n\t  };\n\n\t  ReactPropTypes.PropTypes = ReactPropTypes;\n\n\t  return ReactPropTypes;\n\t};\n\treturn factoryWithThrowingShims;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = requireReactIs();\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  propTypes.exports = requireFactoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  propTypes.exports = requireFactoryWithThrowingShims()();\n}\n\nvar propTypesExports = propTypes.exports;\nvar PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);\n\nvar classnames = {exports: {}};\n\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n(function (module) {\n\t/* global define */\n\n\t(function () {\n\n\t\tvar hasOwn = {}.hasOwnProperty;\n\n\t\tfunction classNames() {\n\t\t\tvar classes = [];\n\n\t\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\t\tvar arg = arguments[i];\n\t\t\t\tif (!arg) continue;\n\n\t\t\t\tvar argType = typeof arg;\n\n\t\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\t\tclasses.push(arg);\n\t\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\t\tif (arg.length) {\n\t\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\t\tif (inner) {\n\t\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (argType === 'object') {\n\t\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn classes.join(' ');\n\t\t}\n\n\t\tif (module.exports) {\n\t\t\tclassNames.default = classNames;\n\t\t\tmodule.exports = classNames;\n\t\t} else {\n\t\t\twindow.classNames = classNames;\n\t\t}\n\t}()); \n} (classnames));\n\nvar classnamesExports = classnames.exports;\nvar classNames = /*@__PURE__*/getDefaultExportFromCjs(classnamesExports);\n\nvar toCamelCase = function (str) {\n    return str\n        .replace(/([-_][a-z0-9])/gi, function ($1) {\n        return $1.toUpperCase();\n    })\n        .replace(/-/gi, '');\n};\nvar CIcon = forwardRef(function (_a, ref) {\n    var _b;\n    var className = _a.className, content = _a.content, customClassName = _a.customClassName, height = _a.height, icon = _a.icon, name = _a.name, size = _a.size, title = _a.title, use = _a.use, width = _a.width, rest = __rest(_a, [\"className\", \"content\", \"customClassName\", \"height\", \"icon\", \"name\", \"size\", \"title\", \"use\", \"width\"]);\n    var _c = useState(0), change = _c[0], setChange = _c[1];\n    var _icon = icon || content || name;\n    if (content) {\n        process &&\n            process.env &&\n            process.env.NODE_ENV === 'development' &&\n            console.warn('[CIcon] The `content` property is deprecated and will be removed in v3, please use `icon={...}` instead of.');\n    }\n    if (name) {\n        process &&\n            process.env &&\n            process.env.NODE_ENV === 'development' &&\n            console.warn('[CIcon] The `name` property is deprecated and will be removed in v3, please use `icon=\"...\"` instead of.');\n    }\n    useMemo(function () { return setChange(change + 1); }, [_icon, JSON.stringify(_icon)]);\n    var titleCode = title ? \"<title>\".concat(title, \"</title>\") : '';\n    var code = useMemo(function () {\n        var iconName = _icon && typeof _icon === 'string' && _icon.includes('-') ? toCamelCase(_icon) : _icon;\n        if (Array.isArray(_icon)) {\n            return _icon;\n        }\n        if (typeof _icon === 'string' && React['icons']) {\n            return React['icons'][iconName];\n        }\n    }, [change]);\n    var iconCode = useMemo(function () {\n        return Array.isArray(code) ? code[1] || code[0] : code;\n    }, [change]);\n    var scale = (function () {\n        return Array.isArray(code) && code.length > 1 ? code[0] : '64 64';\n    })();\n    var viewBox = (function () {\n        return rest['viewBox'] || \"0 0 \".concat(scale);\n    })();\n    var _className = customClassName\n        ? classNames(customClassName)\n        : classNames('icon', (_b = {},\n            _b[\"icon-\".concat(size)] = size,\n            _b[\"icon-custom-size\"] = height || width,\n            _b), className);\n    return (React.createElement(React.Fragment, null,\n        use ? (React.createElement(\"svg\", __assign({ xmlns: \"http://www.w3.org/2000/svg\", className: _className }, (height && { height: height }), (width && { width: width }), { role: \"img\", \"aria-hidden\": \"true\" }, rest, { ref: ref }),\n            React.createElement(\"use\", { href: use }))) : (React.createElement(\"svg\", __assign({ xmlns: \"http://www.w3.org/2000/svg\", viewBox: viewBox, className: _className }, (height && { height: height }), (width && { width: width }), { role: \"img\", \"aria-hidden\": \"true\", dangerouslySetInnerHTML: { __html: titleCode + iconCode } }, rest, { ref: ref }))),\n        title && React.createElement(\"span\", { className: \"visually-hidden\" }, title)));\n});\nCIcon.propTypes = {\n    className: PropTypes.string,\n    content: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n    customClassName: PropTypes.string,\n    height: PropTypes.number,\n    icon: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n    name: PropTypes.string,\n    size: PropTypes.oneOf([\n        'custom',\n        'custom-size',\n        'sm',\n        'lg',\n        'xl',\n        'xxl',\n        '3xl',\n        '4xl',\n        '5xl',\n        '6xl',\n        '7xl',\n        '8xl',\n        '9xl',\n    ]),\n    title: PropTypes.any,\n    use: PropTypes.any,\n    width: PropTypes.number,\n};\nCIcon.displayName = 'CIcon';\n\nexport { CIcon as default };\n//# sourceMappingURL=index.es.js.map\n","import React, { forwardRef, ReactNode, HTMLAttributes } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\n\nimport { CPagination, CPaginationItem } from './../pagination'\n\nexport interface CSmartPaginationProps extends HTMLAttributes<HTMLUListElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Current page number.\n   */\n  activePage?: number\n  /**\n   * Show/hide dots.\n   */\n  dots?: boolean\n  /**\n   * Show/hide arrows.\n   */\n  arrows?: boolean\n  /**\n   * Show double arrows buttons.\n   */\n  doubleArrows?: boolean\n  /**\n   * The content of 'firstButton' button.\n   *\n   * @default '<React.Fragment>&laquo;</React.Fragment>''\n   */\n  firstButton?: ReactNode | string\n  /**\n   * The content of 'previousButton' button.\n   *\n   * @default '<React.Fragment>&lsaquo;</React.Fragment>'\n   */\n  previousButton?: ReactNode | string\n  /**\n   * The content of 'nextButton' button.\n   *\n   * @default '<React.Fragment>&rsaquo;</React.Fragment>''\n   */\n  nextButton?: ReactNode | string\n  /**\n   * The content of 'lastButton' button.\n   *\n   * @default '<React.Fragment>&raquo;</React.Fragment>'\n   */\n  lastButton?: ReactNode | string\n  /**\n   * Size of pagination, valid values: 'sm', 'lg'.\n   */\n  size?: 'sm' | 'lg'\n  /**\n   * Horizontall align.\n   */\n  align?: 'start' | 'center' | 'end'\n  /**\n   * Maximum items number.\n   */\n  limit?: number\n  /**\n   * Number of pages.\n   */\n  pages: number\n  /**\n   * On active page change callback.\n   */\n  onActivePageChange?: (activePage: number) => void\n}\n\nexport const CSmartPagination = forwardRef<HTMLUListElement, CSmartPaginationProps>(\n  (\n    {\n      className,\n      activePage = 1,\n      align = 'start',\n      arrows = true,\n      dots = true,\n      doubleArrows = true,\n      firstButton = <React.Fragment>&laquo;</React.Fragment>,\n      lastButton = <React.Fragment>&raquo;</React.Fragment>,\n      limit = 5,\n      nextButton = <React.Fragment>&rsaquo;</React.Fragment>,\n      onActivePageChange,\n      pages,\n      previousButton = <React.Fragment>&lsaquo;</React.Fragment>,\n      size,\n      ...rest\n    },\n    ref,\n  ) => {\n    const showDots: boolean = (() => {\n      return dots && limit > 4 && limit < pages\n    })()\n\n    const maxPrevItems: number = (() => {\n      return Math.floor((limit - 1) / 2)\n    })()\n\n    const maxNextItems: number = (() => {\n      return Math.ceil((limit - 1) / 2)\n    })()\n\n    const beforeDots: boolean = (() => {\n      return showDots && activePage > maxPrevItems + 1\n    })()\n\n    const afterDots: boolean = (() => {\n      return showDots && activePage < pages - maxNextItems\n    })()\n\n    const computedLimit: number = (() => {\n      return limit - (afterDots ? 1 : 0) - (beforeDots ? 1 : 0)\n    })()\n\n    const range: number = (() => {\n      return activePage + maxNextItems\n    })()\n\n    const lastItem: number = (() => {\n      return range >= pages ? pages : range - (afterDots ? 1 : 0)\n    })()\n\n    const itemsAmount: number = (() => {\n      return pages < computedLimit ? pages : computedLimit\n    })()\n\n    const items: number[] = (() => {\n      return activePage - maxPrevItems <= 1\n        ? Array.from(\n            {\n              length: itemsAmount,\n            },\n            (_v, i) => i + 1,\n          )\n        : Array.from(\n            {\n              length: itemsAmount,\n            },\n            (_v, i) => {\n              return lastItem - i\n            },\n          ).reverse()\n    })()\n\n    const setPage = (number: number): void => {\n      if (number !== activePage) {\n        onActivePageChange && onActivePageChange(number)\n      }\n    }\n\n    return (\n      <CPagination\n        className={classNames(`justify-content-${align}`, className)}\n        aria-label=\"pagination\"\n        size={size}\n        {...rest}\n        ref={ref}\n      >\n        {doubleArrows && (\n          <CPaginationItem\n            onClick={() => setPage(1)}\n            aria-label=\"Go to first page\"\n            aria-disabled={activePage === 1}\n            disabled={activePage === 1}\n          >\n            {firstButton}\n          </CPaginationItem>\n        )}\n        {arrows && (\n          <CPaginationItem\n            onClick={() => setPage(activePage - 1)}\n            aria-label=\"Go to previous page\"\n            aria-disabled={activePage === 1}\n            disabled={activePage === 1}\n          >\n            {previousButton}\n          </CPaginationItem>\n        )}\n        {beforeDots && (\n          <CPaginationItem role=\"separator\" disabled>\n            …\n          </CPaginationItem>\n        )}\n        {items.map((i) => {\n          return (\n            <CPaginationItem\n              onClick={() => setPage(i)}\n              aria-label={activePage === i ? `Current page ${i}` : `Go to page ${i}`}\n              active={activePage === i}\n              key={i}\n            >\n              {i}\n            </CPaginationItem>\n          )\n        })}\n        {afterDots && (\n          <CPaginationItem role=\"separator\" disabled>\n            …\n          </CPaginationItem>\n        )}\n        {arrows && (\n          <CPaginationItem\n            onClick={() => setPage(activePage + 1)}\n            aria-label=\"Go to next page\"\n            aria-disabled={activePage === pages}\n            disabled={activePage === pages}\n          >\n            {nextButton}\n          </CPaginationItem>\n        )}\n        {doubleArrows && (\n          <CPaginationItem\n            onClick={() => setPage(pages)}\n            aria-label=\"Go to last page\"\n            aria-disabled={activePage === pages}\n            disabled={activePage === pages}\n          >\n            {lastButton}\n          </CPaginationItem>\n        )}\n      </CPagination>\n    )\n  },\n)\n\nCSmartPagination.propTypes = {\n  className: PropTypes.oneOfType([PropTypes.string]),\n  activePage: PropTypes.number,\n  dots: PropTypes.bool,\n  arrows: PropTypes.bool,\n  doubleArrows: PropTypes.bool,\n  firstButton: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  previousButton: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  nextButton: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  lastButton: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n  size: PropTypes.oneOf(['sm', 'lg']),\n  align: PropTypes.oneOf(['start', 'center', 'end']),\n  limit: PropTypes.number,\n  pages: PropTypes.number.isRequired,\n  onActivePageChange: PropTypes.func,\n}\n\nCSmartPagination.displayName = 'CSmartPagination'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CTableHeadProps extends HTMLAttributes<HTMLTableSectionElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n}\n\nexport const CTableHead = forwardRef<HTMLTableSectionElement, CTableHeadProps>(\n  ({ children, className, color, ...rest }, ref) => {\n    return (\n      <thead\n        className={\n          classNames(\n            {\n              [`table-${color}`]: color,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </thead>\n    )\n  },\n)\n\nCTableHead.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCTableHead.displayName = 'CTableHead'\n","import React, { forwardRef, ThHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CTableHeaderCellProps extends ThHTMLAttributes<HTMLTableCellElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n}\n\nexport const CTableHeaderCell = forwardRef<HTMLTableCellElement, CTableHeaderCellProps>(\n  ({ children, className, color, ...rest }, ref) => {\n    return (\n      <th\n        className={\n          classNames(\n            {\n              [`table-${color}`]: color,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </th>\n    )\n  },\n)\n\nCTableHeaderCell.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCTableHeaderCell.displayName = 'CTableHeaderCell'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CTableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n}\n\nexport const CTableBody = forwardRef<HTMLTableSectionElement, CTableBodyProps>(\n  ({ children, className, color, ...rest }, ref) => {\n    return (\n      <tbody\n        className={\n          classNames(\n            {\n              [`table-${color}`]: color,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </tbody>\n    )\n  },\n)\n\nCTableBody.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCTableBody.displayName = 'CTableBody'\n","import React, { forwardRef, TdHTMLAttributes, ThHTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CTableDataCellProps\n  extends Omit<TdHTMLAttributes<HTMLTableCellElement>, 'align'>,\n    Omit<ThHTMLAttributes<HTMLTableCellElement>, 'align'> {\n  /**\n   * Highlight a table row or cell.\n   */\n  active?: boolean\n  /**\n   * Set the vertical aligment.\n   */\n  align?: 'bottom' | 'middle' | 'top' | string\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * @ignore\n   */\n  colSpan?: number\n}\n\nexport const CTableDataCell = forwardRef<HTMLTableCellElement, CTableDataCellProps>(\n  ({ children, active, align, className, color, ...rest }, ref) => {\n    const Component = rest.scope ? 'th' : 'td'\n\n    return (\n      <Component\n        className={\n          classNames(\n            {\n              [`align-${align}`]: align,\n              'table-active': active,\n              [`table-${color}`]: color,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    )\n  },\n)\n\nCTableDataCell.propTypes = {\n  active: PropTypes.bool,\n  align: PropTypes.oneOf(['bottom', 'middle', 'top']),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCTableDataCell.displayName = 'CTableDataCell'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CTableRowProps extends HTMLAttributes<HTMLTableRowElement> {\n  /**\n   * Highlight a table row or cell..\n   */\n  active?: boolean\n  /**\n   * Set the vertical aligment.\n   */\n  align?: 'bottom' | 'middle' | 'top' | string\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n}\n\nexport const CTableRow = forwardRef<HTMLTableRowElement, CTableRowProps>(\n  ({ children, active, align, className, color, ...rest }, ref) => {\n    return (\n      <tr\n        className={\n          classNames(\n            {\n              [`align-${align}`]: align,\n              'table-active': active,\n              [`table-${color}`]: color,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </tr>\n    )\n  },\n)\n\nCTableRow.propTypes = {\n  active: PropTypes.bool,\n  align: PropTypes.oneOf(['bottom', 'middle', 'top']),\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCTableRow.displayName = 'CTableRow'\n","import PropTypes from 'prop-types'\nimport React, { forwardRef, HTMLAttributes } from 'react'\nimport classNames from 'classnames'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CTableFootProps extends HTMLAttributes<HTMLTableSectionElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n}\n\nexport const CTableFoot = forwardRef<HTMLTableSectionElement, CTableFootProps>(\n  ({ children, className, color, ...rest }, ref) => {\n    return (\n      <tfoot\n        className={\n          classNames(\n            {\n              [`table-${color}`]: color,\n            },\n            className,\n          ) || undefined\n        }\n        {...rest}\n        ref={ref}\n      >\n        {children}\n      </tfoot>\n    )\n  },\n)\n\nCTableFoot.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n}\n\nCTableFoot.displayName = 'CTableFoot'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\n\nexport const CTableCaption = forwardRef<\n  HTMLTableCaptionElement,\n  HTMLAttributes<HTMLTableCaptionElement>\n>(({ children, ...props }, ref) => {\n  return (\n    <caption {...props} ref={ref}>\n      {children}\n    </caption>\n  )\n})\n\nCTableCaption.propTypes = {\n  children: PropTypes.node,\n}\n\nCTableCaption.displayName = 'CTableCaption'\n","import React, { FC, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\n\nexport interface CTableResponsiveWrapperProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * Make any table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n   */\n  responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n}\n\nexport const CTableResponsiveWrapper: FC<CTableResponsiveWrapperProps> = ({\n  children,\n  responsive,\n  ...rest\n}) => {\n  return responsive ? (\n    <div\n      className={\n        typeof responsive === 'boolean' ? 'table-responsive' : `table-responsive-${responsive}`\n      }\n      {...rest}\n    >\n      {children}\n    </div>\n  ) : (\n    <>{children}</>\n  )\n}\n\nCTableResponsiveWrapper.propTypes = {\n  children: PropTypes.node,\n  responsive: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),\n  ]),\n}\n\nCTableResponsiveWrapper.displayName = 'CTableResponsiveWrapper'\n","import type { Column, Item } from './types'\n\nexport const pretifyName = (name: string) => {\n  return name\n    .replace(/[-_.]/g, ' ')\n    .replace(/ +/g, ' ')\n    .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n    .split(' ')\n    .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n    .join(' ')\n}\n\nexport const getColumnLabel = (column: Column | string) =>\n  typeof column === 'object' ? column.label ?? pretifyName(column.key) : pretifyName(column)\n\nexport const getColumnNames = (columns: (string | Column)[] | undefined, items?: Item[]) =>\n  columns\n    ? columns.map((column: Column | string) => {\n        return typeof column === 'object' ? column.key : column\n      })\n    : items && getColumnNamesFromItems(items)\n\nexport const getColumnNamesFromItems = (items: Item[]) =>\n  Object.keys(items[0] || {}).filter((el) => el.charAt(0) !== '_')\n","import React, { forwardRef, TableHTMLAttributes, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CTableHead, CTableHeadProps } from './CTableHead'\nimport { CTableHeaderCell } from './CTableHeaderCell'\nimport { CTableBody } from './CTableBody'\nimport { CTableDataCell } from './CTableDataCell'\nimport { CTableRow } from './CTableRow'\nimport { CTableFoot, CTableFootProps } from './CTableFoot'\nimport { CTableCaption } from './CTableCaption'\nimport { CTableResponsiveWrapper } from './CTableResponsiveWrapper'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\nimport { getColumnLabel, getColumnNames } from './utils'\nimport type { Column, FooterItem, Item } from './types'\n\nexport interface CTableProps extends Omit<TableHTMLAttributes<HTMLTableElement>, 'align'> {\n  /**\n   * Set the vertical aligment.\n   */\n  align?: 'bottom' | 'middle' | 'top' | string\n  /**\n   * Sets the border color of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  borderColor?: Colors\n  /**\n   * Add borders on all sides of the table and cells.\n   */\n  bordered?: boolean\n  /**\n   * Remove borders on all sides of the table and cells.\n   */\n  borderless?: boolean\n  /**\n   * Put the caption on the top if you set `caption=\"top\"` of the table or set the text of the table caption.\n   */\n  caption?: 'top' | string\n  /**\n   * Set the text of the table caption and the caption on the top of the table.\n   *\n   * @since 4.3.0\n   */\n  captionTop?: string\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Prop for table columns configuration. If prop is not defined, table will display columns based on the first item keys, omitting keys that begins with underscore (e.g. '_props')\n   *\n   * In columns prop each array item represents one column. Item might be specified in two ways:\n   * String: each item define column name equal to item value.\n   * Object: item is object with following keys available as column configuration:\n   * - key (required)(String) - define column name equal to item key.\n   * - label (String) - define visible label of column. If not defined, label will be generated automatically based on column name, by converting kebab-case and snake_case to individual words and capitalization of each word.\n   * - _props (Object) - adds classes to all cels in column, ex. `_props: { scope: 'col', className: 'custom-class' }`,\n   * - _style (Object) - adds styles to the column header (useful for defining widths)\n   *\n   * @since 4.3.0\n   */\n  columns?: (string | Column)[]\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Array of objects or strings, where each element represents one cell in the table footer.\n   *\n   * Example items:\n   * `['FooterCell', 'FooterCell', 'FooterCell']`\n   * or\n   * `[{ label: 'FooterCell', _props: { color: 'success' }, ...]`\n   *\n   * @since 4.3.0\n   */\n  footer?: (FooterItem | string)[]\n  /**\n   * Enable a hover state on table rows within a `<CTableBody>`.\n   */\n  hover?: boolean\n  /**\n   * Array of objects, where each object represents one item - row in table. Additionally, you can add style classes to each row by passing them by '_props' key and to single cell by '_cellProps'.\n   *\n   * Example item:\n   * `{ name: 'John' , age: 12, _props: { color: 'success' }, _cellProps: { age: { className: 'fw-bold'}}}`\n   *\n   * @since 4.3.0\n   */\n  items?: Item[]\n  /**\n   * Make any table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n   */\n  responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n  /**\n   * Make table more compact by cutting all cell `padding` in half.\n   */\n  small?: boolean\n  /**\n   * Add zebra-striping to any table row within the `<CTableBody>`.\n   */\n  striped?: boolean\n  /**\n   * Add zebra-striping to any table column.\n   *\n   * @since 4.3.0\n   */\n  stripedColumns?: boolean\n  /**\n   * Properties that will be passed to the table footer component.\n   *\n   * @link https://coreui.io/react/docs/components/table/#ctablefoot\n   * @since 4.3.0\n   */\n  tableFootProps?: CTableFootProps\n  /**\n   * Properties that will be passed to the table head component.\n   *\n   * @link https://coreui.io/react/docs/components/table/#ctablehead\n   * @since 4.3.0\n   */\n  tableHeadProps?: CTableHeadProps\n}\n\nexport const CTable = forwardRef<HTMLTableElement, CTableProps>(\n  (\n    {\n      children,\n      align,\n      borderColor,\n      bordered,\n      borderless,\n      caption,\n      captionTop,\n      className,\n      color,\n      columns,\n      footer,\n      hover,\n      items,\n      responsive,\n      small,\n      striped,\n      stripedColumns,\n      tableFootProps,\n      tableHeadProps,\n      ...rest\n    },\n    ref,\n  ) => {\n    const columnNames = useMemo(() => getColumnNames(columns, items), [columns, items])\n\n    return (\n      <CTableResponsiveWrapper responsive={responsive}>\n        <table\n          className={classNames(\n            'table',\n            {\n              [`align-${align}`]: align,\n              [`border-${borderColor}`]: borderColor,\n              [`caption-top`]: captionTop || caption === 'top',\n              'table-bordered': bordered,\n              'table-borderless': borderless,\n              [`table-${color}`]: color,\n              'table-hover': hover,\n              'table-sm': small,\n              'table-striped': striped,\n              'table-striped-columns': stripedColumns,\n            },\n            className,\n          )}\n          {...rest}\n          ref={ref}\n        >\n          {((caption && caption !== 'top') || captionTop) && (\n            <CTableCaption>{caption || captionTop}</CTableCaption>\n          )}\n          {columns && (\n            <CTableHead {...tableHeadProps}>\n              <CTableRow>\n                {columns.map((column: Column, index: number) => (\n                  <CTableHeaderCell\n                    {...(column._props && { ...column._props })}\n                    {...(column._style && { style: { ...column._style } })}\n                    key={index}\n                  >\n                    {getColumnLabel(column)}\n                  </CTableHeaderCell>\n                ))}\n              </CTableRow>\n            </CTableHead>\n          )}\n          {items && (\n            <CTableBody>\n              {items.map((item: Item, index: number) => (\n                <CTableRow {...(item._props && { ...item._props })} key={index}>\n                  {columnNames &&\n                    columnNames.map((colName: string, index: number) => {\n                      // eslint-disable-next-line unicorn/no-negated-condition\n                      return item[colName] !== undefined ? (\n                        <CTableDataCell\n                          {...(item._cellProps && {\n                            ...(item._cellProps['all'] && { ...item._cellProps['all'] }),\n                            ...(item._cellProps[colName] && { ...item._cellProps[colName] }),\n                          })}\n                          key={index}\n                        >\n                          {item[colName]}\n                        </CTableDataCell>\n                      ) : null\n                    })}\n                </CTableRow>\n              ))}\n            </CTableBody>\n          )}\n          {children}\n          {footer && (\n            <CTableFoot {...tableFootProps}>\n              <CTableRow>\n                {footer.map((item: FooterItem | string, index: number) => (\n                  <CTableDataCell\n                    {...(typeof item === 'object' && item._props && { ...item._props })}\n                    key={index}\n                  >\n                    {typeof item === 'object' ? item.label : item}\n                  </CTableDataCell>\n                ))}\n              </CTableRow>\n            </CTableFoot>\n          )}\n        </table>\n      </CTableResponsiveWrapper>\n    )\n  },\n)\n\nCTable.propTypes = {\n  align: PropTypes.oneOf(['bottom', 'middle', 'top']),\n  borderColor: PropTypes.string,\n  bordered: PropTypes.bool,\n  borderless: PropTypes.bool,\n  caption: PropTypes.oneOfType([PropTypes.string, PropTypes.oneOf(['top'])]),\n  captionTop: PropTypes.string,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  columns: PropTypes.array,\n  footer: PropTypes.array,\n  hover: PropTypes.bool,\n  items: PropTypes.array,\n  responsive: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),\n  ]),\n  small: PropTypes.bool,\n  striped: PropTypes.bool,\n  stripedColumns: PropTypes.bool,\n  tableFootProps: PropTypes.shape({ ...CTableFoot.propTypes }),\n  tableHeadProps: PropTypes.shape({ ...CTableHead.propTypes }),\n}\n\nCTable.displayName = 'CTable'\n","import type {\n  Column,\n  ColumnFilter,\n  ColumnFilterValue,\n  Group,\n  Item,\n  Sorter,\n  SorterValue,\n  TableFilter,\n} from './types'\n\nexport const filterColumns = (\n  items: Item[],\n  columnFilter: boolean | ColumnFilter | undefined,\n  columnFilterState: ColumnFilterValue,\n  itemsDataColumns: string[],\n) => {\n  if (columnFilter && typeof columnFilter === 'object' && columnFilter.external) {\n    return items\n  }\n\n  Object.entries(columnFilterState).forEach(([key, value]) => {\n    if (value instanceof Function) {\n      items = items.filter((item) => value(item[key]))\n      return\n    }\n\n    const columnFilter = String(value).toLowerCase()\n    if (columnFilter && itemsDataColumns.includes(key)) {\n      items = items.filter((item) => {\n        return String(item[key]).toLowerCase().includes(columnFilter)\n      })\n    }\n  })\n\n  return items\n}\n\nexport const filterTable = (\n  items: Item[],\n  tableFilter: boolean | TableFilter | undefined,\n  tableFilterState: string,\n  itemsDataColumns: string[],\n) => {\n  if (\n    !tableFilterState ||\n    (tableFilter && typeof tableFilter === 'object' && tableFilter.external)\n  ) {\n    return items\n  }\n\n  const filter = tableFilterState.toLowerCase()\n  const valueContainFilter = (val: any) => String(val).toLowerCase().includes(filter)\n  items = items.filter((item) => {\n    return !!itemsDataColumns.find((key) => valueContainFilter(item[key]))\n  })\n\n  return items\n}\n\nexport const getClickedColumnName = (\n  target: HTMLTextAreaElement,\n  columnNames: string[],\n): string => {\n  const closest = target.closest('tr')\n  const children = closest ? Array.from(closest.children) : []\n  const clickedCell = children.filter((child) => child.contains(target))[0]\n  return columnNames[children.indexOf(clickedCell)]\n}\n\nexport const getColumnKey = (column: Column | string) =>\n  typeof column === 'object' ? column.key : column\n\nexport const getColumnLabel = (column: Column | string) =>\n  typeof column === 'object'\n    ? column.label !== undefined\n      ? column.label\n      : pretifyName(column.key)\n    : pretifyName(column)\n\nexport const getColumnNames = (\n  columns: (string | Column)[] | undefined,\n  items: Item[],\n): string[] => {\n  if (columns) {\n    const _columns = []\n\n    for (const column of columns) {\n      if (typeof column === 'object' && column.children) {\n        _columns.push(...getColumnNames(column.children, []))\n        continue\n      }\n\n      typeof column === 'object' ? _columns.push(column.key) : _columns.push(column)\n    }\n\n    return _columns\n  }\n\n  return getColumnNamesFromItems(items)\n}\n\nexport const getColumns = (_columns: (Column | Group | string)[]): (Column | string)[] => {\n  const columns = []\n\n  for (const column of _columns) {\n    if (typeof column === 'object' && column.group && column.children) {\n      columns.push(...getColumns(column.children))\n      continue\n    }\n\n    if (typeof column === 'object' && column.children) {\n      columns.push(...getColumns(column.children))\n    }\n\n    columns.push(column)\n  }\n\n  return columns\n}\n\nexport const countColumns = (columns: Column[], counter = 0) => {\n  let _counter = counter\n  for (const column of columns) {\n    if (!column.children) {\n      _counter++\n    }\n\n    if (column.children) {\n      _counter = countColumns(column.children, _counter)\n    }\n  }\n\n  return _counter\n}\n\nexport const getColumnGroups = (columns: (string | Column)[] | undefined) => {\n  const groups = []\n\n  const traverseColumns = (column: Column, deep = 0, colSpan = 0): Group[] => {\n    const groups = []\n\n    if (column.children) {\n      for (const _column of column.children) {\n        if (!_column.group) {\n          colSpan++\n        }\n        groups.push(...traverseColumns(_column, deep + 1, colSpan))\n      }\n    }\n\n    if (typeof column === 'object' && column.group) {\n      const { children, group, ...rest } = column\n      groups.push({\n        deep: deep,\n        label: group,\n        ...(children && { colspan: countColumns(children) }),\n        ...rest,\n      })\n    }\n\n    return groups\n  }\n\n  if (columns) {\n    for (const column of columns) {\n      if (typeof column === 'object' && column.group) {\n        const objects = traverseColumns(column)\n\n        if (objects) {\n          for (const object of objects) {\n            const { deep, ...rest } = object\n\n            if (deep === undefined) {\n              continue\n            }\n\n            for (let i = 0; i < deep; i++) {\n              if (groups[i]) {\n                continue\n              }\n\n              groups.push([])\n            }\n\n            if (groups[deep]) {\n              groups[deep].push(rest)\n            } else {\n              groups.push([rest])\n            }\n          }\n        }\n      }\n    }\n  }\n  return groups\n}\n\nexport const getColumnNamesFromItems = (items: Item[]) =>\n  Object.keys(items[0] || {}).filter((el) => el.charAt(0) !== '_')\n\nexport const getColumnSorterState = (\n  key: string,\n  sorterState: SorterValue | undefined,\n): string | number => {\n  if (sorterState && sorterState.column === key) {\n    if (sorterState.state) {\n      return sorterState.state\n    }\n    return 0\n  }\n\n  return 0\n}\n\nexport const getColumnValues = (items: Item[], key: string) => {\n  return items.map((item) => item[key])\n}\n\nexport const getTableDataCellProps = (item: Item, colName: string) => {\n  const props = item._cellProps && {\n    ...(item._cellProps['all'] && { ...item._cellProps['all'] }),\n    ...(item._cellProps[colName] && { ...item._cellProps[colName] }),\n  }\n\n  return props\n}\n\nexport const getTableHeaderCellProps = (column: Column | string) => {\n  if (typeof column === 'object' && column._props) {\n    return column._props\n  }\n\n  return {}\n}\n\nexport const getTableHeaderCellStyles = (\n  column: Column | string,\n  columnSorter: boolean | Sorter | undefined,\n) => {\n  const style = {}\n\n  if (\n    columnSorter &&\n    (typeof column !== 'object' ||\n      (typeof column === 'object' && (column.sorter === undefined || column.sorter)))\n  ) {\n    style['cursor'] = 'pointer'\n  }\n\n  if (typeof column === 'object' && column._style) {\n    return { ...style, ...column._style }\n  }\n  return style\n}\n\nexport const isSortable = (\n  i: number,\n  columns: (string | Column)[] | undefined,\n  columnSorter: Sorter | boolean | undefined,\n  itemsDataColumns: string[],\n  columnNames: string[],\n): boolean | undefined => {\n  const isDataColumn = itemsDataColumns.includes(columnNames[i])\n  let column\n  if (columns) column = columns[i]\n  return (\n    columnSorter &&\n    (!columns ||\n      typeof column !== 'object' ||\n      (typeof column === 'object' && (column.sorter === undefined || column.sorter))) &&\n    isDataColumn\n  )\n}\n\nexport const pretifyName = (name: string) => {\n  return name\n    .replace(/[-_.]/g, ' ')\n    .replace(/ +/g, ' ')\n    .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n    .split(' ')\n    .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n    .join(' ')\n}\n\nexport const sortItems = (\n  columnSorter: boolean | Sorter | undefined,\n  items: Item[],\n  itemsDataColumns: string[],\n  sorterState: SorterValue,\n) => {\n  const column = sorterState.column\n  if (\n    !column ||\n    !itemsDataColumns.includes(column) ||\n    (columnSorter && typeof columnSorter === 'object' && columnSorter.external)\n  ) {\n    return items\n  }\n\n  const flip = sorterState.state === 'asc' ? 1 : sorterState.state === 'desc' ? -1 : 0\n  const sorted = items.slice().sort((item, item2) => {\n    const value = item[column]\n    const value2 = item2[column]\n    const a = typeof value === 'number' ? value : String(value).toLowerCase()\n    const b = typeof value2 === 'number' ? value2 : String(value2).toLowerCase()\n    return a > b ? 1 * flip : b > a ? -1 * flip : 0\n  })\n  return sorted\n}\n","import React, { forwardRef, MouseEvent, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CTableBody, CTableBodyProps } from '../table/CTableBody'\nimport { CFormCheck } from '../form'\nimport { CTableDataCell, CTableRow } from '../table'\n\nimport { isObjectInArray } from '../../utils'\n\nimport type { Item, ScopedColumns } from './types'\nimport { getClickedColumnName, getTableDataCellProps } from './utils'\n\nexport interface CSmartTableBodyProps extends CTableBodyProps {\n  clickableRows?: boolean\n  columnNames: string[]\n  currentItems: Item[]\n  firstItemOnActivePageIndex: number\n  noItemsLabel?: string | ReactNode\n  onRowChecked?: (item: Item, value: boolean) => void\n  onRowClick?: (item: Item, index: number, columnName: string, event: MouseEvent | boolean) => void\n  scopedColumns?: ScopedColumns\n  selectable?: boolean\n  selected?: Item[]\n}\n\nexport const CSmartTableBody = forwardRef<HTMLTableSectionElement, CSmartTableBodyProps>(\n  (\n    {\n      clickableRows,\n      columnNames,\n      currentItems,\n      firstItemOnActivePageIndex,\n      noItemsLabel,\n      onRowChecked,\n      onRowClick,\n      scopedColumns,\n      selectable,\n      selected,\n      ...rest\n    },\n    ref,\n  ) => {\n    const colspan: number = selectable ? columnNames.length + 1 : columnNames.length\n\n    return (\n      <CTableBody\n        {...(clickableRows && {\n          style: { cursor: 'pointer' },\n        })}\n        {...rest}\n        ref={ref}\n      >\n        {currentItems.length > 0 ? (\n          currentItems.map((item: Item, trIndex) => {\n            return (\n              <React.Fragment key={trIndex}>\n                <CTableRow\n                  {...(item._props && { ...item._props })}\n                  {...(clickableRows && { tabIndex: 0 })}\n                  onClick={(event) =>\n                    onRowClick &&\n                    onRowClick(\n                      item,\n                      trIndex + firstItemOnActivePageIndex,\n                      getClickedColumnName(event.target as HTMLTextAreaElement, columnNames),\n                      event,\n                    )\n                  }\n                >\n                  {selectable && (\n                    <CTableDataCell>\n                      <CFormCheck\n                        checked={\n                          selected &&\n                          isObjectInArray(selected, item, ['_cellProps', '_props', '_selected'])\n                        }\n                        onChange={(event) => {\n                          const _item = { ...item }\n                          delete _item['_cellProps']\n                          delete _item['_props']\n                          delete _item['_selected']\n                          onRowChecked && onRowChecked(_item, event.target.checked)\n                        }}\n                      />\n                    </CTableDataCell>\n                  )}\n                  {columnNames.map((colName, index) => {\n                    return (\n                      (scopedColumns &&\n                        scopedColumns[colName] &&\n                        React.cloneElement(\n                          scopedColumns[colName](item, trIndex + firstItemOnActivePageIndex),\n                          {\n                            key: index,\n                          },\n                        )) ||\n                      (item[colName] !== undefined && (\n                        <CTableDataCell {...getTableDataCellProps(item, colName)} key={index}>\n                          {item[colName]}\n                        </CTableDataCell>\n                      ))\n                    )\n                  })}\n                </CTableRow>\n                {scopedColumns && scopedColumns.details && (\n                  <>\n                    <CTableRow>\n                      <CTableDataCell\n                        colSpan={colspan}\n                        className=\"p-0\"\n                        style={{ borderBottomWidth: 0 }}\n                        tabIndex={-1}\n                      ></CTableDataCell>\n                    </CTableRow>\n                    <CTableRow\n                      onClick={(event) =>\n                        onRowClick &&\n                        onRowClick(\n                          item,\n                          trIndex + firstItemOnActivePageIndex,\n                          getClickedColumnName(event.target as HTMLTextAreaElement, columnNames),\n                          true,\n                        )\n                      }\n                      className=\"p-0\"\n                      key={`details${trIndex}`}\n                    >\n                      <CTableDataCell colSpan={colspan} className=\"p-0\" style={{ border: 0 }}>\n                        {scopedColumns.details(item, trIndex + firstItemOnActivePageIndex)}\n                      </CTableDataCell>\n                    </CTableRow>\n                  </>\n                )}\n              </React.Fragment>\n            )\n          })\n        ) : (\n          <CTableRow>\n            <CTableDataCell colSpan={colspan}>{noItemsLabel}</CTableDataCell>\n          </CTableRow>\n        )}\n      </CTableBody>\n    )\n  },\n)\n\nCSmartTableBody.propTypes = {\n  clickableRows: PropTypes.bool,\n  currentItems: PropTypes.array.isRequired,\n  firstItemOnActivePageIndex: PropTypes.number.isRequired,\n  noItemsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  onRowChecked: PropTypes.func,\n  onRowClick: PropTypes.func,\n  columnNames: PropTypes.array.isRequired,\n  scopedColumns: PropTypes.object,\n  selectable: PropTypes.bool,\n  selected: PropTypes.array,\n}\n\nCSmartTableBody.displayName = 'CSmartTableBody'\n","import React, {\n  ElementType,\n  forwardRef,\n  ReactNode,\n  useEffect,\n  useMemo,\n  useRef,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CFormCheck, CFormInput } from '../form'\nimport { CTableHeaderCell, CTableRow } from '../table'\nimport { CTableHead, CTableHeadProps } from '../table/CTableHead'\n\nimport type { ColumnFilter, ColumnFilterValue, Column, Item, Sorter, SorterValue } from './types'\nimport {\n  getColumnKey,\n  getColumnLabel,\n  getColumnGroups,\n  getColumns,\n  getColumnSorterState,\n  getColumnValues,\n  getTableHeaderCellProps,\n  getTableHeaderCellStyles,\n} from './utils'\n\nexport interface CSmartTableHeadProps extends CTableHeadProps {\n  columnFilter?: boolean | ColumnFilter\n  columnFilterState?: ColumnFilterValue\n  columnSorter?: boolean | Sorter\n  component?: string | ElementType\n  columns: (Column | string)[]\n  handleOnCustomFilterChange?: (key: string, value: any) => void\n  handleFilterOnChange?: (key: string, value: string) => void\n  handleFilterOnInput?: (key: string, value: string) => void\n  handleSelectAllChecked?: () => void\n  handleSort?: (key: string, index: number) => void\n  items: Item[]\n  selectable?: boolean\n  selectAll?: boolean | { external?: boolean }\n  selectedAll?: boolean | string\n  showGroups?: boolean\n  sorterState?: SorterValue\n  sortingIcon?: ReactNode\n  sortingIconAscending?: ReactNode\n  sortingIconDescending?: ReactNode\n}\n\nexport const CSmartTableHead = forwardRef<HTMLTableSectionElement, CSmartTableHeadProps>(\n  (\n    {\n      columnFilter,\n      columnFilterState,\n      columnSorter,\n      component: Component = CTableHead,\n      columns,\n      handleOnCustomFilterChange,\n      handleFilterOnChange,\n      handleFilterOnInput,\n      handleSelectAllChecked,\n      handleSort,\n      items,\n      selectable,\n      selectAll,\n      selectedAll,\n      showGroups = true,\n      sorterState,\n      sortingIcon,\n      sortingIconAscending,\n      sortingIconDescending,\n      ...rest\n    },\n    ref,\n  ) => {\n    const selectAllcheckboxRef = useRef<HTMLInputElement>(null)\n    const [refresh, setRefresh] = useState(false)\n\n    const _columns = useMemo(() => getColumns(columns), [columns])\n    const groups = useMemo(() => getColumnGroups(columns), [columns])\n\n    useEffect(() => {\n      if (columnFilterState && Object.keys(columnFilterState).length === 0) {\n        setRefresh(true)\n      }\n    }, [columnFilterState])\n\n    useEffect(() => {\n      setRefresh(true)\n    }, [items])\n\n    useEffect(() => {\n      if (setRefresh) {\n        setRefresh(false)\n      }\n    }, [refresh])\n\n    const columnSorterIcon = (column: Column | string) => {\n      if (getColumnSorterState(getColumnKey(column), sorterState) === 0) {\n        return <span className=\"opacity-25 float-end me-1\">{sortingIcon}</span>\n      }\n\n      if (getColumnSorterState(getColumnKey(column), sorterState) === 'asc') {\n        return <span className=\"float-end me-1\">{sortingIconAscending}</span>\n      }\n\n      if (getColumnSorterState(getColumnKey(column), sorterState) === 'desc') {\n        return <span className=\"float-end me-1\">{sortingIconDescending}</span>\n      }\n\n      return\n    }\n\n    return (\n      <Component {...rest} ref={ref}>\n        {showGroups &&\n          groups &&\n          groups.length > 0 &&\n          groups.map((row, index) => (\n            <CTableRow key={index}>\n              {selectable && <CTableHeaderCell></CTableHeaderCell>}\n              {row.map((cell, index) => (\n                <CTableHeaderCell\n                  colSpan={cell.colspan}\n                  {...getTableHeaderCellProps(cell)}\n                  key={index}\n                >\n                  {cell.label}\n                </CTableHeaderCell>\n              ))}\n            </CTableRow>\n          ))}\n        <CTableRow>\n          {selectable && (\n            <CTableHeaderCell>\n              {selectAll && (\n                <CFormCheck\n                  checked={typeof selectedAll === 'boolean' ? selectedAll : false}\n                  indeterminate={selectedAll === 'indeterminate' ? true : false}\n                  onChange={() => handleSelectAllChecked && handleSelectAllChecked()}\n                  ref={selectAllcheckboxRef}\n                />\n              )}\n            </CTableHeaderCell>\n          )}\n          {_columns.map((column: Column | string, index: number) => {\n            return (\n              <CTableHeaderCell\n                {...getTableHeaderCellProps(column)}\n                onClick={() => handleSort && handleSort(getColumnKey(column), index)}\n                style={getTableHeaderCellStyles(column, columnSorter)}\n                key={index}\n              >\n                <div className=\"d-inline\">{getColumnLabel(column)}</div>\n                {columnSorter &&\n                  (typeof column === 'object'\n                    ? (column.sorter === undefined\n                      ? true\n                      : column.sorter)\n                    : true) &&\n                  columnSorterIcon(column)}\n              </CTableHeaderCell>\n            )\n          })}\n        </CTableRow>\n        {columnFilter && (\n          <CTableRow>\n            {selectable && <CTableHeaderCell></CTableHeaderCell>}\n            {_columns.map((column: Column | string, index: number) => {\n              return (\n                <CTableHeaderCell {...getTableHeaderCellProps(column)} key={index}>\n                  {(\n                    typeof column === 'object'\n                      ? (column.filter === undefined\n                        ? true\n                        : column.filter)\n                      : true\n                  ) ? (\n                    typeof column !== 'string' && typeof column.filter === 'function' ? (\n                      !refresh &&\n                      column.filter(\n                        getColumnValues(items, getColumnKey(column)),\n                        (value: any) =>\n                          handleOnCustomFilterChange &&\n                          handleOnCustomFilterChange(getColumnKey(column), value),\n                      )\n                    ) : (\n                      <CFormInput\n                        size=\"sm\"\n                        onInput={(event) =>\n                          handleFilterOnInput &&\n                          handleFilterOnInput(\n                            getColumnKey(column),\n                            (event.target as HTMLInputElement).value,\n                          )\n                        }\n                        onChange={(event) =>\n                          handleFilterOnChange &&\n                          handleFilterOnChange(\n                            getColumnKey(column),\n                            (event.target as HTMLInputElement).value,\n                          )\n                        }\n                        value={\n                          columnFilterState && columnFilterState[getColumnKey(column)]\n                            ? columnFilterState[getColumnKey(column)]\n                            : ''\n                        }\n                        aria-label={`column name: '${getColumnLabel(column)}' filter input`}\n                      />\n                    )\n                  ) : (\n                    ''\n                  )}\n                </CTableHeaderCell>\n              )\n            })}\n          </CTableRow>\n        )}\n      </Component>\n    )\n  },\n)\n\nCSmartTableHead.propTypes = {\n  columnFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  columnFilterState: PropTypes.object,\n  columnSorter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  component: PropTypes.elementType,\n  children: PropTypes.node,\n  columns: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.any, PropTypes.string])).isRequired, // TODO: improve this Prop Type,\n  handleFilterOnChange: PropTypes.func,\n  handleFilterOnInput: PropTypes.func,\n  handleSelectAllChecked: PropTypes.func,\n  handleSort: PropTypes.func,\n  selectable: PropTypes.bool,\n  selectAll: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  selectedAll: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n  sorterState: PropTypes.object,\n  sortingIcon: PropTypes.node,\n  sortingIconAscending: PropTypes.node,\n  sortingIconDescending: PropTypes.node,\n}\n\nCSmartTableHead.displayName = 'CSmartTableHead'\n","import React, { ChangeEvent, forwardRef, useEffect, useMemo, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { cilArrowBottom, cilArrowTop, cilFilterX, cilSwapVertical } from '@coreui/icons'\nimport CIcon from '@coreui/icons-react'\n\nimport { CElementCover } from '../element-cover'\nimport { CFormInput, CFormLabel, CFormSelect } from '../form'\nimport { CSmartPagination } from '../smart-pagination'\nimport { CTable, CTableDataCell, CTableFoot, CTableRow } from '../table'\n\nimport { CSmartTableBody } from './CSmartTableBody'\nimport { CSmartTableHead } from './CSmartTableHead'\nimport { CSmartTableProps } from './CSmartTableInterface'\n\nimport { isObjectInArray } from '../../utils'\n\nimport type { ColumnFilterValue, FooterItem, Item, SorterValue } from './types'\nimport {\n  filterColumns,\n  filterTable,\n  getColumnNames,\n  getColumnNamesFromItems,\n  isSortable,\n  sortItems,\n} from './utils'\n\nexport const CSmartTable = forwardRef<HTMLDivElement, CSmartTableProps>(\n  (\n    {\n      activePage = 1,\n      cleaner,\n      clickableRows,\n      columnFilter,\n      columnFilterValue, // TODO: consider to use only columnFilter prop\n      columns,\n      columnSorter,\n      elementCover,\n      footer,\n      header = true,\n      items,\n      itemsNumber,\n      itemsPerPage = 10,\n      itemsPerPageLabel = 'Items per page:',\n      itemsPerPageOptions = [5, 10, 20, 50],\n      itemsPerPageSelect,\n      loading,\n      noItemsLabel = 'No items found',\n      onActivePageChange,\n      onColumnFilterChange,\n      onFilteredItemsChange,\n      onItemsPerPageChange,\n      onRowClick,\n      onSelectAll,\n      onSelectedItemsChange,\n      onSorterChange,\n      onTableFilterChange,\n      pagination,\n      paginationProps,\n      scopedColumns,\n      selected,\n      selectable,\n      selectAll = true,\n      sorterValue,\n      sortingIcon = <CIcon width={18} icon={cilSwapVertical} key=\"csv\" />,\n      sortingIconAscending = <CIcon width={18} icon={cilArrowTop} key=\"cat\" />,\n      sortingIconDescending = <CIcon width={18} icon={cilArrowBottom} key=\"cab\" />,\n      tableBodyProps,\n      tableFootProps,\n      tableFilter,\n      tableFilterLabel = 'Filter:',\n      tableFilterPlaceholder = 'type string...',\n      tableFilterValue, // TODO: consider to use only tableFilter prop\n      tableHeadProps,\n      tableProps,\n      ...rest\n    },\n    ref,\n  ) => {\n    const mountedRef = useRef(false)\n    const [_activePage, setActivePage] = useState(activePage)\n    const [_items, setItems] = useState<Item[]>([])\n    const [_itemsNumber, setItemsNumber] = useState(itemsNumber)\n    const [_itemsPerPage, setItemsPerPage] = useState(itemsPerPage)\n    const [_selected, setSelected] = useState<Item[]>([])\n    const [columnFilterState, setColumnFilterState] = useState<ColumnFilterValue>({})\n    const [selectedAll, setSelectedAll] = useState<boolean | string>()\n    const [sorterState, setSorterState] = useState<SorterValue>({})\n    const [tableFilterState, setTableFilterState] = useState<string>(tableFilterValue ?? '')\n\n    useEffect(() => {\n      setActivePage(activePage)\n    }, [activePage])\n\n    useEffect(() => {\n      if (items && items.length < _itemsPerPage * _activePage - _itemsPerPage) {\n        setActivePage(1)\n      }\n\n      const selected: Item[] = []\n\n      items &&\n        items.forEach((item: Item) => {\n          if (item._selected) {\n            const _item = { ...item }\n            delete _item['_cellProps']\n            delete _item['_props']\n            delete _item['_selected']\n            selected.push(_item)\n          }\n        })\n\n      if (selected.length > 0) {\n        setSelected([..._selected, ...selected])\n      }\n\n      if (Array.isArray(items)) {\n        setItems(items)\n        // eslint-disable-next-line unicorn/explicit-length-check\n        setItemsNumber(itemsNumber || items.length)\n      }\n    }, [JSON.stringify(items)])\n\n    useEffect(() => {\n      Array.isArray(selected) && setSelected(selected)\n    }, [JSON.stringify(selected)])\n\n    useEffect(() => {\n      itemsNumber && setItemsNumber(itemsNumber)\n    }, [itemsNumber])\n\n    useEffect(() => {\n      columnFilterValue && setColumnFilterState(columnFilterValue)\n    }, [JSON.stringify(columnFilterValue)])\n\n    useEffect(() => {\n      setSorterState({ ...sorterValue })\n    }, [JSON.stringify(sorterValue)])\n\n    useEffect(() => setItemsPerPage(itemsPerPage), [itemsPerPage])\n\n    useEffect(() => {\n      mountedRef.current && onActivePageChange && onActivePageChange(_activePage)\n    }, [_activePage])\n\n    useEffect(() => {\n      mountedRef.current && onItemsPerPageChange && onItemsPerPageChange(_itemsPerPage)\n      itemsPerPage !== _itemsPerPage && setActivePage(1) // TODO: set proper page after _itemsPerPage update\n    }, [_itemsPerPage])\n\n    useEffect(() => {\n      mountedRef.current && sorterState && onSorterChange && onSorterChange(sorterState)\n    }, [JSON.stringify(sorterState)])\n\n    useEffect(() => {\n      mountedRef.current && onColumnFilterChange && onColumnFilterChange(columnFilterState)\n    }, [columnFilterState])\n\n    useEffect(() => {\n      mountedRef.current && onTableFilterChange && onTableFilterChange(tableFilterState)\n    }, [tableFilterState])\n\n    useEffect(() => {\n      if (selectable) {\n        onSelectedItemsChange && onSelectedItemsChange(_selected)\n        if (_selected.length === _itemsNumber) {\n          setSelectedAll(true)\n          return\n        }\n\n        if (_selected.length === 0) {\n          setSelectedAll(false)\n          return\n        }\n\n        if (_selected.length > 0 && _selected.length !== _itemsNumber) {\n          setSelectedAll('indeterminate')\n        }\n      }\n    }, [JSON.stringify(_selected), _itemsNumber])\n\n    const columnNames = useMemo(() => getColumnNames(columns, _items), [columns, _items])\n\n    const itemsDataColumns = useMemo(\n      () => columnNames.filter((name) => getColumnNamesFromItems(_items).includes(name)),\n      [columnNames, _items],\n    )\n\n    const filteredColumns: Item[] = useMemo(\n      () => filterColumns(_items, columnFilter, columnFilterState, itemsDataColumns),\n      [columnFilterState, JSON.stringify(_items)],\n    )\n\n    const filteredTable: Item[] = useMemo(\n      () => filterTable(filteredColumns, tableFilter, tableFilterState, itemsDataColumns),\n      [tableFilterState, JSON.stringify(tableFilterValue), JSON.stringify(filteredColumns)],\n    )\n\n    const sortedItems: Item[] = useMemo(\n      () => sortItems(columnSorter, filteredTable, itemsDataColumns, sorterState),\n      [\n        JSON.stringify(filteredTable),\n        JSON.stringify(sorterState),\n        JSON.stringify(columnSorter),\n        JSON.stringify(filteredColumns),\n        JSON.stringify(_items),\n      ],\n    )\n\n    const numberOfPages: number = _itemsPerPage ? Math.ceil(sortedItems.length / _itemsPerPage) : 1\n\n    const firstItemOnActivePageIndex: number = _activePage ? (_activePage - 1) * _itemsPerPage : 0\n\n    const currentItems: Item[] = _activePage\n      ? sortedItems.slice(firstItemOnActivePageIndex, firstItemOnActivePageIndex + _itemsPerPage)\n      : sortedItems\n\n    useEffect(() => {\n      mountedRef.current && onFilteredItemsChange && onFilteredItemsChange(sortedItems)\n    }, [JSON.stringify(sortedItems)])\n\n    const handleClean = (): void => {\n      setTableFilterState('')\n      setColumnFilterState({})\n      setSorterState({})\n    }\n\n    const handleColumnFilterChange = (colName: string, value: any, type?: string): void => {\n      const isLazy = columnFilter && typeof columnFilter === 'object' && columnFilter.lazy === true\n      if ((isLazy && type === 'input') || (!isLazy && type === 'change')) {\n        return\n      }\n\n      const newState = { ...columnFilterState, [`${colName}`]: value }\n      setActivePage(1)\n      setColumnFilterState(newState)\n    }\n\n    const handleItemsPerPageChange = (event: ChangeEvent<HTMLSelectElement>): void => {\n      if (\n        typeof itemsPerPageSelect !== 'object' ||\n        (typeof itemsPerPageSelect === 'object' && !itemsPerPageSelect.external)\n      ) {\n        setItemsPerPage(Number((event.target as HTMLSelectElement).value))\n      }\n    }\n\n    const handleRowChecked = (item: Item, value: boolean) => {\n      if (value && !isObjectInArray(_selected, item, ['_cellProps', '_props', '_selected'])) {\n        setSelected([..._selected, item])\n        return\n      }\n\n      setSelected(\n        _selected.filter(\n          (_item: Item) => !isObjectInArray([_item], item, ['_cellProps', '_props', '_selected']),\n        ),\n      )\n    }\n\n    const handleSelectAllChecked = () => {\n      if (selectedAll === true) {\n        setSelected([])\n        return\n      }\n\n      onSelectAll && onSelectAll()\n\n      if (selectAll && typeof selectAll === 'object' && selectAll.external) {\n        return\n      }\n\n      const selected = _items.map((item) => {\n        return { ...item }\n      })\n\n      setSelected(\n        selected.map((item) => {\n          delete item['_cellProps']\n          delete item['_props']\n          delete item['_selected']\n\n          return item\n        }),\n      )\n    }\n\n    const handleSorterChange = (column: string, index: number): void => {\n      if (!isSortable(index, columns, columnSorter, itemsDataColumns, columnNames)) {\n        return\n      }\n\n      //if column changed or sort was descending change asc to true\n      const state = sorterState ?? { column: '', state: '' }\n\n      if (state.column === column) {\n        if (state.state === 0) {\n          state.state = 'asc'\n        } else if (state.state === 'asc') {\n          state.state = 'desc'\n        } else {\n          state.state = typeof columnSorter === 'object' && !columnSorter.resetable ? 'asc' : 0\n        }\n      } else {\n        state.column = column\n        state.state = 'asc'\n      }\n\n      setSorterState({ ...state })\n    }\n\n    const handleTableFilterChange = (value: string, type: string): void => {\n      const isLazy = tableFilter && typeof tableFilter === 'object' && tableFilter.lazy === true\n      if ((isLazy && type === 'input') || (!isLazy && type === 'change')) {\n        return\n      }\n\n      setActivePage(1)\n      setTableFilterState(value)\n    }\n\n    useEffect(() => {\n      mountedRef.current = true\n    }, [])\n\n    return (\n      <>\n        <div {...rest} ref={ref}>\n          {(itemsPerPageSelect || tableFilter || cleaner) && (\n            <div className=\"row my-2 mx-0\">\n              {(tableFilter || cleaner) && (\n                <>\n                  <div className=\"col-auto p-0\">\n                    {tableFilter && (\n                      <div className=\"row mb-2\">\n                        <CFormLabel className=\"col-sm-auto col-form-label\">\n                          {tableFilterLabel}\n                        </CFormLabel>\n                        <div className=\"col-sm-auto\">\n                          <CFormInput\n                            onInput={(e) => {\n                              handleTableFilterChange((e.target as HTMLInputElement).value, 'input')\n                            }}\n                            onChange={(e) => {\n                              handleTableFilterChange(\n                                (e.target as HTMLInputElement).value,\n                                'change',\n                              )\n                            }}\n                            placeholder={tableFilterPlaceholder}\n                            value={tableFilterState || ''}\n                          />\n                        </div>\n                      </div>\n                    )}\n                  </div>\n                  <div className=\"col-auto p-0\">\n                    {cleaner && (\n                      <button\n                        type=\"button\"\n                        className=\"btn btn-transparent\"\n                        {...(!(\n                          tableFilterState ||\n                          sorterState?.column ||\n                          Object.values(columnFilterState).join('')\n                        ) && {\n                          disabled: true,\n                          tabIndex: -1,\n                        })}\n                        onClick={() => handleClean()}\n                        onKeyDown={(event) => {\n                          if (event.key === 'Enter') handleClean()\n                        }}\n                      >\n                        <CIcon width={18} icon={cilFilterX} />\n                      </button>\n                    )}\n                  </div>\n                </>\n              )}\n            </div>\n          )}\n        </div>\n        <div className=\"position-relative\">\n          <CTable {...tableProps}>\n            {header && (\n              <CSmartTableHead\n                {...tableHeadProps}\n                columnFilter={columnFilter}\n                columnFilterState={columnFilterState}\n                columns={columns ?? columnNames}\n                columnSorter={columnSorter}\n                items={_items}\n                selectable={selectable}\n                selectAll={selectAll}\n                selectedAll={selectedAll}\n                sorterState={sorterState}\n                sortingIcon={sortingIcon}\n                sortingIconAscending={sortingIconAscending}\n                sortingIconDescending={sortingIconDescending}\n                handleFilterOnChange={(key, event) =>\n                  handleColumnFilterChange(key, event, 'change')\n                }\n                handleFilterOnInput={(key, event) => handleColumnFilterChange(key, event, 'input')}\n                handleOnCustomFilterChange={(key, event) => handleColumnFilterChange(key, event)}\n                handleSelectAllChecked={() => handleSelectAllChecked()}\n                handleSort={(key, index) => handleSorterChange(key, index)}\n              />\n            )}\n            <CSmartTableBody\n              clickableRows={clickableRows}\n              currentItems={currentItems}\n              firstItemOnActivePageIndex={firstItemOnActivePageIndex}\n              noItemsLabel={noItemsLabel}\n              onRowClick={(item, index, columnName, event) =>\n                clickableRows && onRowClick && onRowClick(item, index, columnName, event)\n              }\n              onRowChecked={(item, value) => handleRowChecked(item, value)}\n              columnNames={columnNames}\n              scopedColumns={scopedColumns}\n              selectable={selectable}\n              selected={_selected}\n              {...tableBodyProps}\n            />\n            {typeof footer === 'boolean' && footer && (\n              <CSmartTableHead\n                component={CTableFoot}\n                {...tableFootProps}\n                columnFilter={false}\n                columnSorter={false}\n                columns={columns ?? columnNames}\n                items={_items}\n                handleSelectAllChecked={() => handleSelectAllChecked()}\n                selectable={selectable}\n                selectAll={selectAll}\n                selectedAll={selectedAll}\n                showGroups={false}\n              />\n            )}\n            {Array.isArray(footer) && (\n              <CTableFoot {...tableFootProps}>\n                <CTableRow>\n                  {footer.map((item: FooterItem | string, index: number) => (\n                    <CTableDataCell\n                      {...(typeof item === 'object' && item._props && { ...item._props })}\n                      key={index}\n                    >\n                      {typeof item === 'object' ? item.label : item}\n                    </CTableDataCell>\n                  ))}\n                </CTableRow>\n              </CTableFoot>\n            )}\n          </CTable>\n          {loading && (\n            <CElementCover\n              boundaries={[\n                { sides: ['top'], query: 'tbody' },\n                { sides: ['bottom'], query: 'tbody' },\n              ]}\n            >\n              {elementCover}\n            </CElementCover>\n          )}\n        </div>\n\n        {(pagination || itemsPerPageSelect) && (\n          <div className=\"row\">\n            <div className=\"col\">\n              {((pagination && numberOfPages > 1) || (paginationProps && paginationProps.pages > 1)) && (\n                <CSmartPagination\n                  activePage={_activePage}\n                  onActivePageChange={(page) => {\n                    pagination && typeof pagination === 'object' && pagination.external\n                      ? onActivePageChange && onActivePageChange(page)\n                      : setActivePage(page)\n                  }}\n                  pages={numberOfPages}\n                  {...paginationProps}\n                />\n              )}\n            </div>\n            <div className=\"col-auto ms-auto\">\n              {itemsPerPageSelect && (\n                <div className=\"row\">\n                  <CFormLabel className=\"col-auto col-form-label\">{itemsPerPageLabel}</CFormLabel>\n                  <div className=\"col-auto\">\n                    <CFormSelect\n                      defaultValue={_itemsPerPage}\n                      onChange={(event: ChangeEvent<HTMLSelectElement>) =>\n                        handleItemsPerPageChange(event)\n                      }\n                    >\n                      {itemsPerPageOptions &&\n                        itemsPerPageOptions.map((number, index) => {\n                          return (\n                            <option value={number} key={index}>\n                              {number}\n                            </option>\n                          )\n                        })}\n                    </CFormSelect>\n                  </div>\n                </div>\n              )}\n            </div>\n          </div>\n        )}\n      </>\n    )\n  },\n)\n\nCSmartTable.propTypes = {\n  activePage: PropTypes.number,\n  cleaner: PropTypes.bool,\n  clickableRows: PropTypes.bool,\n  columnFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  columnFilterValue: PropTypes.object,\n  columns: PropTypes.array,\n  columnSorter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  elementCover: PropTypes.node,\n  footer: PropTypes.oneOfType([PropTypes.bool, PropTypes.array]),\n  header: PropTypes.bool,\n  items: PropTypes.array,\n  itemsNumber: PropTypes.number,\n  itemsPerPage: PropTypes.number,\n  itemsPerPageLabel: PropTypes.string,\n  itemsPerPageOptions: PropTypes.array,\n  itemsPerPageSelect: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  loading: PropTypes.bool,\n  noItemsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  onActivePageChange: PropTypes.func,\n  onColumnFilterChange: PropTypes.func,\n  onFilteredItemsChange: PropTypes.func,\n  onItemsPerPageChange: PropTypes.func,\n  onRowClick: PropTypes.func,\n  onSelectAll: PropTypes.func,\n  onSelectedItemsChange: PropTypes.func,\n  onSorterChange: PropTypes.func, // TODO: change to `onColumnSorterChange` in v5\n  onTableFilterChange: PropTypes.func,\n  pagination: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  paginationProps: PropTypes.any, // TODO: update\n  scopedColumns: PropTypes.object,\n  selectable: PropTypes.bool,\n  selectAll: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  selected: PropTypes.array,\n  sorterValue: PropTypes.object,\n  sortingIcon: PropTypes.node,\n  sortingIconAscending: PropTypes.node,\n  sortingIconDescending: PropTypes.node,\n  tableBodyProps: PropTypes.object,\n  tableFootProps: PropTypes.object,\n  tableFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n  tableFilterLabel: PropTypes.string,\n  tableFilterPlaceholder: PropTypes.string,\n  tableFilterValue: PropTypes.string,\n  tableHeadProps: PropTypes.object,\n  tableProps: PropTypes.object,\n}\n\nCSmartTable.displayName = 'CSmartTable'\n","import React, { forwardRef, HTMLAttributes, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CBackdrop } from '../backdrop'\n\nimport { isInViewport } from '../../utils'\nimport { useForkedRef } from '../../hooks'\n\nexport interface CSidebarProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Sets if the color of text should be colored for a light or dark dark background.\n   *\n   * @type 'dark' | 'light'\n   */\n  colorScheme?: 'dark' | 'light'\n  /**\n   * Make sidebar narrow.\n   */\n  narrow?: boolean\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Event emitted after visibility of component changed.\n   */\n  onVisibleChange?: (visible: boolean) => void\n  /**\n   * Set sidebar to overlaid variant.\n   */\n  overlaid?: boolean\n  /**\n   * Components placement, there’s no default placement.\n   * @type 'start' | 'end'\n   */\n  placement?: 'start' | 'end'\n  /**\n   * Place sidebar in non-static positions.\n   */\n  position?: 'fixed' | 'sticky'\n  /**\n   * Size the component small, large, or extra large.\n   */\n  size?: 'sm' | 'lg' | 'xl'\n  /**\n   * Expand narrowed sidebar on hover.\n   */\n  unfoldable?: boolean\n  /**\n   * Toggle the visibility of sidebar component.\n   */\n  visible?: boolean\n}\n\nconst isOnMobile = (element: HTMLDivElement) =>\n  Boolean(getComputedStyle(element).getPropertyValue('--cui-is-mobile'))\n\nexport const CSidebar = forwardRef<HTMLDivElement, CSidebarProps>(\n  (\n    {\n      children,\n      className,\n      colorScheme,\n      narrow,\n      onHide,\n      onShow,\n      onVisibleChange,\n      overlaid,\n      placement,\n      position,\n      size,\n      unfoldable,\n      visible,\n      ...rest\n    },\n    ref,\n  ) => {\n    const sidebarRef = useRef<HTMLDivElement>(null)\n    const forkedRef = useForkedRef(ref, sidebarRef)\n    const [mobile, setMobile] = useState(false)\n    const [_visible, setVisible] = useState(visible)\n    const [inViewport, setInViewport] = useState<boolean>()\n\n    useEffect(() => {\n      sidebarRef.current && setMobile(isOnMobile(sidebarRef.current))\n\n      setVisible(visible)\n    }, [visible])\n\n    useEffect(() => {\n      inViewport !== undefined && onVisibleChange && onVisibleChange(inViewport)\n      !inViewport && onHide && onHide()\n      inViewport && onShow && onShow()\n    }, [inViewport])\n\n    useEffect(() => {\n      mobile && visible && setVisible(false)\n    }, [mobile])\n\n    useEffect(() => {\n      sidebarRef.current && setMobile(isOnMobile(sidebarRef.current))\n      sidebarRef.current && setInViewport(isInViewport(sidebarRef.current))\n\n      window.addEventListener('resize', handleResize)\n      window.addEventListener('mouseup', handleClickOutside)\n      window.addEventListener('keyup', handleKeyup)\n\n      sidebarRef.current?.addEventListener('mouseup', handleOnClick)\n      sidebarRef.current?.addEventListener('transitionend', () => {\n        sidebarRef.current && setInViewport(isInViewport(sidebarRef.current))\n      })\n\n      return () => {\n        window.removeEventListener('resize', handleResize)\n        window.removeEventListener('mouseup', handleClickOutside)\n        window.removeEventListener('keyup', handleKeyup)\n\n        sidebarRef.current?.removeEventListener('mouseup', handleOnClick)\n        sidebarRef.current?.removeEventListener('transitionend', () => {\n          sidebarRef.current && setInViewport(isInViewport(sidebarRef.current))\n        })\n      }\n    })\n\n    const handleHide = () => {\n      setVisible(false)\n    }\n\n    const handleResize = () => {\n      sidebarRef.current && setMobile(isOnMobile(sidebarRef.current))\n      sidebarRef.current && setInViewport(isInViewport(sidebarRef.current))\n    }\n\n    const handleKeyup = (event: Event) => {\n      if (\n        mobile &&\n        sidebarRef.current &&\n        !sidebarRef.current.contains(event.target as HTMLElement)\n      ) {\n        handleHide()\n      }\n    }\n    const handleClickOutside = (event: Event) => {\n      if (\n        mobile &&\n        sidebarRef.current &&\n        !sidebarRef.current.contains(event.target as HTMLElement)\n      ) {\n        handleHide()\n      }\n    }\n\n    const handleOnClick = (event: Event) => {\n      const target = event.target as HTMLAnchorElement\n      target &&\n        target.classList.contains('nav-link') &&\n        !target.classList.contains('nav-group-toggle') &&\n        mobile &&\n        handleHide()\n    }\n\n    return (\n      <>\n        <div\n          className={classNames(\n            'sidebar',\n            {\n              [`sidebar-${colorScheme}`]: colorScheme,\n              'sidebar-narrow': narrow,\n              'sidebar-overlaid': overlaid,\n              [`sidebar-${placement}`]: placement,\n              [`sidebar-${position}`]: position,\n              [`sidebar-${size}`]: size,\n              'sidebar-narrow-unfoldable': unfoldable,\n              show: _visible === true && mobile,\n              hide: _visible === false && !mobile,\n            },\n            className,\n          )}\n          {...rest}\n          ref={forkedRef}\n        >\n          {children}\n        </div>\n        {typeof window !== 'undefined' &&\n          mobile &&\n          createPortal(\n            <CBackdrop className=\"sidebar-backdrop\" visible={_visible} />,\n            document.body,\n          )}\n      </>\n    )\n  },\n)\n\nCSidebar.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  colorScheme: PropTypes.oneOf(['dark', 'light']),\n  narrow: PropTypes.bool,\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  onVisibleChange: PropTypes.func,\n  overlaid: PropTypes.bool,\n  placement: PropTypes.oneOf(['start', 'end']),\n  position: PropTypes.oneOf(['fixed', 'sticky']),\n  size: PropTypes.oneOf(['sm', 'lg', 'xl']),\n  unfoldable: PropTypes.bool,\n  visible: PropTypes.bool,\n}\n\nCSidebar.displayName = 'CSidebar'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CSidebarBrandProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CSidebarBrand = forwardRef<HTMLDivElement, CSidebarBrandProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('sidebar-brand', className)} ref={ref} {...rest}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCSidebarBrand.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCSidebarBrand.displayName = 'CSidebarBrand'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CSidebarFooterProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CSidebarFooter = forwardRef<HTMLDivElement, CSidebarFooterProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('sidebar-footer', className)} ref={ref} {...rest}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCSidebarFooter.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCSidebarFooter.displayName = 'CSidebarFooter'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CSidebarTogglerProps extends HTMLAttributes<HTMLButtonElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CSidebarToggler = forwardRef<HTMLButtonElement, CSidebarTogglerProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <button className={classNames('sidebar-toggler', className)} ref={ref} {...rest}>\n        {children}\n      </button>\n    )\n  },\n)\n\nCSidebarToggler.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCSidebarToggler.displayName = 'CSidebarToggler'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CSidebarHeaderProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n}\n\nexport const CSidebarHeader = forwardRef<HTMLDivElement, CSidebarHeaderProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('sidebar-header', className)} ref={ref} {...rest}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCSidebarHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCSidebarHeader.displayName = 'CSidebarHeader'\n","import React, { HTMLAttributes, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CTabContentProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CTabContent = forwardRef<HTMLDivElement, CTabContentProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('tab-content', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCTabContent.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCTabContent.displayName = 'CTabContent'\n","import React, { HTMLAttributes, forwardRef, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { useForkedRef } from '../../hooks'\n\nexport interface CTabPaneProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Toggle the visibility of component.\n   */\n  visible?: boolean\n}\n\nexport const CTabPane = forwardRef<HTMLDivElement, CTabPaneProps>(\n  ({ children, className, onHide, onShow, visible, ...rest }, ref) => {\n    const tabPaneRef = useRef()\n    const forkedRef = useForkedRef(ref, tabPaneRef)\n\n    return (\n      <Transition in={visible} nodeRef={tabPaneRef} onEnter={onShow} onExit={onHide} timeout={150}>\n        {(state) => (\n          <div\n            className={classNames(\n              'tab-pane',\n              'fade',\n              {\n                active: visible,\n                show: state === 'entered',\n              },\n              className,\n            )}\n            {...rest}\n            ref={forkedRef}\n          >\n            {children}\n          </div>\n        )}\n      </Transition>\n    )\n  },\n)\n\nCTabPane.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  visible: PropTypes.bool,\n}\n\nCTabPane.displayName = 'CTabPane'\n","import React, {\n  createContext,\n  forwardRef,\n  HTMLAttributes,\n  useEffect,\n  useRef,\n  useState,\n} from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Transition } from 'react-transition-group'\n\nimport { useForkedRef } from '../../hooks'\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CToastProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * Apply a CSS fade transition to the toast.\n   */\n  animation?: boolean\n  /**\n   * Auto hide the toast.\n   */\n  autohide?: boolean\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Delay hiding the toast (ms).\n   */\n  delay?: number\n  /**\n   * @ignore\n   */\n  index?: number\n  /**\n   * @ignore\n   */\n  key?: number\n  /**\n   * Callback fired when the component requests to be closed.\n   */\n  onClose?: (index: number | null) => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: (index: number | null) => void\n  /**\n   * Toggle the visibility of component.\n   */\n  visible?: boolean\n}\n\ninterface ContextProps extends CToastProps {\n  visible?: boolean\n  setVisible: React.Dispatch<React.SetStateAction<boolean | undefined>>\n}\n\nexport const CToastContext = createContext({} as ContextProps)\n\nexport const CToast = forwardRef<HTMLDivElement, CToastProps>(\n  (\n    {\n      children,\n      animation = true,\n      autohide = true,\n      className,\n      color,\n      delay = 5000,\n      index,\n      key,\n      visible = false,\n      onClose,\n      onShow,\n      ...rest\n    },\n    ref,\n  ) => {\n    const toastRef = useRef()\n    const forkedRef = useForkedRef(ref, toastRef)\n    const [_visible, setVisible] = useState(false)\n    const timeout = useRef<number>()\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    const contextValues = {\n      visible: _visible,\n      setVisible,\n    }\n\n    // triggered on mount and destroy\n    useEffect(() => () => clearTimeout(timeout.current), [])\n\n    useEffect(() => {\n      _autohide()\n    }, [_visible])\n\n    const _autohide = () => {\n      if (autohide) {\n        clearTimeout(timeout.current)\n        timeout.current = window.setTimeout(() => {\n          setVisible(false)\n        }, delay)\n      }\n    }\n\n    return (\n      <Transition\n        in={_visible}\n        nodeRef={toastRef}\n        onEnter={() => onShow && onShow(index ?? null)}\n        onExited={() => onClose && onClose(index ?? null)}\n        timeout={250}\n        unmountOnExit\n      >\n        {(state) => (\n          <CToastContext.Provider value={contextValues}>\n            <div\n              className={classNames(\n                'toast',\n                {\n                  fade: animation,\n                  [`bg-${color}`]: color,\n                  'border-0': color,\n                  'show showing': state === 'entering' || state === 'exiting',\n                  show: state === 'entered',\n                },\n                className,\n              )}\n              aria-live=\"assertive\"\n              aria-atomic=\"true\"\n              role=\"alert\"\n              onMouseEnter={() => clearTimeout(timeout.current)}\n              onMouseLeave={() => _autohide()}\n              {...rest}\n              key={key}\n              ref={forkedRef}\n            >\n              {children}\n            </div>\n          </CToastContext.Provider>\n        )}\n      </Transition>\n    )\n  },\n)\n\nCToast.propTypes = {\n  animation: PropTypes.bool,\n  autohide: PropTypes.bool,\n  children: PropTypes.node,\n  className: PropTypes.string,\n  color: colorPropType,\n  delay: PropTypes.number,\n  index: PropTypes.number,\n  key: PropTypes.number,\n  onClose: PropTypes.func,\n  onShow: PropTypes.func,\n  visible: PropTypes.bool,\n}\n\nCToast.displayName = 'CToast'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nexport interface CToastBodyProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n}\n\nexport const CToastBody = forwardRef<HTMLDivElement, CToastBodyProps>(\n  ({ children, className, ...rest }, ref) => {\n    return (\n      <div className={classNames('toast-body', className)} {...rest} ref={ref}>\n        {children}\n      </div>\n    )\n  },\n)\n\nCToastBody.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n}\n\nCToastBody.displayName = 'CToastBody'\n","import React, { ElementType, forwardRef, useContext } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CButtonProps } from '../button/CButton'\nimport { CCloseButton, CCloseButtonProps } from '../close-button/CCloseButton'\n\nimport { CToastContext } from './CToast'\n\ntype CombineButtonProps = CCloseButtonProps & CButtonProps\n\nexport interface CToastCloseProps extends CombineButtonProps {\n  /**\n   * Component used for the root node. Either a string to use a HTML element or a component.\n   */\n  component?: string | ElementType\n}\n\nexport const CToastClose = forwardRef<HTMLButtonElement, CToastCloseProps>(\n  ({ children, component: Component, ...rest }, ref) => {\n    const { setVisible } = useContext(CToastContext)\n    return Component ? (\n      <Component onClick={() => setVisible(false)} {...rest} ref={ref}>\n        {children}\n      </Component>\n    ) : (\n      <CCloseButton onClick={() => setVisible(false)} {...rest} ref={ref} />\n    )\n  },\n)\n\nCToastClose.propTypes = {\n  ...CCloseButton.propTypes,\n  component: PropTypes.elementType,\n}\n\nCToastClose.displayName = 'CToastClose'\n","import React, { forwardRef, HTMLAttributes } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CToastClose } from './CToastClose'\n\nexport interface CToastHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Automatically add a close button to the header.\n   */\n  closeButton?: boolean\n}\n\nexport const CToastHeader = forwardRef<HTMLDivElement, CToastHeaderProps>(\n  ({ children, className, closeButton, ...rest }, ref) => {\n    return (\n      <div className={classNames('toast-header', className)} {...rest} ref={ref}>\n        {children}\n        {closeButton && <CToastClose />}\n      </div>\n    )\n  },\n)\n\nCToastHeader.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  closeButton: PropTypes.bool,\n}\n\nCToastHeader.displayName = 'CToastHeader'\n","import React, { forwardRef, HTMLAttributes, useEffect, useState, useRef, ReactElement } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { CConditionalPortal } from '../conditional-portal'\n\nexport interface CToasterProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Describes the placement of your component.\n   *\n   * @type 'top-start' | 'top' | 'top-end' | 'middle-start' | 'middle' | 'middle-end' | 'bottom-start' | 'bottom' | 'bottom-end' | string\n   */\n  placement?:\n    | 'top-start'\n    | 'top-center'\n    | 'top-end'\n    | 'middle-start'\n    | 'middle-center'\n    | 'middle-end'\n    | 'bottom-start'\n    | 'bottom-center'\n    | 'bottom-end'\n    | string\n  /**\n   * Adds new `CToast` to `CToaster`.\n   */\n  push?: ReactElement\n}\n\nexport const CToaster = forwardRef<HTMLDivElement, CToasterProps>(\n  ({ children, className, placement, push, ...rest }, ref) => {\n    const [toasts, setToasts] = useState<ReactElement[]>([])\n    const index = useRef<number>(0)\n\n    useEffect(() => {\n      index.current++\n      push && addToast(push)\n    }, [push])\n\n    const addToast = (push: ReactElement) => {\n      setToasts((state) => [\n        ...state,\n        React.cloneElement(push, {\n          index: index.current,\n          key: index.current,\n          onClose: (index: number) =>\n            setToasts((state) => state.filter((i) => i.props.index !== index)),\n        }),\n      ])\n    }\n\n    return (\n      <CConditionalPortal portal={typeof placement === 'string'}>\n        {toasts.length > 0 || children ? (\n          <div\n            className={classNames(\n              'toaster toast-container p-3',\n              {\n                'position-fixed': placement,\n                'top-0': placement && placement.includes('top'),\n                'top-50 translate-middle-y': placement && placement.includes('middle'),\n                'bottom-0': placement && placement.includes('bottom'),\n                'start-0': placement && placement.includes('start'),\n                'start-50 translate-middle-x': placement && placement.includes('center'),\n                'end-0': placement && placement.includes('end'),\n              },\n              className,\n            )}\n            {...rest}\n            ref={ref}\n          >\n            {children}\n            {toasts.map((toast) => React.cloneElement(toast, { visible: true }))}\n          </div>\n        ) : null}\n      </CConditionalPortal>\n    )\n  },\n)\n\nCToaster.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  placement: PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.oneOf([\n      'top-start',\n      'top-center',\n      'top-end',\n      'middle-start',\n      'middle-center',\n      'middle-end',\n      'bottom-start',\n      'bottom-center',\n      'bottom-end',\n    ]),\n  ]),\n  push: PropTypes.any,\n}\n\nCToaster.displayName = 'CToaster'\n","import React, { forwardRef, HTMLAttributes, ReactNode, useRef, useEffect, useState } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { Transition } from 'react-transition-group'\n\nimport { CConditionalPortal } from '../conditional-portal'\nimport { useForkedRef, usePopper } from '../../hooks'\nimport { fallbackPlacementsPropType, triggerPropType } from '../../props'\nimport type { Placements, Triggers } from '../../types'\nimport { getRTLPlacement, getTransitionDurationFromElement } from '../../utils'\n\nexport interface CTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {\n  /**\n   * Apply a CSS fade transition to the tooltip.\n   *\n   * @since 4.9.0\n   */\n  animation?: boolean\n  /**\n   * A string of all className you want applied to the component.\n   */\n  className?: string\n  /**\n   * Appends the react tooltip to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.\n   *\n   * @since v4.11.0\n   */\n  container?: Element | (() => Element | null) | null\n  /**\n   * Content node for your component.\n   */\n  content: ReactNode | string\n  /**\n   * The delay for displaying and hiding the tooltip (in milliseconds). When a numerical value is provided, the delay applies to both the hide and show actions. The object structure for specifying the delay is as follows: delay: `{ 'show': 500, 'hide': 100 }`.\n   *\n   * @since 4.9.0\n   */\n  delay?: number | { show: number; hide: number }\n  /**\n   * Specify the desired order of fallback placements by providing a list of placements as an array. The placements should be prioritized based on preference.\n   *\n   * @since 4.9.0\n   */\n  fallbackPlacements?: Placements | Placements[]\n  /**\n   * Offset of the tooltip relative to its target.\n   */\n  offset?: [number, number]\n  /**\n   * Callback fired when the component requests to be hidden.\n   */\n  onHide?: () => void\n  /**\n   * Callback fired when the component requests to be shown.\n   */\n  onShow?: () => void\n  /**\n   * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n   *\n   * @type 'hover' | 'focus' | 'click'\n   */\n  trigger?: Triggers | Triggers[]\n  /**\n   * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n   */\n  placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left'\n  /**\n   * Toggle the visibility of tooltip component.\n   */\n  visible?: boolean\n}\n\nexport const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(\n  (\n    {\n      children,\n      animation = true,\n      className,\n      container,\n      content,\n      delay = 0,\n      fallbackPlacements = ['top', 'right', 'bottom', 'left'],\n      offset = [0, 6],\n      onHide,\n      onShow,\n      placement = 'top',\n      trigger = ['hover', 'focus'],\n      visible,\n      ...rest\n    },\n    ref,\n  ) => {\n    const tooltipRef = useRef<HTMLDivElement>(null)\n    const togglerRef = useRef(null)\n    const forkedRef = useForkedRef(ref, tooltipRef)\n    const uID = useRef(`tooltip${Math.floor(Math.random() * 1_000_000)}`)\n\n    const { initPopper, destroyPopper } = usePopper()\n    const [_visible, setVisible] = useState(visible)\n\n    const _delay = typeof delay === 'number' ? { show: delay, hide: delay } : delay\n\n    const popperConfig = {\n      modifiers: [\n        {\n          name: 'arrow',\n          options: {\n            element: '.tooltip-arrow',\n          },\n        },\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: fallbackPlacements,\n          },\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: offset,\n          },\n        },\n      ],\n      placement: getRTLPlacement(placement, togglerRef.current),\n    }\n\n    useEffect(() => {\n      setVisible(visible)\n    }, [visible])\n\n    const toggleVisible = (visible: boolean) => {\n      if (visible) {\n        setTimeout(() => setVisible(true), _delay.show)\n        return\n      }\n\n      setTimeout(() => setVisible(false), _delay.hide)\n    }\n\n    return (\n      <>\n        {React.cloneElement(children as React.ReactElement<any>, {\n          ...(_visible && {\n            'aria-describedby': uID.current,\n          }),\n          ref: togglerRef,\n          ...((trigger === 'click' || trigger.includes('click')) && {\n            onClick: () => toggleVisible(!_visible),\n          }),\n          ...((trigger === 'focus' || trigger.includes('focus')) && {\n            onFocus: () => toggleVisible(true),\n            onBlur: () => toggleVisible(false),\n          }),\n          ...((trigger === 'hover' || trigger.includes('hover')) && {\n            onMouseEnter: () => toggleVisible(true),\n            onMouseLeave: () => toggleVisible(false),\n          }),\n        })}\n        <CConditionalPortal container={container} portal={true}>\n          <Transition\n            in={_visible}\n            mountOnEnter\n            nodeRef={tooltipRef}\n            onEnter={() => {\n              if (togglerRef.current && tooltipRef.current) {\n                initPopper(togglerRef.current, tooltipRef.current, popperConfig)\n              }\n\n              onShow\n            }}\n            onEntering={() => {\n              if (togglerRef.current && tooltipRef.current) {\n                tooltipRef.current.style.display = 'initial'\n              }\n            }}\n            onExit={onHide}\n            onExited={() => {\n              destroyPopper()\n            }}\n            timeout={{\n              enter: 0,\n              exit: tooltipRef.current\n                ? getTransitionDurationFromElement(tooltipRef.current) + 50\n                : 200,\n            }}\n            unmountOnExit\n          >\n            {(state) => (\n              <div\n                className={classNames(\n                  'tooltip',\n                  'bs-tooltip-auto',\n                  {\n                    fade: animation,\n                    show: state === 'entered',\n                  },\n                  className,\n                )}\n                id={uID.current}\n                ref={forkedRef}\n                role=\"tooltip\"\n                style={{\n                  display: 'none',\n                }}\n                {...rest}\n              >\n                <div className=\"tooltip-arrow\"></div>\n                <div className=\"tooltip-inner\">{content}</div>\n              </div>\n            )}\n          </Transition>\n        </CConditionalPortal>\n      </>\n    )\n  },\n)\n\nCTooltip.propTypes = {\n  animation: PropTypes.bool,\n  children: PropTypes.node,\n  container: PropTypes.any,\n  content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  delay: PropTypes.oneOfType([\n    PropTypes.number,\n    PropTypes.shape({\n      show: PropTypes.number.isRequired,\n      hide: PropTypes.number.isRequired,\n    }),\n  ]),\n  fallbackPlacements: fallbackPlacementsPropType,\n  offset: PropTypes.any, // TODO: find good proptype\n  onHide: PropTypes.func,\n  onShow: PropTypes.func,\n  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),\n  trigger: triggerPropType,\n  visible: PropTypes.bool,\n}\n\nCTooltip.displayName = 'CTooltip'\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CCard, CCardBody } from '../card'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CWidgetStatsAProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * Action node for your component.\n   */\n  action?: ReactNode\n  /**\n   * Chart node for your component.\n   */\n  chart?: string | ReactNode\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Title node for your component.\n   */\n  title?: string | ReactNode\n  /**\n   * Value node for your component.\n   */\n  value?: string | number | ReactNode\n}\n\nexport const CWidgetStatsA = forwardRef<HTMLDivElement, CWidgetStatsAProps>(\n  ({ action, chart, className, color, title, value, ...rest }, ref) => {\n    return (\n      <CCard\n        className={classNames(\n          { [`bg-${color}`]: color, 'text-high-emphasis-inverse': color },\n          className,\n        )}\n        {...rest}\n        ref={ref}\n      >\n        <CCardBody className=\"pb-0 d-flex justify-content-between align-items-start\">\n          <div>\n            {value && <div className=\"fs-4 fw-semibold\">{value}</div>}\n            {title && <div>{title}</div>}\n          </div>\n          {action}\n        </CCardBody>\n        {chart}\n      </CCard>\n    )\n  },\n)\n\nCWidgetStatsA.propTypes = {\n  action: PropTypes.node,\n  chart: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  className: PropTypes.string,\n  color: colorPropType,\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]),\n}\n\nCWidgetStatsA.displayName = 'CWidgetStatsA'\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CCard, CCardBody } from '../card'\nimport { CProgress, CProgressProps } from '../progress/CProgress'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CWidgetStatsBProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Colors have been inverted from their default dark shade.\n   */\n  inverse?: boolean\n  /**\n   * Sets the color context of the progress bar to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  progress?: CProgressProps\n  /**\n   * Title node for your component.\n   */\n  title?: string | ReactNode\n  /**\n   * Helper text for your component.\n   */\n  text?: string\n  /**\n   * Value node for your component.\n   */\n  value?: string | number | ReactNode\n}\n\nexport const CWidgetStatsB = forwardRef<HTMLDivElement, CWidgetStatsBProps>(\n  ({ className, color, inverse, progress, text, title, value, ...rest }, ref) => {\n    return (\n      <CCard\n        className={className}\n        color={color}\n        {...(inverse && { textColor: 'high-emphasis-inverse' })}\n        {...rest}\n        ref={ref}\n      >\n        <CCardBody>\n          {value && <div className=\"fs-4 fw-semibold\">{value}</div>}\n          {title && <div>{title}</div>}\n          <CProgress className=\"my-2\" height={4} {...(inverse && { white: true })} {...progress} />\n          {text && (\n            <small className={inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis'}>\n              {text}\n            </small>\n          )}\n        </CCardBody>\n      </CCard>\n    )\n  },\n)\n\nCWidgetStatsB.propTypes = {\n  className: PropTypes.string,\n  color: colorPropType,\n  inverse: PropTypes.bool,\n  progress: PropTypes.object,\n  text: PropTypes.string,\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]),\n}\n\nCWidgetStatsB.displayName = 'CWidgetCWidgetStatsB'\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CCard, CCardBody } from '../card'\nimport { CProgress, CProgressProps } from '../progress/CProgress'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CWidgetStatsCProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Icon node for your component.\n   */\n  icon?: string | ReactNode\n  /**\n   * Colors have been inverted from their default dark shade.\n   */\n  inverse?: boolean\n  /**\n   * Sets the color context of the progress bar to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  progress?: CProgressProps\n  /**\n   * Title node for your component.\n   */\n  title?: string | ReactNode\n  /**\n   * Value node for your component.\n   */\n  value?: string | number | ReactNode\n}\n\nexport const CWidgetStatsC = forwardRef<HTMLDivElement, CWidgetStatsCProps>(\n  ({ className, color, icon, inverse, progress, title, value, ...rest }, ref) => {\n    return (\n      <CCard\n        className={className}\n        color={color}\n        {...(inverse && { textColor: 'high-emphasis-inverse' })}\n        {...rest}\n        ref={ref}\n      >\n        <CCardBody>\n          {icon && (\n            <div className={`text-medium-emphasis${inverse ? '-inverse' : ''} text-end mb-4`}>\n              {icon}\n            </div>\n          )}\n          {value && (\n            <div className={`text-high-emphasis${inverse ? '-inverse' : ''} fs-4 fw-semibold`}>\n              {value}\n            </div>\n          )}\n          {title && (\n            <div className={inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis'}>\n              {title}\n            </div>\n          )}\n          <CProgress\n            className=\"mt-3 mb-0\"\n            height={4}\n            {...(inverse && { white: true })}\n            {...progress}\n          />\n        </CCardBody>\n      </CCard>\n    )\n  },\n)\n\nCWidgetStatsC.propTypes = {\n  className: PropTypes.string,\n  color: colorPropType,\n  icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  inverse: PropTypes.bool,\n  progress: PropTypes.object,\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]),\n}\n\nCWidgetStatsC.displayName = 'CWidgetStatsCWidgetStatsC'\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CCard, CCardBody, CCardHeader } from '../card'\nimport { CCol } from '../grid/CCol'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\ntype Value = {\n  title?: string | ReactNode\n  value?: number | string | ReactNode\n}\n\nexport interface CWidgetStatsDProps extends HTMLAttributes<HTMLDivElement> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Chart node for your component.\n   */\n  chart?: string | ReactNode\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Icon node for your component.\n   */\n  icon?: string | ReactNode\n  /**\n   * Values and titles for your component.\n   */\n  values?: Value[]\n}\n\nexport const CWidgetStatsD = forwardRef<HTMLDivElement, CWidgetStatsDProps>(\n  ({ className, chart, color, icon, values, ...rest }, ref) => {\n    return (\n      <CCard className={className} {...rest} ref={ref}>\n        <CCardHeader\n          className={classNames(\n            'position-relative d-flex justify-content-center align-items-center',\n            {\n              [`bg-${color}`]: color,\n            },\n          )}\n        >\n          {icon}\n          {chart}\n        </CCardHeader>\n        <CCardBody className=\"row text-center\">\n          {values &&\n            values.map((value: Value, index: number) => {\n              return (\n                <React.Fragment key={index}>\n                  {index % 2 !== 0 && <div className=\"vr\"></div>}\n                  <CCol>\n                    <div className=\"fs-5 fw-semibold\">{value.value}</div>\n                    <div className=\"text-uppercase text-medium-emphasis small\">{value.title}</div>\n                  </CCol>\n                </React.Fragment>\n              )\n            })}\n        </CCardBody>\n      </CCard>\n    )\n  },\n)\n\nCWidgetStatsD.propTypes = {\n  chart: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  className: PropTypes.string,\n  color: colorPropType,\n  icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  values: PropTypes.arrayOf(PropTypes.any),\n}\n\nCWidgetStatsD.displayName = 'CWidgetStatsD'\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nimport { CCard, CCardBody } from '../card'\n\nexport interface CWidgetStatsEProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Chart node for your component.\n   */\n  chart?: string | ReactNode\n  /**\n   * Title node for your component.\n   */\n  title?: string | ReactNode\n  /**\n   * Value node for your component.\n   */\n  value?: string | number | ReactNode\n}\n\nexport const CWidgetStatsE = forwardRef<HTMLDivElement, CWidgetStatsEProps>(\n  ({ chart, className, title, value, ...rest }, ref) => {\n    return (\n      <CCard className={classNames(className)} {...rest} ref={ref}>\n        <CCardBody className=\"text-center\">\n          {title && (\n            <div className=\"text-medium-emphasis small text-uppercase fw-semibold\">{title}</div>\n          )}\n          {value && <div className=\"fs-6 fw-semibold py-3\">{value}</div>}\n          {chart}\n        </CCardBody>\n      </CCard>\n    )\n  },\n)\n\nCWidgetStatsE.propTypes = {\n  children: PropTypes.node,\n  chart: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  className: PropTypes.string,\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]),\n}\n\nCWidgetStatsE.displayName = 'CWidgetStatsE'\n","import React, { forwardRef, HTMLAttributes, ReactNode } from 'react'\nimport PropTypes from 'prop-types'\n\nimport { CCard, CCardBody, CCardFooter } from '../card'\n\nimport { colorPropType } from '../../props'\nimport type { Colors } from '../../types'\n\nexport interface CWidgetStatsFProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n  /**\n   * A string of all className you want applied to the base component.\n   */\n  className?: string\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   *\n   * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n   */\n  color?: Colors\n  /**\n   * Footer node for your component.\n   */\n  footer?: string | ReactNode\n  /**\n   * Icon node for your component.\n   */\n  icon?: string | ReactNode\n  /**\n   * Set padding of your component.\n   */\n  padding?: boolean\n  /**\n   * Title node for your component.\n   */\n  title?: string | ReactNode\n  /**\n   * Value node for your component.\n   */\n  value?: string | number | ReactNode\n}\n\nexport const CWidgetStatsF = forwardRef<HTMLDivElement, CWidgetStatsFProps>(\n  ({ className, color, footer, icon, padding = true, title, value, ...rest }, ref) => {\n    return (\n      <CCard className={className} {...rest} ref={ref}>\n        <CCardBody className={`d-flex align-items-center ${padding === false && 'p-0'}`}>\n          <div className={`me-3 text-white bg-${color} ${padding ? 'p-3' : 'p-4'}`}>{icon}</div>\n          <div>\n            <div className={`fs-6 fw-semibold text-${color}`}>{value}</div>\n            <div className=\"text-medium-emphasis text-uppercase fw-semibold small\">{title}</div>\n          </div>\n        </CCardBody>\n        {footer && <CCardFooter>{footer}</CCardFooter>}\n      </CCard>\n    )\n  },\n)\n\nCWidgetStatsF.propTypes = {\n  className: PropTypes.string,\n  color: colorPropType,\n  footer: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  padding: PropTypes.bool,\n  title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]),\n}\n\nCWidgetStatsF.displayName = 'CWidgetStatsF'\n","var isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nexport default deepmerge_1;\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 * 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\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\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 getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n    return false;\n  }\n  var proto = getPrototype(value);\n  if (proto === null) {\n    return true;\n  }\n  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n    funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n  if (!isProduction) {\n    if (condition) {\n      return;\n    }\n\n    var text = \"Warning: \" + message;\n\n    if (typeof console !== 'undefined') {\n      console.warn(text);\n    }\n\n    try {\n      throw Error(text);\n    } catch (x) {}\n  }\n}\n\nexport default warning;\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\nexport default listCacheClear;\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\nexport default eq;\n","import eq from './eq.js';\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\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import ListCache from './_ListCache.js';\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\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nexport default stackHas;\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 baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\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\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\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\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\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\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.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 * 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\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\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\nexport default mapCacheClear;\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\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\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\nexport default getMapData;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (iteratee(array[index], index, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\nexport default arrayEach;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.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 * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nexport default copyObject;\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\nexport default baseTimes;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.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/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\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\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\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\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.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 * 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\nexport default arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.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 * 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\nexport default baseKeys;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\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\nexport default isArrayLike;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\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\nexport default keys;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\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\nexport default baseAssign;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.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 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n  return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nexport default cloneBuffer;\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\nexport default copyArray;\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\nexport default arrayFilter;\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\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n  if (object == null) {\n    return [];\n  }\n  object = Object(object);\n  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n    return propertyIsEnumerable.call(object, symbol);\n  });\n};\n\nexport default getSymbols;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n  return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\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\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n  var result = [];\n  while (object) {\n    arrayPush(result, getSymbols(object));\n    object = getPrototype(object);\n  }\n  return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n  return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\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\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\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\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n  return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    setTag = '[object Set]',\n    weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = baseGetTag(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : '';\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n  var length = array.length,\n      result = new array.constructor(length);\n\n  // Add properties assigned by `RegExp#exec`.\n  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n    result.index = array.index;\n    result.input = array.input;\n  }\n  return result;\n}\n\nexport default initCloneArray;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\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\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\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\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n  result.lastIndex = regexp.lastIndex;\n  return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\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\nexport default cloneTypedArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n  var Ctor = object.constructor;\n  switch (tag) {\n    case arrayBufferTag:\n      return cloneArrayBuffer(object);\n\n    case boolTag:\n    case dateTag:\n      return new Ctor(+object);\n\n    case dataViewTag:\n      return cloneDataView(object, isDeep);\n\n    case float32Tag: case float64Tag:\n    case int8Tag: case int16Tag: case int32Tag:\n    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n      return cloneTypedArray(object, isDeep);\n\n    case mapTag:\n      return new Ctor;\n\n    case numberTag:\n    case stringTag:\n      return new Ctor(object);\n\n    case regexpTag:\n      return cloneRegExp(object);\n\n    case setTag:\n      return new Ctor;\n\n    case symbolTag:\n      return cloneSymbol(object);\n  }\n}\n\nexport default initCloneByTag;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nexport default baseCreate;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\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\nexport default initCloneObject;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n  return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n  return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_FLAT_FLAG = 2,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n *  1 - Deep clone\n *  2 - Flatten inherited properties\n *  4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n  var result,\n      isDeep = bitmask & CLONE_DEEP_FLAG,\n      isFlat = bitmask & CLONE_FLAT_FLAG,\n      isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n  if (customizer) {\n    result = object ? customizer(value, key, object, stack) : customizer(value);\n  }\n  if (result !== undefined) {\n    return result;\n  }\n  if (!isObject(value)) {\n    return value;\n  }\n  var isArr = isArray(value);\n  if (isArr) {\n    result = initCloneArray(value);\n    if (!isDeep) {\n      return copyArray(value, result);\n    }\n  } else {\n    var tag = getTag(value),\n        isFunc = tag == funcTag || tag == genTag;\n\n    if (isBuffer(value)) {\n      return cloneBuffer(value, isDeep);\n    }\n    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n      result = (isFlat || isFunc) ? {} : initCloneObject(value);\n      if (!isDeep) {\n        return isFlat\n          ? copySymbolsIn(value, baseAssignIn(result, value))\n          : copySymbols(value, baseAssign(result, value));\n      }\n    } else {\n      if (!cloneableTags[tag]) {\n        return object ? value : {};\n      }\n      result = initCloneByTag(value, tag, isDeep);\n    }\n  }\n  // Check for circular references and return its corresponding clone.\n  stack || (stack = new Stack);\n  var stacked = stack.get(value);\n  if (stacked) {\n    return stacked;\n  }\n  stack.set(value, result);\n\n  if (isSet(value)) {\n    value.forEach(function(subValue) {\n      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n    });\n  } 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\nexport default baseClone;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\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 */\nfunction clone(value) {\n  return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nexport default arrayMap;\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","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result) || cache;\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n  var result = [];\n  if (string.charCodeAt(0) === 46 /* . */) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, subString) {\n    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n  var result = memoize(func, function(key) {\n    if (cache.size === MAX_MEMOIZE_SIZE) {\n      cache.clear();\n    }\n    return key;\n  });\n\n  var cache = result.cache;\n  return result;\n}\n\nexport default memoizeCapped;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import arrayMap from './_arrayMap.js';\nimport copyArray from './_copyArray.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\nimport stringToPath from './_stringToPath.js';\nimport toKey from './_toKey.js';\nimport toString from './toString.js';\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n  if (isArray(value)) {\n    return arrayMap(value, toKey);\n  }\n  return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nexport default toPath;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import * as React from 'react';\nimport { FormikContextType } from './types';\nimport invariant from 'tiny-warning';\n\nexport const FormikContext = React.createContext<FormikContextType<any>>(\n  undefined as any\n);\nFormikContext.displayName = 'FormikContext';\n\nexport const FormikProvider = FormikContext.Provider;\nexport const FormikConsumer = FormikContext.Consumer;\n\nexport function useFormikContext<Values>() {\n  const formik = React.useContext<FormikContextType<Values>>(FormikContext);\n\n  invariant(\n    !!formik,\n    `Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.`\n  );\n\n  return formik;\n}\n","import clone from 'lodash/clone';\nimport toPath from 'lodash/toPath';\nimport * as React from 'react';\n\n// Assertions\n\n/** @private is the value an empty array? */\nexport const isEmptyArray = (value?: any) =>\n  Array.isArray(value) && value.length === 0;\n\n/** @private is the given object a Function? */\nexport const isFunction = (obj: any): obj is Function =>\n  typeof obj === 'function';\n\n/** @private is the given object an Object? */\nexport const isObject = (obj: any): obj is Object =>\n  obj !== null && typeof obj === 'object';\n\n/** @private is the given object an integer? */\nexport const isInteger = (obj: any): boolean =>\n  String(Math.floor(Number(obj))) === obj;\n\n/** @private is the given object a string? */\nexport const isString = (obj: any): obj is string =>\n  Object.prototype.toString.call(obj) === '[object String]';\n\n/** @private is the given object a NaN? */\n// eslint-disable-next-line no-self-compare\nexport const isNaN = (obj: any): boolean => obj !== obj;\n\n/** @private Does a React component have exactly 0 children? */\nexport const isEmptyChildren = (children: any): boolean =>\n  React.Children.count(children) === 0;\n\n/** @private is the given object/value a promise? */\nexport const isPromise = (value: any): value is PromiseLike<any> =>\n  isObject(value) && isFunction(value.then);\n\n/** @private is the given object/value a type of synthetic event? */\nexport const isInputEvent = (value: any): value is React.SyntheticEvent<any> =>\n  value && isObject(value) && isObject(value.target);\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?Document} doc Defaults to current document.\n * @return {Element | null}\n * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js\n */\nexport function getActiveElement(doc?: Document): Element | null {\n  doc = doc || (typeof document !== 'undefined' ? document : undefined);\n  if (typeof doc === 'undefined') {\n    return null;\n  }\n  try {\n    return doc.activeElement || doc.body;\n  } catch (e) {\n    return doc.body;\n  }\n}\n\n/**\n * Deeply get a value from an object via its path.\n */\nexport function getIn(\n  obj: any,\n  key: string | string[],\n  def?: any,\n  p: number = 0\n) {\n  const path = toPath(key);\n  while (obj && p < path.length) {\n    obj = obj[path[p++]];\n  }\n\n  // check if path is not in the end\n  if (p !== path.length && !obj) {\n    return def;\n  }\n\n  return obj === undefined ? def : obj;\n}\n\n/**\n * Deeply set a value from in object via it's path. If the value at `path`\n * has changed, return a shallow copy of obj with `value` set at `path`.\n * If `value` has not changed, return the original `obj`.\n *\n * Existing objects / arrays along `path` are also shallow copied. Sibling\n * objects along path retain the same internal js reference. Since new\n * objects / arrays are only created along `path`, we can test if anything\n * changed in a nested structure by comparing the object's reference in\n * the old and new object, similar to how russian doll cache invalidation\n * works.\n *\n * In earlier versions of this function, which used cloneDeep, there were\n * issues whereby settings a nested value would mutate the parent\n * instead of creating a new object. `clone` avoids that bug making a\n * shallow copy of the objects along the update path\n * so no object is mutated in place.\n *\n * Before changing this function, please read through the following\n * discussions.\n *\n * @see https://github.com/developit/linkstate\n * @see https://github.com/jaredpalmer/formik/pull/123\n */\nexport function setIn(obj: any, path: string, value: any): any {\n  let res: any = clone(obj); // this keeps inheritance when obj is a class\n  let resVal: any = res;\n  let i = 0;\n  let pathArray = toPath(path);\n\n  for (; i < pathArray.length - 1; i++) {\n    const currentPath: string = pathArray[i];\n    let currentObj: any = getIn(obj, pathArray.slice(0, i + 1));\n\n    if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {\n      resVal = resVal[currentPath] = clone(currentObj);\n    } else {\n      const nextPath: string = pathArray[i + 1];\n      resVal = resVal[currentPath] =\n        isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};\n    }\n  }\n\n  // Return original object if new value is the same as current\n  if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {\n    return obj;\n  }\n\n  if (value === undefined) {\n    delete resVal[pathArray[i]];\n  } else {\n    resVal[pathArray[i]] = value;\n  }\n\n  // If the path array has a single element, the loop did not run.\n  // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead.\n  if (i === 0 && value === undefined) {\n    delete res[pathArray[i]];\n  }\n\n  return res;\n}\n\n/**\n * Recursively a set the same value for all keys and arrays nested object, cloning\n * @param object\n * @param value\n * @param visited\n * @param response\n */\nexport function setNestedObjectValues<T>(\n  object: any,\n  value: any,\n  visited: any = new WeakMap(),\n  response: any = {}\n): T {\n  for (let k of Object.keys(object)) {\n    const val = object[k];\n    if (isObject(val)) {\n      if (!visited.get(val)) {\n        visited.set(val, true);\n        // In order to keep array values consistent for both dot path  and\n        // bracket syntax, we need to check if this is an array so that\n        // this will output  { friends: [true] } and not { friends: { \"0\": true } }\n        response[k] = Array.isArray(val) ? [] : {};\n        setNestedObjectValues(val, value, visited, response[k]);\n      }\n    } else {\n      response[k] = value;\n    }\n  }\n\n  return response;\n}\n","import deepmerge from 'deepmerge';\nimport isPlainObject from 'lodash/isPlainObject';\nimport * as React from 'react';\nimport isEqual from 'react-fast-compare';\nimport invariant from 'tiny-warning';\nimport { FieldConfig } from './Field';\nimport { FormikProvider } from './FormikContext';\nimport {\n  FieldHelperProps,\n  FieldInputProps,\n  FieldMetaProps,\n  FormikConfig,\n  FormikErrors,\n  FormikHandlers,\n  FormikHelpers,\n  FormikProps,\n  FormikState,\n  FormikTouched,\n  FormikValues,\n} from './types';\nimport {\n  getActiveElement,\n  getIn,\n  isEmptyChildren,\n  isFunction,\n  isObject,\n  isPromise,\n  isString,\n  setIn,\n  setNestedObjectValues,\n} from './utils';\n\ntype FormikMessage<Values> =\n  | { type: 'SUBMIT_ATTEMPT' }\n  | { type: 'SUBMIT_FAILURE' }\n  | { type: 'SUBMIT_SUCCESS' }\n  | { type: 'SET_ISVALIDATING'; payload: boolean }\n  | { type: 'SET_ISSUBMITTING'; payload: boolean }\n  | { type: 'SET_VALUES'; payload: Values }\n  | { type: 'SET_FIELD_VALUE'; payload: { field: string; value?: any } }\n  | { type: 'SET_FIELD_TOUCHED'; payload: { field: string; value?: boolean } }\n  | { type: 'SET_FIELD_ERROR'; payload: { field: string; value?: string } }\n  | { type: 'SET_TOUCHED'; payload: FormikTouched<Values> }\n  | { type: 'SET_ERRORS'; payload: FormikErrors<Values> }\n  | { type: 'SET_STATUS'; payload: any }\n  | {\n      type: 'SET_FORMIK_STATE';\n      payload: (s: FormikState<Values>) => FormikState<Values>;\n    }\n  | {\n      type: 'RESET_FORM';\n      payload: FormikState<Values>;\n    };\n\n// State reducer\nfunction formikReducer<Values>(\n  state: FormikState<Values>,\n  msg: FormikMessage<Values>\n) {\n  switch (msg.type) {\n    case 'SET_VALUES':\n      return { ...state, values: msg.payload };\n    case 'SET_TOUCHED':\n      return { ...state, touched: msg.payload };\n    case 'SET_ERRORS':\n      if (isEqual(state.errors, msg.payload)) {\n        return state;\n      }\n\n      return { ...state, errors: msg.payload };\n    case 'SET_STATUS':\n      return { ...state, status: msg.payload };\n    case 'SET_ISSUBMITTING':\n      return { ...state, isSubmitting: msg.payload };\n    case 'SET_ISVALIDATING':\n      return { ...state, isValidating: msg.payload };\n    case 'SET_FIELD_VALUE':\n      return {\n        ...state,\n        values: setIn(state.values, msg.payload.field, msg.payload.value),\n      };\n    case 'SET_FIELD_TOUCHED':\n      return {\n        ...state,\n        touched: setIn(state.touched, msg.payload.field, msg.payload.value),\n      };\n    case 'SET_FIELD_ERROR':\n      return {\n        ...state,\n        errors: setIn(state.errors, msg.payload.field, msg.payload.value),\n      };\n    case 'RESET_FORM':\n      return { ...state, ...msg.payload };\n    case 'SET_FORMIK_STATE':\n      return msg.payload(state);\n    case 'SUBMIT_ATTEMPT':\n      return {\n        ...state,\n        touched: setNestedObjectValues<FormikTouched<Values>>(\n          state.values,\n          true\n        ),\n        isSubmitting: true,\n        submitCount: state.submitCount + 1,\n      };\n    case 'SUBMIT_FAILURE':\n      return {\n        ...state,\n        isSubmitting: false,\n      };\n    case 'SUBMIT_SUCCESS':\n      return {\n        ...state,\n        isSubmitting: false,\n      };\n    default:\n      return state;\n  }\n}\n\n// Initial empty states // objects\nconst emptyErrors: FormikErrors<unknown> = {};\nconst emptyTouched: FormikTouched<unknown> = {};\n\n// This is an object that contains a map of all registered fields\n// and their validate functions\ninterface FieldRegistry {\n  [field: string]: {\n    validate: (value: any) => string | Promise<string> | undefined;\n  };\n}\n\nexport function useFormik<Values extends FormikValues = FormikValues>({\n  validateOnChange = true,\n  validateOnBlur = true,\n  validateOnMount = false,\n  isInitialValid,\n  enableReinitialize = false,\n  onSubmit,\n  ...rest\n}: FormikConfig<Values>) {\n  const props = {\n    validateOnChange,\n    validateOnBlur,\n    validateOnMount,\n    onSubmit,\n    ...rest,\n  };\n  const initialValues = React.useRef(props.initialValues);\n  const initialErrors = React.useRef(props.initialErrors || emptyErrors);\n  const initialTouched = React.useRef(props.initialTouched || emptyTouched);\n  const initialStatus = React.useRef(props.initialStatus);\n  const isMounted = React.useRef<boolean>(false);\n  const fieldRegistry = React.useRef<FieldRegistry>({});\n  if (__DEV__) {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useEffect(() => {\n      invariant(\n        typeof isInitialValid === 'undefined',\n        'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.'\n      );\n      // eslint-disable-next-line\n    }, []);\n  }\n\n  React.useEffect(() => {\n    isMounted.current = true;\n\n    return () => {\n      isMounted.current = false;\n    };\n  }, []);\n\n  const [, setIteration] = React.useState(0);\n  const stateRef = React.useRef<FormikState<Values>>({\n    values: props.initialValues,\n    errors: props.initialErrors || emptyErrors,\n    touched: props.initialTouched || emptyTouched,\n    status: props.initialStatus,\n    isSubmitting: false,\n    isValidating: false,\n    submitCount: 0,\n  });\n\n  const state = stateRef.current;\n\n  const dispatch = React.useCallback((action: FormikMessage<Values>) => {\n    const prev = stateRef.current;\n\n    stateRef.current = formikReducer(prev, action);\n\n    // force rerender\n    if (prev !== stateRef.current) setIteration(x => x + 1);\n  }, []);\n\n  const runValidateHandler = React.useCallback(\n    (values: Values, field?: string): Promise<FormikErrors<Values>> => {\n      return new Promise((resolve, reject) => {\n        const maybePromisedErrors = (props.validate as any)(values, field);\n        if (maybePromisedErrors == null) {\n          // use loose null check here on purpose\n          resolve(emptyErrors);\n        } else if (isPromise(maybePromisedErrors)) {\n          (maybePromisedErrors as Promise<any>).then(\n            errors => {\n              resolve(errors || emptyErrors);\n            },\n            actualException => {\n              if (process.env.NODE_ENV !== 'production') {\n                console.warn(\n                  `Warning: An unhandled error was caught during validation in <Formik validate />`,\n                  actualException\n                );\n              }\n\n              reject(actualException);\n            }\n          );\n        } else {\n          resolve(maybePromisedErrors);\n        }\n      });\n    },\n    [props.validate]\n  );\n\n  /**\n   * Run validation against a Yup schema and optionally run a function if successful\n   */\n  const runValidationSchema = React.useCallback(\n    (values: Values, field?: string): Promise<FormikErrors<Values>> => {\n      const validationSchema = props.validationSchema;\n      const schema = isFunction(validationSchema)\n        ? validationSchema(field)\n        : validationSchema;\n      const promise =\n        field && schema.validateAt\n          ? schema.validateAt(field, values)\n          : validateYupSchema(values, schema);\n      return new Promise((resolve, reject) => {\n        promise.then(\n          () => {\n            resolve(emptyErrors);\n          },\n          (err: any) => {\n            // Yup will throw a validation error if validation fails. We catch those and\n            // resolve them into Formik errors. We can sniff if something is a Yup error\n            // by checking error.name.\n            // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n            if (err.name === 'ValidationError') {\n              resolve(yupToFormErrors(err));\n            } else {\n              // We throw any other errors\n              if (process.env.NODE_ENV !== 'production') {\n                console.warn(\n                  `Warning: An unhandled error was caught during validation in <Formik validationSchema />`,\n                  err\n                );\n              }\n\n              reject(err);\n            }\n          }\n        );\n      });\n    },\n    [props.validationSchema]\n  );\n\n  const runSingleFieldLevelValidation = React.useCallback(\n    (field: string, value: void | string): Promise<string> => {\n      return new Promise(resolve =>\n        resolve(fieldRegistry.current[field].validate(value) as string)\n      );\n    },\n    []\n  );\n\n  const runFieldLevelValidations = React.useCallback(\n    (values: Values): Promise<FormikErrors<Values>> => {\n      const fieldKeysWithValidation: string[] = Object.keys(\n        fieldRegistry.current\n      ).filter(f => isFunction(fieldRegistry.current[f].validate));\n\n      // Construct an array with all of the field validation functions\n      const fieldValidations: Promise<string>[] =\n        fieldKeysWithValidation.length > 0\n          ? fieldKeysWithValidation.map(f =>\n              runSingleFieldLevelValidation(f, getIn(values, f))\n            )\n          : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)\n\n      return Promise.all(fieldValidations).then((fieldErrorsList: string[]) =>\n        fieldErrorsList.reduce((prev, curr, index) => {\n          if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {\n            return prev;\n          }\n          if (curr) {\n            prev = setIn(prev, fieldKeysWithValidation[index], curr);\n          }\n          return prev;\n        }, {})\n      );\n    },\n    [runSingleFieldLevelValidation]\n  );\n\n  // Run all validations and return the result\n  const runAllValidations = React.useCallback(\n    (values: Values) => {\n      return Promise.all([\n        runFieldLevelValidations(values),\n        props.validationSchema ? runValidationSchema(values) : {},\n        props.validate ? runValidateHandler(values) : {},\n      ]).then(([fieldErrors, schemaErrors, validateErrors]) => {\n        const combinedErrors = deepmerge.all<FormikErrors<Values>>(\n          [fieldErrors, schemaErrors, validateErrors],\n          { arrayMerge }\n        );\n        return combinedErrors;\n      });\n    },\n    [\n      props.validate,\n      props.validationSchema,\n      runFieldLevelValidations,\n      runValidateHandler,\n      runValidationSchema,\n    ]\n  );\n\n  // Run all validations methods and update state accordingly\n  const validateFormWithHighPriority = useEventCallback(\n    (values: Values = state.values) => {\n      dispatch({ type: 'SET_ISVALIDATING', payload: true });\n      return runAllValidations(values).then(combinedErrors => {\n        if (!!isMounted.current) {\n          dispatch({ type: 'SET_ISVALIDATING', payload: false });\n          dispatch({ type: 'SET_ERRORS', payload: combinedErrors });\n        }\n        return combinedErrors;\n      });\n    }\n  );\n\n  React.useEffect(() => {\n    if (\n      validateOnMount &&\n      isMounted.current === true &&\n      isEqual(initialValues.current, props.initialValues)\n    ) {\n      validateFormWithHighPriority(initialValues.current);\n    }\n  }, [validateOnMount, validateFormWithHighPriority]);\n\n  const resetForm = React.useCallback(\n    (nextState?: Partial<FormikState<Values>>) => {\n      const values =\n        nextState && nextState.values\n          ? nextState.values\n          : initialValues.current;\n      const errors =\n        nextState && nextState.errors\n          ? nextState.errors\n          : initialErrors.current\n          ? initialErrors.current\n          : props.initialErrors || {};\n      const touched =\n        nextState && nextState.touched\n          ? nextState.touched\n          : initialTouched.current\n          ? initialTouched.current\n          : props.initialTouched || {};\n      const status =\n        nextState && nextState.status\n          ? nextState.status\n          : initialStatus.current\n          ? initialStatus.current\n          : props.initialStatus;\n      initialValues.current = values;\n      initialErrors.current = errors;\n      initialTouched.current = touched;\n      initialStatus.current = status;\n\n      const dispatchFn = () => {\n        dispatch({\n          type: 'RESET_FORM',\n          payload: {\n            isSubmitting: !!nextState && !!nextState.isSubmitting,\n            errors,\n            touched,\n            status,\n            values,\n            isValidating: !!nextState && !!nextState.isValidating,\n            submitCount:\n              !!nextState &&\n              !!nextState.submitCount &&\n              typeof nextState.submitCount === 'number'\n                ? nextState.submitCount\n                : 0,\n          },\n        });\n      };\n\n      if (props.onReset) {\n        const maybePromisedOnReset = (props.onReset as any)(\n          state.values,\n          imperativeMethods\n        );\n\n        if (isPromise(maybePromisedOnReset)) {\n          (maybePromisedOnReset as Promise<any>).then(dispatchFn);\n        } else {\n          dispatchFn();\n        }\n      } else {\n        dispatchFn();\n      }\n    },\n    [props.initialErrors, props.initialStatus, props.initialTouched, props.onReset]\n  );\n\n  React.useEffect(() => {\n    if (\n      isMounted.current === true &&\n      !isEqual(initialValues.current, props.initialValues)\n    ) {\n      if (enableReinitialize) {\n        initialValues.current = props.initialValues;\n        resetForm();\n        if (validateOnMount) {\n          validateFormWithHighPriority(initialValues.current);\n        }\n      }\n    }\n  }, [\n    enableReinitialize,\n    props.initialValues,\n    resetForm,\n    validateOnMount,\n    validateFormWithHighPriority,\n  ]);\n\n  React.useEffect(() => {\n    if (\n      enableReinitialize &&\n      isMounted.current === true &&\n      !isEqual(initialErrors.current, props.initialErrors)\n    ) {\n      initialErrors.current = props.initialErrors || emptyErrors;\n      dispatch({\n        type: 'SET_ERRORS',\n        payload: props.initialErrors || emptyErrors,\n      });\n    }\n  }, [enableReinitialize, props.initialErrors]);\n\n  React.useEffect(() => {\n    if (\n      enableReinitialize &&\n      isMounted.current === true &&\n      !isEqual(initialTouched.current, props.initialTouched)\n    ) {\n      initialTouched.current = props.initialTouched || emptyTouched;\n      dispatch({\n        type: 'SET_TOUCHED',\n        payload: props.initialTouched || emptyTouched,\n      });\n    }\n  }, [enableReinitialize, props.initialTouched]);\n\n  React.useEffect(() => {\n    if (\n      enableReinitialize &&\n      isMounted.current === true &&\n      !isEqual(initialStatus.current, props.initialStatus)\n    ) {\n      initialStatus.current = props.initialStatus;\n      dispatch({\n        type: 'SET_STATUS',\n        payload: props.initialStatus,\n      });\n    }\n  }, [enableReinitialize, props.initialStatus, props.initialTouched]);\n\n  const validateField = useEventCallback((name: string) => {\n    // This will efficiently validate a single field by avoiding state\n    // changes if the validation function is synchronous. It's different from\n    // what is called when using validateForm.\n\n    if (\n      fieldRegistry.current[name] &&\n      isFunction(fieldRegistry.current[name].validate)\n    ) {\n      const value = getIn(state.values, name);\n      const maybePromise = fieldRegistry.current[name].validate(value);\n      if (isPromise(maybePromise)) {\n        // Only flip isValidating if the function is async.\n        dispatch({ type: 'SET_ISVALIDATING', payload: true });\n        return maybePromise\n          .then((x: any) => x)\n          .then((error: string) => {\n            dispatch({\n              type: 'SET_FIELD_ERROR',\n              payload: { field: name, value: error },\n            });\n            dispatch({ type: 'SET_ISVALIDATING', payload: false });\n          });\n      } else {\n        dispatch({\n          type: 'SET_FIELD_ERROR',\n          payload: {\n            field: name,\n            value: maybePromise as string | undefined,\n          },\n        });\n        return Promise.resolve(maybePromise as string | undefined);\n      }\n    } else if (props.validationSchema) {\n      dispatch({ type: 'SET_ISVALIDATING', payload: true });\n      return runValidationSchema(state.values, name)\n        .then((x: any) => x)\n        .then((error: any) => {\n          dispatch({\n            type: 'SET_FIELD_ERROR',\n            payload: { field: name, value: getIn(error, name) },\n          });\n          dispatch({ type: 'SET_ISVALIDATING', payload: false });\n        });\n    }\n\n    return Promise.resolve();\n  });\n\n  const registerField = React.useCallback((name: string, { validate }: any) => {\n    fieldRegistry.current[name] = {\n      validate,\n    };\n  }, []);\n\n  const unregisterField = React.useCallback((name: string) => {\n    delete fieldRegistry.current[name];\n  }, []);\n\n  const setTouched = useEventCallback(\n    (touched: FormikTouched<Values>, shouldValidate?: boolean) => {\n      dispatch({ type: 'SET_TOUCHED', payload: touched });\n      const willValidate =\n        shouldValidate === undefined ? validateOnBlur : shouldValidate;\n      return willValidate\n        ? validateFormWithHighPriority(state.values)\n        : Promise.resolve();\n    }\n  );\n\n  const setErrors = React.useCallback((errors: FormikErrors<Values>) => {\n    dispatch({ type: 'SET_ERRORS', payload: errors });\n  }, []);\n\n  const setValues = useEventCallback(\n    (values: React.SetStateAction<Values>, shouldValidate?: boolean) => {\n      const resolvedValues = isFunction(values) ? values(state.values) : values;\n\n      dispatch({ type: 'SET_VALUES', payload: resolvedValues });\n      const willValidate =\n        shouldValidate === undefined ? validateOnChange : shouldValidate;\n      return willValidate\n        ? validateFormWithHighPriority(resolvedValues)\n        : Promise.resolve();\n    }\n  );\n\n  const setFieldError = React.useCallback(\n    (field: string, value: string | undefined) => {\n      dispatch({\n        type: 'SET_FIELD_ERROR',\n        payload: { field, value },\n      });\n    },\n    []\n  );\n\n  const setFieldValue = useEventCallback(\n    (field: string, value: any, shouldValidate?: boolean) => {\n      dispatch({\n        type: 'SET_FIELD_VALUE',\n        payload: {\n          field,\n          value,\n        },\n      });\n      const willValidate =\n        shouldValidate === undefined ? validateOnChange : shouldValidate;\n      return willValidate\n        ? validateFormWithHighPriority(setIn(state.values, field, value))\n        : Promise.resolve();\n    }\n  );\n\n  const executeChange = React.useCallback(\n    (eventOrTextValue: string | React.ChangeEvent<any>, maybePath?: string) => {\n      // By default, assume that the first argument is a string. This allows us to use\n      // handleChange with React Native and React Native Web's onChangeText prop which\n      // provides just the value of the input.\n      let field = maybePath;\n      let val = eventOrTextValue;\n      let parsed;\n      // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),\n      // so we handle like we would a normal HTML change event.\n      if (!isString(eventOrTextValue)) {\n        // If we can, persist the event\n        // @see https://reactjs.org/docs/events.html#event-pooling\n        if ((eventOrTextValue as any).persist) {\n          (eventOrTextValue as React.ChangeEvent<any>).persist();\n        }\n        const target = eventOrTextValue.target\n          ? (eventOrTextValue as React.ChangeEvent<any>).target\n          : (eventOrTextValue as React.ChangeEvent<any>).currentTarget;\n\n        const {\n          type,\n          name,\n          id,\n          value,\n          checked,\n          outerHTML,\n          options,\n          multiple,\n        } = target;\n\n        field = maybePath ? maybePath : name ? name : id;\n        if (!field && __DEV__) {\n          warnAboutMissingIdentifier({\n            htmlContent: outerHTML,\n            documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',\n            handlerName: 'handleChange',\n          });\n        }\n        val = /number|range/.test(type)\n          ? ((parsed = parseFloat(value)), isNaN(parsed) ? '' : parsed)\n          : /checkbox/.test(type) // checkboxes\n          ? getValueForCheckbox(getIn(state.values, field!), checked, value)\n          : options && multiple // <select multiple>\n          ? getSelectedValues(options)\n          : value;\n      }\n\n      if (field) {\n        // Set form fields by name\n        setFieldValue(field, val);\n      }\n    },\n    [setFieldValue, state.values]\n  );\n\n  const handleChange = useEventCallback<FormikHandlers['handleChange']>(\n    (\n      eventOrPath: string | React.ChangeEvent<any>\n    ): void | ((eventOrTextValue: string | React.ChangeEvent<any>) => void) => {\n      if (isString(eventOrPath)) {\n        return event => executeChange(event, eventOrPath);\n      } else {\n        executeChange(eventOrPath);\n      }\n    }\n  );\n\n  const setFieldTouched = useEventCallback(\n    (field: string, touched: boolean = true, shouldValidate?: boolean) => {\n      dispatch({\n        type: 'SET_FIELD_TOUCHED',\n        payload: {\n          field,\n          value: touched,\n        },\n      });\n      const willValidate =\n        shouldValidate === undefined ? validateOnBlur : shouldValidate;\n      return willValidate\n        ? validateFormWithHighPriority(state.values)\n        : Promise.resolve();\n    }\n  );\n\n  const executeBlur = React.useCallback(\n    (e: any, path?: string) => {\n      if (e.persist) {\n        e.persist();\n      }\n      const { name, id, outerHTML } = e.target;\n      const field = path ? path : name ? name : id;\n\n      if (!field && __DEV__) {\n        warnAboutMissingIdentifier({\n          htmlContent: outerHTML,\n          documentationAnchorLink: 'handleblur-e-any--void',\n          handlerName: 'handleBlur',\n        });\n      }\n\n      setFieldTouched(field, true);\n    },\n    [setFieldTouched]\n  );\n\n  const handleBlur = useEventCallback<FormikHandlers['handleBlur']>(\n    (eventOrString: any): void | ((e: any) => void) => {\n      if (isString(eventOrString)) {\n        return event => executeBlur(event, eventOrString);\n      } else {\n        executeBlur(eventOrString);\n      }\n    }\n  );\n\n  const setFormikState = React.useCallback(\n    (\n      stateOrCb:\n        | FormikState<Values>\n        | ((state: FormikState<Values>) => FormikState<Values>)\n    ): void => {\n      if (isFunction(stateOrCb)) {\n        dispatch({ type: 'SET_FORMIK_STATE', payload: stateOrCb });\n      } else {\n        dispatch({ type: 'SET_FORMIK_STATE', payload: () => stateOrCb });\n      }\n    },\n    []\n  );\n\n  const setStatus = React.useCallback((status: any) => {\n    dispatch({ type: 'SET_STATUS', payload: status });\n  }, []);\n\n  const setSubmitting = React.useCallback((isSubmitting: boolean) => {\n    dispatch({ type: 'SET_ISSUBMITTING', payload: isSubmitting });\n  }, []);\n\n  const submitForm = useEventCallback(() => {\n    dispatch({ type: 'SUBMIT_ATTEMPT' });\n    return validateFormWithHighPriority().then(\n      (combinedErrors: FormikErrors<Values>) => {\n        // In case an error was thrown and passed to the resolved Promise,\n        // `combinedErrors` can be an instance of an Error. We need to check\n        // that and abort the submit.\n        // If we don't do that, calling `Object.keys(new Error())` yields an\n        // empty array, which causes the validation to pass and the form\n        // to be submitted.\n\n        const isInstanceOfError = combinedErrors instanceof Error;\n        const isActuallyValid =\n          !isInstanceOfError && Object.keys(combinedErrors).length === 0;\n        if (isActuallyValid) {\n          // Proceed with submit...\n          //\n          // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and\n          // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.\n          // This would be fine in simple cases, but make it impossible to disable submit\n          // buttons where people use callbacks or promises as side effects (which is basically\n          // all of v1 Formik code). Instead, recall that we are inside of a promise chain already,\n          //  so we can try/catch executeSubmit(), if it returns undefined, then just bail.\n          // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle\n          // cleanup of isSubmitting on behalf of the consumer.\n          let promiseOrUndefined;\n          try {\n            promiseOrUndefined = executeSubmit();\n            // Bail if it's sync, consumer is responsible for cleaning up\n            // via setSubmitting(false)\n            if (promiseOrUndefined === undefined) {\n              return;\n            }\n          } catch (error) {\n            throw error;\n          }\n\n          return Promise.resolve(promiseOrUndefined)\n            .then(result => {\n              if (!!isMounted.current) {\n                dispatch({ type: 'SUBMIT_SUCCESS' });\n              }\n              return result;\n            })\n            .catch(_errors => {\n              if (!!isMounted.current) {\n                dispatch({ type: 'SUBMIT_FAILURE' });\n                // This is a legit error rejected by the onSubmit fn\n                // so we don't want to break the promise chain\n                throw _errors;\n              }\n            });\n        } else if (!!isMounted.current) {\n          // ^^^ Make sure Formik is still mounted before updating state\n          dispatch({ type: 'SUBMIT_FAILURE' });\n          // throw combinedErrors;\n          if (isInstanceOfError) {\n            throw combinedErrors;\n          }\n        }\n        return;\n      }\n    );\n  });\n\n  const handleSubmit = useEventCallback(\n    (e?: React.FormEvent<HTMLFormElement>) => {\n      if (e && e.preventDefault && isFunction(e.preventDefault)) {\n        e.preventDefault();\n      }\n\n      if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n        e.stopPropagation();\n      }\n\n      // Warn if form submission is triggered by a <button> without a\n      // specified `type` attribute during development. This mitigates\n      // a common gotcha in forms with both reset and submit buttons,\n      // where the dev forgets to add type=\"button\" to the reset button.\n      if (__DEV__ && typeof document !== 'undefined') {\n        // Safely get the active element (works with IE)\n        const activeElement = getActiveElement();\n        if (\n          activeElement !== null &&\n          activeElement instanceof HTMLButtonElement\n        ) {\n          invariant(\n            activeElement.attributes &&\n              activeElement.attributes.getNamedItem('type'),\n            'You submitted a Formik form using a button with an unspecified `type` attribute.  Most browsers default button elements to `type=\"submit\"`. If this is not a submit button, please add `type=\"button\"`.'\n          );\n        }\n      }\n\n      submitForm().catch(reason => {\n        console.warn(\n          `Warning: An unhandled error was caught from submitForm()`,\n          reason\n        );\n      });\n    }\n  );\n\n  const imperativeMethods: FormikHelpers<Values> = {\n    resetForm,\n    validateForm: validateFormWithHighPriority,\n    validateField,\n    setErrors,\n    setFieldError,\n    setFieldTouched,\n    setFieldValue,\n    setStatus,\n    setSubmitting,\n    setTouched,\n    setValues,\n    setFormikState,\n    submitForm,\n  };\n\n  const executeSubmit = useEventCallback(() => {\n    return onSubmit(state.values, imperativeMethods);\n  });\n\n  const handleReset = useEventCallback(e => {\n    if (e && e.preventDefault && isFunction(e.preventDefault)) {\n      e.preventDefault();\n    }\n\n    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n      e.stopPropagation();\n    }\n\n    resetForm();\n  });\n\n  const getFieldMeta = React.useCallback(\n    (name: string): FieldMetaProps<any> => {\n      return {\n        value: getIn(state.values, name),\n        error: getIn(state.errors, name),\n        touched: !!getIn(state.touched, name),\n        initialValue: getIn(initialValues.current, name),\n        initialTouched: !!getIn(initialTouched.current, name),\n        initialError: getIn(initialErrors.current, name),\n      };\n    },\n    [state.errors, state.touched, state.values]\n  );\n\n  const getFieldHelpers = React.useCallback(\n    (name: string): FieldHelperProps<any> => {\n      return {\n        setValue: (value: any, shouldValidate?: boolean) =>\n          setFieldValue(name, value, shouldValidate),\n        setTouched: (value: boolean, shouldValidate?: boolean) =>\n          setFieldTouched(name, value, shouldValidate),\n        setError: (value: any) => setFieldError(name, value),\n      };\n    },\n    [setFieldValue, setFieldTouched, setFieldError]\n  );\n\n  const getFieldProps = React.useCallback(\n    (nameOrOptions: string | FieldConfig<any>): FieldInputProps<any> => {\n      const isAnObject = isObject(nameOrOptions);\n      const name = isAnObject\n        ? (nameOrOptions as FieldConfig<any>).name\n        : nameOrOptions;\n      const valueState = getIn(state.values, name);\n\n      const field: FieldInputProps<any> = {\n        name,\n        value: valueState,\n        onChange: handleChange,\n        onBlur: handleBlur,\n      };\n      if (isAnObject) {\n        const {\n          type,\n          value: valueProp, // value is special for checkboxes\n          as: is,\n          multiple,\n        } = nameOrOptions as FieldConfig<any>;\n\n        if (type === 'checkbox') {\n          if (valueProp === undefined) {\n            field.checked = !!valueState;\n          } else {\n            field.checked = !!(\n              Array.isArray(valueState) && ~valueState.indexOf(valueProp)\n            );\n            field.value = valueProp;\n          }\n        } else if (type === 'radio') {\n          field.checked = valueState === valueProp;\n          field.value = valueProp;\n        } else if (is === 'select' && multiple) {\n          field.value = field.value || [];\n          field.multiple = true;\n        }\n      }\n      return field;\n    },\n    [handleBlur, handleChange, state.values]\n  );\n\n  const dirty = React.useMemo(\n    () => !isEqual(initialValues.current, state.values),\n    [initialValues.current, state.values]\n  );\n\n  const isValid = React.useMemo(\n    () =>\n      typeof isInitialValid !== 'undefined'\n        ? dirty\n          ? state.errors && Object.keys(state.errors).length === 0\n          : isInitialValid !== false && isFunction(isInitialValid)\n          ? (isInitialValid as (props: FormikConfig<Values>) => boolean)(props)\n          : (isInitialValid as boolean)\n        : state.errors && Object.keys(state.errors).length === 0,\n    [isInitialValid, dirty, state.errors, props]\n  );\n\n  const ctx = {\n    ...state,\n    initialValues: initialValues.current,\n    initialErrors: initialErrors.current,\n    initialTouched: initialTouched.current,\n    initialStatus: initialStatus.current,\n    handleBlur,\n    handleChange,\n    handleReset,\n    handleSubmit,\n    resetForm,\n    setErrors,\n    setFormikState,\n    setFieldTouched,\n    setFieldValue,\n    setFieldError,\n    setStatus,\n    setSubmitting,\n    setTouched,\n    setValues,\n    submitForm,\n    validateForm: validateFormWithHighPriority,\n    validateField,\n    isValid,\n    dirty,\n    unregisterField,\n    registerField,\n    getFieldProps,\n    getFieldMeta,\n    getFieldHelpers,\n    validateOnBlur,\n    validateOnChange,\n    validateOnMount,\n  };\n\n  return ctx;\n}\n\nexport function Formik<\n  Values extends FormikValues = FormikValues,\n  ExtraProps = {}\n>(props: FormikConfig<Values> & ExtraProps) {\n  const formikbag = useFormik<Values>(props);\n  const { component, children, render, innerRef } = props;\n\n  // This allows folks to pass a ref to <Formik />\n  React.useImperativeHandle(innerRef, () => formikbag);\n\n  if (__DEV__) {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useEffect(() => {\n      invariant(\n        !props.render,\n        `<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>`\n      );\n      // eslint-disable-next-line\n    }, []);\n  }\n  return (\n    <FormikProvider value={formikbag}>\n      {component\n        ? React.createElement(component as any, formikbag)\n        : render\n        ? render(formikbag)\n        : children // children come last, always called\n        ? isFunction(children)\n          ? (children as (bag: FormikProps<Values>) => React.ReactNode)(\n              formikbag as FormikProps<Values>\n            )\n          : !isEmptyChildren(children)\n          ? React.Children.only(children)\n          : null\n        : null}\n    </FormikProvider>\n  );\n}\n\nfunction warnAboutMissingIdentifier({\n  htmlContent,\n  documentationAnchorLink,\n  handlerName,\n}: {\n  htmlContent: string;\n  documentationAnchorLink: string;\n  handlerName: string;\n}) {\n  console.warn(\n    `Warning: Formik called \\`${handlerName}\\`, but you forgot to pass an \\`id\\` or \\`name\\` attribute to your input:\n    ${htmlContent}\n    Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#${documentationAnchorLink}\n  `\n  );\n}\n\n/**\n * Transform Yup ValidationError to a more usable object\n */\nexport function yupToFormErrors<Values>(yupError: any): FormikErrors<Values> {\n  let errors: FormikErrors<Values> = {};\n  if (yupError.inner) {\n    if (yupError.inner.length === 0) {\n      return setIn(errors, yupError.path, yupError.message);\n    }\n    for (let err of yupError.inner) {\n      if (!getIn(errors, err.path)) {\n        errors = setIn(errors, err.path, err.message);\n      }\n    }\n  }\n  return errors;\n}\n\n/**\n * Validate a yup schema.\n */\nexport function validateYupSchema<T extends FormikValues>(\n  values: T,\n  schema: any,\n  sync: boolean = false,\n  context?: any\n): Promise<Partial<T>> {\n  const normalizedValues: FormikValues = prepareDataForValidation(values);\n\n  return schema[sync ? 'validateSync' : 'validate'](normalizedValues, {\n    abortEarly: false,\n    context: context || normalizedValues,\n  });\n}\n\n/**\n * Recursively prepare values.\n */\nexport function prepareDataForValidation<T extends FormikValues>(\n  values: T\n): FormikValues {\n  let data: FormikValues = Array.isArray(values) ? [] : {};\n  for (let k in values) {\n    if (Object.prototype.hasOwnProperty.call(values, k)) {\n      const key = String(k);\n      if (Array.isArray(values[key]) === true) {\n        data[key] = values[key].map((value: any) => {\n          if (Array.isArray(value) === true || isPlainObject(value)) {\n            return prepareDataForValidation(value);\n          } else {\n            return value !== '' ? value : undefined;\n          }\n        });\n      } else if (isPlainObject(values[key])) {\n        data[key] = prepareDataForValidation(values[key]);\n      } else {\n        data[key] = values[key] !== '' ? values[key] : undefined;\n      }\n    }\n  }\n  return data;\n}\n\n/**\n * deepmerge array merging algorithm\n * https://github.com/KyleAMathews/deepmerge#combine-array\n */\nfunction arrayMerge(target: any[], source: any[], options: any): any[] {\n  const destination = target.slice();\n\n  source.forEach(function merge(e: any, i: number) {\n    if (typeof destination[i] === 'undefined') {\n      const cloneRequested = options.clone !== false;\n      const shouldClone = cloneRequested && options.isMergeableObject(e);\n      destination[i] = shouldClone\n        ? deepmerge(Array.isArray(e) ? [] : {}, e, options)\n        : e;\n    } else if (options.isMergeableObject(e)) {\n      destination[i] = deepmerge(target[i], e, options);\n    } else if (target.indexOf(e) === -1) {\n      destination.push(e);\n    }\n  });\n  return destination;\n}\n\n/** Return multi select values based on an array of options */\nfunction getSelectedValues(options: any[]) {\n  return Array.from(options)\n    .filter(el => el.selected)\n    .map(el => el.value);\n}\n\n/** Return the next value for a checkbox */\nfunction getValueForCheckbox(\n  currentValue: string | any[],\n  checked: boolean,\n  valueProp: any\n) {\n  // If the current value was a boolean, return a boolean\n  if (typeof currentValue === 'boolean') {\n    return Boolean(checked);\n  }\n\n  // If the currentValue was not a boolean we want to return an array\n  let currentArrayOfValues = [];\n  let isValueInArray = false;\n  let index = -1;\n\n  if (!Array.isArray(currentValue)) {\n    // eslint-disable-next-line eqeqeq\n    if (!valueProp || valueProp == 'true' || valueProp == 'false') {\n      return Boolean(checked);\n    }\n  } else {\n    // If the current value is already an array, use it\n    currentArrayOfValues = currentValue;\n    index = currentValue.indexOf(valueProp);\n    isValueInArray = index >= 0;\n  }\n\n  // If the checkbox was checked and the value is not already present in the aray we want to add the new value to the array of values\n  if (checked && valueProp && !isValueInArray) {\n    return currentArrayOfValues.concat(valueProp);\n  }\n\n  // If the checkbox was unchecked and the value is not in the array, simply return the already existing array of values\n  if (!isValueInArray) {\n    return currentArrayOfValues;\n  }\n\n  // If the checkbox was unchecked and the value is in the array, remove the value and return the array\n  return currentArrayOfValues\n    .slice(0, index)\n    .concat(currentArrayOfValues.slice(index + 1));\n}\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\n// @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useIsomorphicLayoutEffect =\n  typeof window !== 'undefined' &&\n  typeof window.document !== 'undefined' &&\n  typeof window.document.createElement !== 'undefined'\n    ? React.useLayoutEffect\n    : React.useEffect;\n\nfunction useEventCallback<T extends (...args: any[]) => any>(fn: T): T {\n  const ref: any = React.useRef(fn);\n\n  // we copy a ref to the callback scoped to the current state/props on each render\n  useIsomorphicLayoutEffect(() => {\n    ref.current = fn;\n  });\n\n  return React.useCallback(\n    (...args: any[]) => ref.current.apply(void 0, args),\n    []\n  ) as T;\n}\n","import * as React from 'react';\nimport { useFormikContext } from './FormikContext';\n\nexport type FormikFormProps = Pick<\n  React.FormHTMLAttributes<HTMLFormElement>,\n  Exclude<\n    keyof React.FormHTMLAttributes<HTMLFormElement>,\n    'onReset' | 'onSubmit'\n  >\n>;\n\ntype FormProps = React.ComponentPropsWithoutRef<'form'>;\n\n// @todo tests\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n  (props: FormikFormProps, ref) => {\n    // iOS needs an \"action\" attribute for nice input: https://stackoverflow.com/a/39485162/406725\n    // We default the action to \"#\" in case the preventDefault fails (just updates the URL hash)\n    const { action, ...rest } = props;\n    const _action = action ?? '#';\n    const { handleReset, handleSubmit } = useFormikContext();\n    return (\n      <form\n        onSubmit={handleSubmit}\n        ref={ref}\n        onReset={handleReset}\n        action={_action}\n        {...rest}\n      />\n    );\n  }\n);\n\nForm.displayName = 'Form';\n","import cloneDeep from 'lodash/cloneDeep';\nimport * as React from 'react';\nimport isEqual from 'react-fast-compare';\nimport { connect } from './connect';\nimport {\n  FormikContextType,\n  FormikProps,\n  FormikState,\n  SharedRenderProps,\n} from './types';\nimport {\n  getIn,\n  isEmptyArray,\n  isEmptyChildren,\n  isFunction,\n  isObject,\n  setIn,\n} from './utils';\n\nexport type FieldArrayRenderProps = ArrayHelpers & {\n  form: FormikProps<any>;\n  name: string;\n};\n\nexport type FieldArrayConfig = {\n  /** Really the path to the array field to be updated */\n  name: string;\n  /** Should field array validate the form AFTER array updates/changes? */\n  validateOnChange?: boolean;\n} & SharedRenderProps<FieldArrayRenderProps>;\nexport interface ArrayHelpers<T extends any[] = any[]> {\n  /** Imperatively add a value to the end of an array */\n  push<X = T[number]>(obj: X): void;\n  /** Curried fn to add a value to the end of an array */\n  handlePush<X = T[number]>(obj: X): () => void;\n  /** Imperatively swap two values in an array */\n  swap: (indexA: number, indexB: number) => void;\n  /** Curried fn to swap two values in an array */\n  handleSwap: (indexA: number, indexB: number) => () => void;\n  /** Imperatively move an element in an array to another index */\n  move: (from: number, to: number) => void;\n  /** Imperatively move an element in an array to another index */\n  handleMove: (from: number, to: number) => () => void;\n  /** Imperatively insert an element at a given index into the array */\n  insert<X = T[number]>(index: number, value: X): void;\n  /** Curried fn to insert an element at a given index into the array */\n  handleInsert<X = T[number]>(index: number, value: X): () => void;\n  /** Imperatively replace a value at an index of an array  */\n  replace<X = T[number]>(index: number, value: X): void;\n  /** Curried fn to replace an element at a given index into the array */\n  handleReplace<X = T[number]>(index: number, value: X): () => void;\n  /** Imperatively add an element to the beginning of an array and return its length */\n  unshift<X = T[number]>(value: X): number;\n  /** Curried fn to add an element to the beginning of an array */\n  handleUnshift<X = T[number]>(value: X): () => void;\n  /** Curried fn to remove an element at an index of an array */\n  handleRemove: (index: number) => () => void;\n  /** Curried fn to remove a value from the end of the array */\n  handlePop: () => () => void;\n  /** Imperatively remove and element at an index of an array */\n  remove<X = T[number]>(index: number): X | undefined;\n  /** Imperatively remove and return value from the end of the array */\n  pop<X = T[number]>(): X | undefined;\n}\n\n/**\n * Some array helpers!\n */\nexport const move = <T,>(array: T[], from: number, to: number) => {\n  const copy = copyArrayLike(array);\n  const value = copy[from];\n  copy.splice(from, 1);\n  copy.splice(to, 0, value);\n  return copy;\n};\n\nexport const swap = <T,>(\n  arrayLike: ArrayLike<T>,\n  indexA: number,\n  indexB: number\n) => {\n  const copy = copyArrayLike(arrayLike);\n  const a = copy[indexA];\n  copy[indexA] = copy[indexB];\n  copy[indexB] = a;\n  return copy;\n};\n\nexport const insert = <T,>(\n  arrayLike: ArrayLike<T>,\n  index: number,\n  value: T\n) => {\n  const copy = copyArrayLike(arrayLike);\n  copy.splice(index, 0, value);\n  return copy;\n};\n\nexport const replace = <T,>(\n  arrayLike: ArrayLike<T>,\n  index: number,\n  value: T\n) => {\n  const copy = copyArrayLike(arrayLike);\n  copy[index] = value;\n  return copy;\n};\n\nconst copyArrayLike = (arrayLike: ArrayLike<any>) => {\n  if (!arrayLike) {\n    return [];\n  } else if (Array.isArray(arrayLike)) {\n    return [...arrayLike];\n  } else {\n    const maxIndex = Object.keys(arrayLike)\n      .map(key => parseInt(key))\n      .reduce((max, el) => (el > max ? el : max), 0);\n    return Array.from({ ...arrayLike, length: maxIndex + 1 });\n  }\n};\n\nconst createAlterationHandler = (\n  alteration: boolean | Function,\n  defaultFunction: Function\n) => {\n  const fn = typeof alteration === 'function' ? alteration : defaultFunction;\n\n  return (data: any | any[]) => {\n    if (Array.isArray(data) || isObject(data)) {\n      const clone = copyArrayLike(data);\n      return fn(clone);\n    }\n\n    // This can be assumed to be a primitive, which\n    // is a case for top level validation errors\n    return data;\n  };\n};\n\nclass FieldArrayInner<Values = {}> extends React.Component<\n  FieldArrayConfig & { formik: FormikContextType<Values> },\n  {}\n> {\n  static defaultProps = {\n    validateOnChange: true,\n  };\n\n  constructor(props: FieldArrayConfig & { formik: FormikContextType<Values> }) {\n    super(props);\n    // We need TypeScript generics on these, so we'll bind them in the constructor\n    // @todo Fix TS 3.2.1\n    this.remove = this.remove.bind(this) as any;\n    this.pop = this.pop.bind(this) as any;\n  }\n\n  componentDidUpdate(\n    prevProps: FieldArrayConfig & { formik: FormikContextType<Values> }\n  ) {\n    if (\n      this.props.validateOnChange &&\n      this.props.formik.validateOnChange &&\n      !isEqual(\n        getIn(prevProps.formik.values, prevProps.name),\n        getIn(this.props.formik.values, this.props.name)\n      )\n    ) {\n      this.props.formik.validateForm(this.props.formik.values);\n    }\n  }\n\n  updateArrayField = (\n    fn: Function,\n    alterTouched: boolean | Function,\n    alterErrors: boolean | Function\n  ) => {\n    const {\n      name,\n\n      formik: { setFormikState },\n    } = this.props;\n\n    setFormikState((prevState: FormikState<any>) => {\n      let updateErrors = createAlterationHandler(alterErrors, fn);\n      let updateTouched = createAlterationHandler(alterTouched, fn);\n\n      // values fn should be executed before updateErrors and updateTouched,\n      // otherwise it causes an error with unshift.\n      let values = setIn(\n        prevState.values,\n        name,\n        fn(getIn(prevState.values, name))\n      );\n\n      let fieldError = alterErrors\n        ? updateErrors(getIn(prevState.errors, name))\n        : undefined;\n      let fieldTouched = alterTouched\n        ? updateTouched(getIn(prevState.touched, name))\n        : undefined;\n\n      if (isEmptyArray(fieldError)) {\n        fieldError = undefined;\n      }\n      if (isEmptyArray(fieldTouched)) {\n        fieldTouched = undefined;\n      }\n\n      return {\n        ...prevState,\n        values,\n        errors: alterErrors\n          ? setIn(prevState.errors, name, fieldError)\n          : prevState.errors,\n        touched: alterTouched\n          ? setIn(prevState.touched, name, fieldTouched)\n          : prevState.touched,\n      };\n    });\n  };\n\n  push = (value: any) =>\n    this.updateArrayField(\n      (arrayLike: ArrayLike<any>) => [\n        ...copyArrayLike(arrayLike),\n        cloneDeep(value),\n      ],\n      false,\n      false\n    );\n\n  handlePush = (value: any) => () => this.push(value);\n\n  swap = (indexA: number, indexB: number) =>\n    this.updateArrayField(\n      (array: any[]) => swap(array, indexA, indexB),\n      true,\n      true\n    );\n\n  handleSwap = (indexA: number, indexB: number) => () =>\n    this.swap(indexA, indexB);\n\n  move = (from: number, to: number) =>\n    this.updateArrayField((array: any[]) => move(array, from, to), true, true);\n\n  handleMove = (from: number, to: number) => () => this.move(from, to);\n\n  insert = (index: number, value: any) =>\n    this.updateArrayField(\n      (array: any[]) => insert(array, index, value),\n      (array: any[]) => insert(array, index, null),\n      (array: any[]) => insert(array, index, null)\n    );\n\n  handleInsert = (index: number, value: any) => () => this.insert(index, value);\n\n  replace = (index: number, value: any) =>\n    this.updateArrayField(\n      (array: any[]) => replace(array, index, value),\n      false,\n      false\n    );\n\n  handleReplace = (index: number, value: any) => () =>\n    this.replace(index, value);\n\n  unshift = (value: any) => {\n    let length = -1;\n    this.updateArrayField(\n      (array: any[]) => {\n        const arr = array ? [value, ...array] : [value];\n\n        length = arr.length;\n\n        return arr;\n      },\n      (array: any[]) => {\n        return array ? [null, ...array] : [null];\n      },\n      (array: any[]) => {\n        return array ? [null, ...array] : [null];\n      }\n    );\n\n    return length;\n  };\n\n  handleUnshift = (value: any) => () => this.unshift(value);\n\n  remove<T>(index: number): T {\n    // We need to make sure we also remove relevant pieces of `touched` and `errors`\n    let result: any;\n    this.updateArrayField(\n      // so this gets call 3 times\n      (array?: any[]) => {\n        const copy = array ? copyArrayLike(array) : [];\n        if (!result) {\n          result = copy[index];\n        }\n        if (isFunction(copy.splice)) {\n          copy.splice(index, 1);\n        }\n        // if the array only includes undefined values we have to return an empty array\n        return isFunction(copy.every)\n          ? copy.every(v => v === undefined)\n            ? []\n            : copy\n          : copy;\n      },\n      true,\n      true\n    );\n\n    return result as T;\n  }\n\n  handleRemove = (index: number) => () => this.remove<any>(index);\n\n  pop<T>(): T {\n    // Remove relevant pieces of `touched` and `errors` too!\n    let result: any;\n    this.updateArrayField(\n      // so this gets call 3 times\n      (array: any[]) => {\n        const tmp = array.slice();\n        if (!result) {\n          result = tmp && tmp.pop && tmp.pop();\n        }\n        return tmp;\n      },\n      true,\n      true\n    );\n\n    return result as T;\n  }\n\n  handlePop = () => () => this.pop<any>();\n\n  render() {\n    const arrayHelpers: ArrayHelpers = {\n      push: this.push,\n      pop: this.pop,\n      swap: this.swap,\n      move: this.move,\n      insert: this.insert,\n      replace: this.replace,\n      unshift: this.unshift,\n      remove: this.remove,\n      handlePush: this.handlePush,\n      handlePop: this.handlePop,\n      handleSwap: this.handleSwap,\n      handleMove: this.handleMove,\n      handleInsert: this.handleInsert,\n      handleReplace: this.handleReplace,\n      handleUnshift: this.handleUnshift,\n      handleRemove: this.handleRemove,\n    };\n\n    const {\n      component,\n      render,\n      children,\n      name,\n      formik: {\n        validate: _validate,\n        validationSchema: _validationSchema,\n        ...restOfFormik\n      },\n    } = this.props;\n\n    const props: FieldArrayRenderProps = {\n      ...arrayHelpers,\n      form: restOfFormik,\n      name,\n    };\n\n    return component\n      ? React.createElement(component as any, props)\n      : render\n      ? (render as any)(props)\n      : children // children come last, always called\n      ? typeof children === 'function'\n        ? (children as any)(props)\n        : !isEmptyChildren(children)\n        ? React.Children.only(children)\n        : null\n      : null;\n  }\n}\n\nexport const FieldArray = connect<FieldArrayConfig, any>(FieldArrayInner);\n","// ES6 Map\nvar map\ntry {\n  map = Map\n} catch (_) { }\nvar set\n\n// ES6 Set\ntry {\n  set = Set\n} catch (_) { }\n\nfunction baseClone (src, circulars, clones) {\n  // Null/undefined/functions/etc\n  if (!src || typeof src !== 'object' || typeof src === 'function') {\n    return src\n  }\n\n  // DOM Node\n  if (src.nodeType && 'cloneNode' in src) {\n    return src.cloneNode(true)\n  }\n\n  // Date\n  if (src instanceof Date) {\n    return new Date(src.getTime())\n  }\n\n  // RegExp\n  if (src instanceof RegExp) {\n    return new RegExp(src)\n  }\n\n  // Arrays\n  if (Array.isArray(src)) {\n    return src.map(clone)\n  }\n\n  // ES6 Maps\n  if (map && src instanceof map) {\n    return new Map(Array.from(src.entries()))\n  }\n\n  // ES6 Sets\n  if (set && src instanceof set) {\n    return new Set(Array.from(src.values()))\n  }\n\n  // Object\n  if (src instanceof Object) {\n    circulars.push(src)\n    var obj = Object.create(src)\n    clones.push(obj)\n    for (var key in src) {\n      var idx = circulars.findIndex(function (i) {\n        return i === src[key]\n      })\n      obj[key] = idx > -1 ? clones[idx] : baseClone(src[key], circulars, clones)\n    }\n    return obj\n  }\n\n  // ???\n  return src\n}\n\nexport default function clone (src) {\n  return baseClone(src, [], [])\n}\n","const toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\n\nfunction printNumber(val) {\n  if (val != +val) return 'NaN';\n  const isNegativeZero = val === 0 && 1 / val < 0;\n  return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printSimpleValue(val, quoteStrings = false) {\n  if (val == null || val === true || val === false) return '' + val;\n  const typeOf = typeof val;\n  if (typeOf === 'number') return printNumber(val);\n  if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n  if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n  if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n  const tag = toString.call(val).slice(8, -1);\n  if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n  if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n  if (tag === 'RegExp') return regExpToString.call(val);\n  return null;\n}\n\nexport default function printValue(value, quoteStrings) {\n  let result = printSimpleValue(value, quoteStrings);\n  if (result !== null) return result;\n  return JSON.stringify(value, function (key, value) {\n    let result = printSimpleValue(this[key], quoteStrings);\n    if (result !== null) return result;\n    return value;\n  }, 2);\n}","import printValue from './util/printValue';\nexport let mixed = {\n  default: '${path} is invalid',\n  required: '${path} is a required field',\n  oneOf: '${path} must be one of the following values: ${values}',\n  notOneOf: '${path} must not be one of the following values: ${values}',\n  notType: ({\n    path,\n    type,\n    value,\n    originalValue\n  }) => {\n    let isCast = originalValue != null && originalValue !== value;\n    let msg = `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + (isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.');\n\n    if (value === null) {\n      msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n    }\n\n    return msg;\n  },\n  defined: '${path} must be defined'\n};\nexport let string = {\n  length: '${path} must be exactly ${length} characters',\n  min: '${path} must be at least ${min} characters',\n  max: '${path} must be at most ${max} characters',\n  matches: '${path} must match the following: \"${regex}\"',\n  email: '${path} must be a valid email',\n  url: '${path} must be a valid URL',\n  uuid: '${path} must be a valid UUID',\n  trim: '${path} must be a trimmed string',\n  lowercase: '${path} must be a lowercase string',\n  uppercase: '${path} must be a upper case string'\n};\nexport let number = {\n  min: '${path} must be greater than or equal to ${min}',\n  max: '${path} must be less than or equal to ${max}',\n  lessThan: '${path} must be less than ${less}',\n  moreThan: '${path} must be greater than ${more}',\n  positive: '${path} must be a positive number',\n  negative: '${path} must be a negative number',\n  integer: '${path} must be an integer'\n};\nexport let date = {\n  min: '${path} field must be later than ${min}',\n  max: '${path} field must be at earlier than ${max}'\n};\nexport let boolean = {\n  isValue: '${path} field must be ${value}'\n};\nexport let object = {\n  noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nexport let array = {\n  min: '${path} field must have at least ${min} items',\n  max: '${path} field must have less than or equal to ${max} items',\n  length: '${path} must have ${length} items'\n};\nexport default Object.assign(Object.create(null), {\n  mixed,\n  string,\n  number,\n  date,\n  object,\n  array,\n  boolean\n});","const isSchema = obj => obj && obj.__isYupSchema__;\n\nexport default isSchema;","import has from 'lodash/has';\nimport isSchema from './util/isSchema';\n\nclass Condition {\n  constructor(refs, options) {\n    this.fn = void 0;\n    this.refs = refs;\n    this.refs = refs;\n\n    if (typeof options === 'function') {\n      this.fn = options;\n      return;\n    }\n\n    if (!has(options, 'is')) throw new TypeError('`is:` is required for `when()` conditions');\n    if (!options.then && !options.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n    let {\n      is,\n      then,\n      otherwise\n    } = options;\n    let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n\n    this.fn = function (...args) {\n      let options = args.pop();\n      let schema = args.pop();\n      let branch = check(...args) ? then : otherwise;\n      if (!branch) return undefined;\n      if (typeof branch === 'function') return branch(schema);\n      return schema.concat(branch.resolve(options));\n    };\n  }\n\n  resolve(base, options) {\n    let values = this.refs.map(ref => ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n    let schema = this.fn.apply(base, values.concat(base, options));\n    if (schema === undefined || schema === base) return base;\n    if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n    return schema.resolve(options);\n  }\n\n}\n\nexport default Condition;","export default function toArray(value) {\n  return value == null ? [] : [].concat(value);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport printValue from './util/printValue';\nimport toArray from './util/toArray';\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\nexport default class ValidationError extends Error {\n  static formatError(message, params) {\n    const path = params.label || params.path || 'this';\n    if (path !== params.path) params = _extends({}, params, {\n      path\n    });\n    if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n    if (typeof message === 'function') return message(params);\n    return message;\n  }\n\n  static isError(err) {\n    return err && err.name === 'ValidationError';\n  }\n\n  constructor(errorOrErrors, value, field, type) {\n    super();\n    this.value = void 0;\n    this.path = void 0;\n    this.type = void 0;\n    this.errors = void 0;\n    this.params = void 0;\n    this.inner = void 0;\n    this.name = 'ValidationError';\n    this.value = value;\n    this.path = field;\n    this.type = type;\n    this.errors = [];\n    this.inner = [];\n    toArray(errorOrErrors).forEach(err => {\n      if (ValidationError.isError(err)) {\n        this.errors.push(...err.errors);\n        this.inner = this.inner.concat(err.inner.length ? err.inner : err);\n      } else {\n        this.errors.push(err);\n      }\n    });\n    this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n    if (Error.captureStackTrace) Error.captureStackTrace(this, ValidationError);\n  }\n\n}","import ValidationError from '../ValidationError';\n\nconst once = cb => {\n  let fired = false;\n  return (...args) => {\n    if (fired) return;\n    fired = true;\n    cb(...args);\n  };\n};\n\nexport default function runTests(options, cb) {\n  let {\n    endEarly,\n    tests,\n    args,\n    value,\n    errors,\n    sort,\n    path\n  } = options;\n  let callback = once(cb);\n  let count = tests.length;\n  const nestedErrors = [];\n  errors = errors ? errors : [];\n  if (!count) return errors.length ? callback(new ValidationError(errors, value, path)) : callback(null, value);\n\n  for (let i = 0; i < tests.length; i++) {\n    const test = tests[i];\n    test(args, function finishTestRun(err) {\n      if (err) {\n        // always return early for non validation errors\n        if (!ValidationError.isError(err)) {\n          return callback(err, value);\n        }\n\n        if (endEarly) {\n          err.value = value;\n          return callback(err, value);\n        }\n\n        nestedErrors.push(err);\n      }\n\n      if (--count <= 0) {\n        if (nestedErrors.length) {\n          if (sort) nestedErrors.sort(sort); //show parent errors after the nested ones: name.first, name\n\n          if (errors.length) nestedErrors.push(...errors);\n          errors = nestedErrors;\n        }\n\n        if (errors.length) {\n          callback(new ValidationError(errors, value, path), value);\n          return;\n        }\n\n        callback(null, value);\n      }\n    });\n  }\n}","import { getter } from 'property-expr';\nconst prefixes = {\n  context: '$',\n  value: '.'\n};\nexport function create(key, options) {\n  return new Reference(key, options);\n}\nexport default class Reference {\n  constructor(key, options = {}) {\n    this.key = void 0;\n    this.isContext = void 0;\n    this.isValue = void 0;\n    this.isSibling = void 0;\n    this.path = void 0;\n    this.getter = void 0;\n    this.map = void 0;\n    if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n    this.key = key.trim();\n    if (key === '') throw new TypeError('ref must be a non-empty string');\n    this.isContext = this.key[0] === prefixes.context;\n    this.isValue = this.key[0] === prefixes.value;\n    this.isSibling = !this.isContext && !this.isValue;\n    let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n    this.path = this.key.slice(prefix.length);\n    this.getter = this.path && getter(this.path, true);\n    this.map = options.map;\n  }\n\n  getValue(value, parent, context) {\n    let result = this.isContext ? context : this.isValue ? value : parent;\n    if (this.getter) result = this.getter(result || {});\n    if (this.map) result = this.map(result);\n    return result;\n  }\n  /**\n   *\n   * @param {*} value\n   * @param {Object} options\n   * @param {Object=} options.context\n   * @param {Object=} options.parent\n   */\n\n\n  cast(value, options) {\n    return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n  }\n\n  resolve() {\n    return this;\n  }\n\n  describe() {\n    return {\n      type: 'ref',\n      key: this.key\n    };\n  }\n\n  toString() {\n    return `Ref(${this.key})`;\n  }\n\n  static isRef(value) {\n    return value && value.__isYupRef;\n  }\n\n} // @ts-ignore\n\nReference.prototype.__isYupRef = true;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport mapValues from 'lodash/mapValues';\nimport ValidationError from '../ValidationError';\nimport Ref from '../Reference';\nexport default function createValidation(config) {\n  function validate(_ref, cb) {\n    let {\n      value,\n      path = '',\n      label,\n      options,\n      originalValue,\n      sync\n    } = _ref,\n        rest = _objectWithoutPropertiesLoose(_ref, [\"value\", \"path\", \"label\", \"options\", \"originalValue\", \"sync\"]);\n\n    const {\n      name,\n      test,\n      params,\n      message\n    } = config;\n    let {\n      parent,\n      context\n    } = options;\n\n    function resolve(item) {\n      return Ref.isRef(item) ? item.getValue(value, parent, context) : item;\n    }\n\n    function createError(overrides = {}) {\n      const nextParams = mapValues(_extends({\n        value,\n        originalValue,\n        label,\n        path: overrides.path || path\n      }, params, overrides.params), resolve);\n      const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name);\n      error.params = nextParams;\n      return error;\n    }\n\n    let ctx = _extends({\n      path,\n      parent,\n      type: name,\n      createError,\n      resolve,\n      options,\n      originalValue\n    }, rest);\n\n    if (!sync) {\n      try {\n        Promise.resolve(test.call(ctx, value, ctx)).then(validOrError => {\n          if (ValidationError.isError(validOrError)) cb(validOrError);else if (!validOrError) cb(createError());else cb(null, validOrError);\n        }).catch(cb);\n      } catch (err) {\n        cb(err);\n      }\n\n      return;\n    }\n\n    let result;\n\n    try {\n      var _ref2;\n\n      result = test.call(ctx, value, ctx);\n\n      if (typeof ((_ref2 = result) == null ? void 0 : _ref2.then) === 'function') {\n        throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n      }\n    } catch (err) {\n      cb(err);\n      return;\n    }\n\n    if (ValidationError.isError(result)) cb(result);else if (!result) cb(createError());else cb(null, result);\n  }\n\n  validate.OPTIONS = config;\n  return validate;\n}","import { forEach } from 'property-expr';\n\nlet trim = part => part.substr(0, part.length - 1).substr(1);\n\nexport function getIn(schema, path, value, context = value) {\n  let parent, lastPart, lastPartDebug; // root path: ''\n\n  if (!path) return {\n    parent,\n    parentPath: path,\n    schema\n  };\n  forEach(path, (_part, isBracket, isArray) => {\n    let part = isBracket ? trim(_part) : _part;\n    schema = schema.resolve({\n      context,\n      parent,\n      value\n    });\n\n    if (schema.innerType) {\n      let idx = isArray ? parseInt(part, 10) : 0;\n\n      if (value && idx >= value.length) {\n        throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n      }\n\n      parent = value;\n      value = value && value[idx];\n      schema = schema.innerType;\n    } // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n    // in these cases the current part is the next schema and should be processed\n    // in this iteration. For cases where the index signature is included this\n    // check will fail and we'll handle the `child` part on the next iteration like normal\n\n\n    if (!isArray) {\n      if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema._type}\")`);\n      parent = value;\n      value = value && value[part];\n      schema = schema.fields[part];\n    }\n\n    lastPart = part;\n    lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n  });\n  return {\n    schema,\n    parent,\n    parentPath: lastPart\n  };\n}\n\nconst reach = (obj, path, value, context) => getIn(obj, path, value, context).schema;\n\nexport default reach;","import Reference from '../Reference';\nexport default class ReferenceSet {\n  constructor() {\n    this.list = void 0;\n    this.refs = void 0;\n    this.list = new Set();\n    this.refs = new Map();\n  }\n\n  get size() {\n    return this.list.size + this.refs.size;\n  }\n\n  describe() {\n    const description = [];\n\n    for (const item of this.list) description.push(item);\n\n    for (const [, ref] of this.refs) description.push(ref.describe());\n\n    return description;\n  }\n\n  toArray() {\n    return Array.from(this.list).concat(Array.from(this.refs.values()));\n  }\n\n  resolveAll(resolve) {\n    return this.toArray().reduce((acc, e) => acc.concat(Reference.isRef(e) ? resolve(e) : e), []);\n  }\n\n  add(value) {\n    Reference.isRef(value) ? this.refs.set(value.key, value) : this.list.add(value);\n  }\n\n  delete(value) {\n    Reference.isRef(value) ? this.refs.delete(value.key) : this.list.delete(value);\n  }\n\n  clone() {\n    const next = new ReferenceSet();\n    next.list = new Set(this.list);\n    next.refs = new Map(this.refs);\n    return next;\n  }\n\n  merge(newItems, removeItems) {\n    const next = this.clone();\n    newItems.list.forEach(value => next.add(value));\n    newItems.refs.forEach(value => next.add(value));\n    removeItems.list.forEach(value => next.delete(value));\n    removeItems.refs.forEach(value => next.delete(value));\n    return next;\n  }\n\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n// @ts-ignore\nimport cloneDeep from 'nanoclone';\nimport { mixed as locale } from './locale';\nimport Condition from './Condition';\nimport runTests from './util/runTests';\nimport createValidation from './util/createValidation';\nimport printValue from './util/printValue';\nimport Ref from './Reference';\nimport { getIn } from './util/reach';\nimport ValidationError from './ValidationError';\nimport ReferenceSet from './util/ReferenceSet';\nimport toArray from './util/toArray'; // const UNSET = 'unset' as const;\n\nexport default class BaseSchema {\n  constructor(options) {\n    this.deps = [];\n    this.tests = void 0;\n    this.transforms = void 0;\n    this.conditions = [];\n    this._mutate = void 0;\n    this._typeError = void 0;\n    this._whitelist = new ReferenceSet();\n    this._blacklist = new ReferenceSet();\n    this.exclusiveTests = Object.create(null);\n    this.spec = void 0;\n    this.tests = [];\n    this.transforms = [];\n    this.withMutation(() => {\n      this.typeError(locale.notType);\n    });\n    this.type = (options == null ? void 0 : options.type) || 'mixed';\n    this.spec = _extends({\n      strip: false,\n      strict: false,\n      abortEarly: true,\n      recursive: true,\n      nullable: false,\n      presence: 'optional'\n    }, options == null ? void 0 : options.spec);\n  } // TODO: remove\n\n\n  get _type() {\n    return this.type;\n  }\n\n  _typeCheck(_value) {\n    return true;\n  }\n\n  clone(spec) {\n    if (this._mutate) {\n      if (spec) Object.assign(this.spec, spec);\n      return this;\n    } // if the nested value is a schema we can skip cloning, since\n    // they are already immutable\n\n\n    const next = Object.create(Object.getPrototypeOf(this)); // @ts-expect-error this is readonly\n\n    next.type = this.type;\n    next._typeError = this._typeError;\n    next._whitelistError = this._whitelistError;\n    next._blacklistError = this._blacklistError;\n    next._whitelist = this._whitelist.clone();\n    next._blacklist = this._blacklist.clone();\n    next.exclusiveTests = _extends({}, this.exclusiveTests); // @ts-expect-error this is readonly\n\n    next.deps = [...this.deps];\n    next.conditions = [...this.conditions];\n    next.tests = [...this.tests];\n    next.transforms = [...this.transforms];\n    next.spec = cloneDeep(_extends({}, this.spec, spec));\n    return next;\n  }\n\n  label(label) {\n    let next = this.clone();\n    next.spec.label = label;\n    return next;\n  }\n\n  meta(...args) {\n    if (args.length === 0) return this.spec.meta;\n    let next = this.clone();\n    next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n    return next;\n  } // withContext<TContext extends AnyObject>(): BaseSchema<\n  //   TCast,\n  //   TContext,\n  //   TOutput\n  // > {\n  //   return this as any;\n  // }\n\n\n  withMutation(fn) {\n    let before = this._mutate;\n    this._mutate = true;\n    let result = fn(this);\n    this._mutate = before;\n    return result;\n  }\n\n  concat(schema) {\n    if (!schema || schema === this) return this;\n    if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n    let base = this;\n    let combined = schema.clone();\n\n    const mergedSpec = _extends({}, base.spec, combined.spec); // if (combined.spec.nullable === UNSET)\n    //   mergedSpec.nullable = base.spec.nullable;\n    // if (combined.spec.presence === UNSET)\n    //   mergedSpec.presence = base.spec.presence;\n\n\n    combined.spec = mergedSpec;\n    combined._typeError || (combined._typeError = base._typeError);\n    combined._whitelistError || (combined._whitelistError = base._whitelistError);\n    combined._blacklistError || (combined._blacklistError = base._blacklistError); // manually merge the blacklist/whitelist (the other `schema` takes\n    // precedence in case of conflicts)\n\n    combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n    combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist); // start with the current tests\n\n    combined.tests = base.tests;\n    combined.exclusiveTests = base.exclusiveTests; // manually add the new tests to ensure\n    // the deduping logic is consistent\n\n    combined.withMutation(next => {\n      schema.tests.forEach(fn => {\n        next.test(fn.OPTIONS);\n      });\n    });\n    combined.transforms = [...base.transforms, ...combined.transforms];\n    return combined;\n  }\n\n  isType(v) {\n    if (this.spec.nullable && v === null) return true;\n    return this._typeCheck(v);\n  }\n\n  resolve(options) {\n    let schema = this;\n\n    if (schema.conditions.length) {\n      let conditions = schema.conditions;\n      schema = schema.clone();\n      schema.conditions = [];\n      schema = conditions.reduce((schema, condition) => condition.resolve(schema, options), schema);\n      schema = schema.resolve(options);\n    }\n\n    return schema;\n  }\n  /**\n   *\n   * @param {*} value\n   * @param {Object} options\n   * @param {*=} options.parent\n   * @param {*=} options.context\n   */\n\n\n  cast(value, options = {}) {\n    let resolvedSchema = this.resolve(_extends({\n      value\n    }, options));\n\n    let result = resolvedSchema._cast(value, options);\n\n    if (value !== undefined && options.assert !== false && resolvedSchema.isType(result) !== true) {\n      let formattedValue = printValue(value);\n      let formattedResult = printValue(result);\n      throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema._type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n    }\n\n    return result;\n  }\n\n  _cast(rawValue, _options) {\n    let value = rawValue === undefined ? rawValue : this.transforms.reduce((value, fn) => fn.call(this, value, rawValue, this), rawValue);\n\n    if (value === undefined) {\n      value = this.getDefault();\n    }\n\n    return value;\n  }\n\n  _validate(_value, options = {}, cb) {\n    let {\n      sync,\n      path,\n      from = [],\n      originalValue = _value,\n      strict = this.spec.strict,\n      abortEarly = this.spec.abortEarly\n    } = options;\n    let value = _value;\n\n    if (!strict) {\n      // this._validating = true;\n      value = this._cast(value, _extends({\n        assert: false\n      }, options)); // this._validating = false;\n    } // value is cast, we can check if it meets type requirements\n\n\n    let args = {\n      value,\n      path,\n      options,\n      originalValue,\n      schema: this,\n      label: this.spec.label,\n      sync,\n      from\n    };\n    let initialTests = [];\n    if (this._typeError) initialTests.push(this._typeError);\n    let finalTests = [];\n    if (this._whitelistError) finalTests.push(this._whitelistError);\n    if (this._blacklistError) finalTests.push(this._blacklistError);\n    runTests({\n      args,\n      value,\n      path,\n      sync,\n      tests: initialTests,\n      endEarly: abortEarly\n    }, err => {\n      if (err) return void cb(err, value);\n      runTests({\n        tests: this.tests.concat(finalTests),\n        args,\n        path,\n        sync,\n        value,\n        endEarly: abortEarly\n      }, cb);\n    });\n  }\n\n  validate(value, options, maybeCb) {\n    let schema = this.resolve(_extends({}, options, {\n      value\n    })); // callback case is for nested validations\n\n    return typeof maybeCb === 'function' ? schema._validate(value, options, maybeCb) : new Promise((resolve, reject) => schema._validate(value, options, (err, value) => {\n      if (err) reject(err);else resolve(value);\n    }));\n  }\n\n  validateSync(value, options) {\n    let schema = this.resolve(_extends({}, options, {\n      value\n    }));\n    let result;\n\n    schema._validate(value, _extends({}, options, {\n      sync: true\n    }), (err, value) => {\n      if (err) throw err;\n      result = value;\n    });\n\n    return result;\n  }\n\n  isValid(value, options) {\n    return this.validate(value, options).then(() => true, err => {\n      if (ValidationError.isError(err)) return false;\n      throw err;\n    });\n  }\n\n  isValidSync(value, options) {\n    try {\n      this.validateSync(value, options);\n      return true;\n    } catch (err) {\n      if (ValidationError.isError(err)) return false;\n      throw err;\n    }\n  }\n\n  _getDefault() {\n    let defaultValue = this.spec.default;\n\n    if (defaultValue == null) {\n      return defaultValue;\n    }\n\n    return typeof defaultValue === 'function' ? defaultValue.call(this) : cloneDeep(defaultValue);\n  }\n\n  getDefault(options) {\n    let schema = this.resolve(options || {});\n    return schema._getDefault();\n  }\n\n  default(def) {\n    if (arguments.length === 0) {\n      return this._getDefault();\n    }\n\n    let next = this.clone({\n      default: def\n    });\n    return next;\n  }\n\n  strict(isStrict = true) {\n    let next = this.clone();\n    next.spec.strict = isStrict;\n    return next;\n  }\n\n  _isPresent(value) {\n    return value != null;\n  }\n\n  defined(message = locale.defined) {\n    return this.test({\n      message,\n      name: 'defined',\n      exclusive: true,\n\n      test(value) {\n        return value !== undefined;\n      }\n\n    });\n  }\n\n  required(message = locale.required) {\n    return this.clone({\n      presence: 'required'\n    }).withMutation(s => s.test({\n      message,\n      name: 'required',\n      exclusive: true,\n\n      test(value) {\n        return this.schema._isPresent(value);\n      }\n\n    }));\n  }\n\n  notRequired() {\n    let next = this.clone({\n      presence: 'optional'\n    });\n    next.tests = next.tests.filter(test => test.OPTIONS.name !== 'required');\n    return next;\n  }\n\n  nullable(isNullable = true) {\n    let next = this.clone({\n      nullable: isNullable !== false\n    });\n    return next;\n  }\n\n  transform(fn) {\n    let next = this.clone();\n    next.transforms.push(fn);\n    return next;\n  }\n  /**\n   * Adds a test function to the schema's queue of tests.\n   * tests can be exclusive or non-exclusive.\n   *\n   * - exclusive tests, will replace any existing tests of the same name.\n   * - non-exclusive: can be stacked\n   *\n   * If a non-exclusive test is added to a schema with an exclusive test of the same name\n   * the exclusive test is removed and further tests of the same name will be stacked.\n   *\n   * If an exclusive test is added to a schema with non-exclusive tests of the same name\n   * the previous tests are removed and further tests of the same name will replace each other.\n   */\n\n\n  test(...args) {\n    let opts;\n\n    if (args.length === 1) {\n      if (typeof args[0] === 'function') {\n        opts = {\n          test: args[0]\n        };\n      } else {\n        opts = args[0];\n      }\n    } else if (args.length === 2) {\n      opts = {\n        name: args[0],\n        test: args[1]\n      };\n    } else {\n      opts = {\n        name: args[0],\n        message: args[1],\n        test: args[2]\n      };\n    }\n\n    if (opts.message === undefined) opts.message = locale.default;\n    if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n    let next = this.clone();\n    let validate = createValidation(opts);\n    let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n\n    if (opts.exclusive) {\n      if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n    }\n\n    if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n    next.tests = next.tests.filter(fn => {\n      if (fn.OPTIONS.name === opts.name) {\n        if (isExclusive) return false;\n        if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n      }\n\n      return true;\n    });\n    next.tests.push(validate);\n    return next;\n  }\n\n  when(keys, options) {\n    if (!Array.isArray(keys) && typeof keys !== 'string') {\n      options = keys;\n      keys = '.';\n    }\n\n    let next = this.clone();\n    let deps = toArray(keys).map(key => new Ref(key));\n    deps.forEach(dep => {\n      // @ts-ignore\n      if (dep.isSibling) next.deps.push(dep.key);\n    });\n    next.conditions.push(new Condition(deps, options));\n    return next;\n  }\n\n  typeError(message) {\n    let next = this.clone();\n    next._typeError = createValidation({\n      message,\n      name: 'typeError',\n\n      test(value) {\n        if (value !== undefined && !this.schema.isType(value)) return this.createError({\n          params: {\n            type: this.schema._type\n          }\n        });\n        return true;\n      }\n\n    });\n    return next;\n  }\n\n  oneOf(enums, message = locale.oneOf) {\n    let next = this.clone();\n    enums.forEach(val => {\n      next._whitelist.add(val);\n\n      next._blacklist.delete(val);\n    });\n    next._whitelistError = createValidation({\n      message,\n      name: 'oneOf',\n\n      test(value) {\n        if (value === undefined) return true;\n        let valids = this.schema._whitelist;\n        let resolved = valids.resolveAll(this.resolve);\n        return resolved.includes(value) ? true : this.createError({\n          params: {\n            values: valids.toArray().join(', '),\n            resolved\n          }\n        });\n      }\n\n    });\n    return next;\n  }\n\n  notOneOf(enums, message = locale.notOneOf) {\n    let next = this.clone();\n    enums.forEach(val => {\n      next._blacklist.add(val);\n\n      next._whitelist.delete(val);\n    });\n    next._blacklistError = createValidation({\n      message,\n      name: 'notOneOf',\n\n      test(value) {\n        let invalids = this.schema._blacklist;\n        let resolved = invalids.resolveAll(this.resolve);\n        if (resolved.includes(value)) return this.createError({\n          params: {\n            values: invalids.toArray().join(', '),\n            resolved\n          }\n        });\n        return true;\n      }\n\n    });\n    return next;\n  }\n\n  strip(strip = true) {\n    let next = this.clone();\n    next.spec.strip = strip;\n    return next;\n  }\n\n  describe() {\n    const next = this.clone();\n    const {\n      label,\n      meta\n    } = next.spec;\n    const description = {\n      meta,\n      label,\n      type: next.type,\n      oneOf: next._whitelist.describe(),\n      notOneOf: next._blacklist.describe(),\n      tests: next.tests.map(fn => ({\n        name: fn.OPTIONS.name,\n        params: fn.OPTIONS.params\n      })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n    };\n    return description;\n  }\n\n} // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n// @ts-expect-error\nBaseSchema.prototype.__isYupSchema__ = true;\n\nfor (const method of ['validate', 'validateSync']) BaseSchema.prototype[`${method}At`] = function (path, value, options = {}) {\n  const {\n    parent,\n    parentPath,\n    schema\n  } = getIn(this, path, value, options.context);\n  return schema[method](parent && parent[parentPath], _extends({}, options, {\n    parent,\n    path\n  }));\n};\n\nfor (const alias of ['equals', 'is']) BaseSchema.prototype[alias] = BaseSchema.prototype.oneOf;\n\nfor (const alias of ['not', 'nope']) BaseSchema.prototype[alias] = BaseSchema.prototype.notOneOf;\n\nBaseSchema.prototype.optional = BaseSchema.prototype.notRequired;","import BaseSchema from './schema';\nconst Mixed = BaseSchema;\nexport default Mixed;\nexport function create() {\n  return new Mixed();\n} // XXX: this is using the Base schema so that `addMethod(mixed)` works as a base class\n\ncreate.prototype = Mixed.prototype;","const isAbsent = value => value == null;\n\nexport default isAbsent;","import { string as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema'; // eslint-disable-next-line\n\nlet rEmail = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i; // eslint-disable-next-line\n\nlet rUrl = /^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i; // eslint-disable-next-line\n\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\n\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\n\nlet objStringTag = {}.toString();\nexport function create() {\n  return new StringSchema();\n}\nexport default class StringSchema extends BaseSchema {\n  constructor() {\n    super({\n      type: 'string'\n    });\n    this.withMutation(() => {\n      this.transform(function (value) {\n        if (this.isType(value)) return value;\n        if (Array.isArray(value)) return value;\n        const strValue = value != null && value.toString ? value.toString() : value;\n        if (strValue === objStringTag) return value;\n        return strValue;\n      });\n    });\n  }\n\n  _typeCheck(value) {\n    if (value instanceof String) value = value.valueOf();\n    return typeof value === 'string';\n  }\n\n  _isPresent(value) {\n    return super._isPresent(value) && !!value.length;\n  }\n\n  length(length, message = locale.length) {\n    return this.test({\n      message,\n      name: 'length',\n      exclusive: true,\n      params: {\n        length\n      },\n\n      test(value) {\n        return isAbsent(value) || value.length === this.resolve(length);\n      }\n\n    });\n  }\n\n  min(min, message = locale.min) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n\n      test(value) {\n        return isAbsent(value) || value.length >= this.resolve(min);\n      }\n\n    });\n  }\n\n  max(max, message = locale.max) {\n    return this.test({\n      name: 'max',\n      exclusive: true,\n      message,\n      params: {\n        max\n      },\n\n      test(value) {\n        return isAbsent(value) || value.length <= this.resolve(max);\n      }\n\n    });\n  }\n\n  matches(regex, options) {\n    let excludeEmptyString = false;\n    let message;\n    let name;\n\n    if (options) {\n      if (typeof options === 'object') {\n        ({\n          excludeEmptyString = false,\n          message,\n          name\n        } = options);\n      } else {\n        message = options;\n      }\n    }\n\n    return this.test({\n      name: name || 'matches',\n      message: message || locale.matches,\n      params: {\n        regex\n      },\n      test: value => isAbsent(value) || value === '' && excludeEmptyString || value.search(regex) !== -1\n    });\n  }\n\n  email(message = locale.email) {\n    return this.matches(rEmail, {\n      name: 'email',\n      message,\n      excludeEmptyString: true\n    });\n  }\n\n  url(message = locale.url) {\n    return this.matches(rUrl, {\n      name: 'url',\n      message,\n      excludeEmptyString: true\n    });\n  }\n\n  uuid(message = locale.uuid) {\n    return this.matches(rUUID, {\n      name: 'uuid',\n      message,\n      excludeEmptyString: false\n    });\n  } //-- transforms --\n\n\n  ensure() {\n    return this.default('').transform(val => val === null ? '' : val);\n  }\n\n  trim(message = locale.trim) {\n    return this.transform(val => val != null ? val.trim() : val).test({\n      message,\n      name: 'trim',\n      test: isTrimmed\n    });\n  }\n\n  lowercase(message = locale.lowercase) {\n    return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n      message,\n      name: 'string_case',\n      exclusive: true,\n      test: value => isAbsent(value) || value === value.toLowerCase()\n    });\n  }\n\n  uppercase(message = locale.uppercase) {\n    return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n      message,\n      name: 'string_case',\n      exclusive: true,\n      test: value => isAbsent(value) || value === value.toUpperCase()\n    });\n  }\n\n}\ncreate.prototype = StringSchema.prototype; //\n// String Interfaces\n//","import { number as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema';\n\nlet isNaN = value => value != +value;\n\nexport function create() {\n  return new NumberSchema();\n}\nexport default class NumberSchema extends BaseSchema {\n  constructor() {\n    super({\n      type: 'number'\n    });\n    this.withMutation(() => {\n      this.transform(function (value) {\n        let parsed = value;\n\n        if (typeof parsed === 'string') {\n          parsed = parsed.replace(/\\s/g, '');\n          if (parsed === '') return NaN; // don't use parseFloat to avoid positives on alpha-numeric strings\n\n          parsed = +parsed;\n        }\n\n        if (this.isType(parsed)) return parsed;\n        return parseFloat(parsed);\n      });\n    });\n  }\n\n  _typeCheck(value) {\n    if (value instanceof Number) value = value.valueOf();\n    return typeof value === 'number' && !isNaN(value);\n  }\n\n  min(min, message = locale.min) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n\n      test(value) {\n        return isAbsent(value) || value >= this.resolve(min);\n      }\n\n    });\n  }\n\n  max(max, message = locale.max) {\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        max\n      },\n\n      test(value) {\n        return isAbsent(value) || value <= this.resolve(max);\n      }\n\n    });\n  }\n\n  lessThan(less, message = locale.lessThan) {\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        less\n      },\n\n      test(value) {\n        return isAbsent(value) || value < this.resolve(less);\n      }\n\n    });\n  }\n\n  moreThan(more, message = locale.moreThan) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        more\n      },\n\n      test(value) {\n        return isAbsent(value) || value > this.resolve(more);\n      }\n\n    });\n  }\n\n  positive(msg = locale.positive) {\n    return this.moreThan(0, msg);\n  }\n\n  negative(msg = locale.negative) {\n    return this.lessThan(0, msg);\n  }\n\n  integer(message = locale.integer) {\n    return this.test({\n      name: 'integer',\n      message,\n      test: val => isAbsent(val) || Number.isInteger(val)\n    });\n  }\n\n  truncate() {\n    return this.transform(value => !isAbsent(value) ? value | 0 : value);\n  }\n\n  round(method) {\n    var _method;\n\n    let avail = ['ceil', 'floor', 'round', 'trunc'];\n    method = ((_method = method) == null ? void 0 : _method.toLowerCase()) || 'round'; // this exists for symemtry with the new Math.trunc\n\n    if (method === 'trunc') return this.truncate();\n    if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n    return this.transform(value => !isAbsent(value) ? Math[method](value) : value);\n  }\n\n}\ncreate.prototype = NumberSchema.prototype; //\n// Number Interfaces\n//","/* eslint-disable */\n\n/**\n *\n * Date.parse with progressive enhancement for ISO 8601 <https://github.com/csnover/js-iso8601>\n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover <http://zetafleet.com>\n * Released under MIT license.\n */\n//              1 YYYY                 2 MM        3 DD              4 HH     5 mm        6 ss            7 msec         8 Z 9 ±    10 tzHH    11 tzmm\nvar isoReg = /^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nexport default function parseIsoDate(date) {\n  var numericKeys = [1, 4, 5, 6, 7, 10, 11],\n      minutesOffset = 0,\n      timestamp,\n      struct;\n\n  if (struct = isoReg.exec(date)) {\n    // avoid NaN timestamps caused by “undefined” values being passed to Date.UTC\n    for (var i = 0, k; k = numericKeys[i]; ++i) struct[k] = +struct[k] || 0; // allow undefined days and months\n\n\n    struct[2] = (+struct[2] || 1) - 1;\n    struct[3] = +struct[3] || 1; // allow arbitrary sub-second precision beyond milliseconds\n\n    struct[7] = struct[7] ? String(struct[7]).substr(0, 3) : 0; // timestamps without timezone identifiers should be considered local time\n\n    if ((struct[8] === undefined || struct[8] === '') && (struct[9] === undefined || struct[9] === '')) timestamp = +new Date(struct[1], struct[2], struct[3], struct[4], struct[5], struct[6], struct[7]);else {\n      if (struct[8] !== 'Z' && struct[9] !== undefined) {\n        minutesOffset = struct[10] * 60 + struct[11];\n        if (struct[9] === '+') minutesOffset = 0 - minutesOffset;\n      }\n\n      timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);\n    }\n  } else timestamp = Date.parse ? Date.parse(date) : NaN;\n\n  return timestamp;\n}","// @ts-ignore\nimport isoParse from './util/isodate';\nimport { date as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport Ref from './Reference';\nimport BaseSchema from './schema';\nlet invalidDate = new Date('');\n\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\n\nexport function create() {\n  return new DateSchema();\n}\nexport default class DateSchema extends BaseSchema {\n  constructor() {\n    super({\n      type: 'date'\n    });\n    this.withMutation(() => {\n      this.transform(function (value) {\n        if (this.isType(value)) return value;\n        value = isoParse(value); // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n\n        return !isNaN(value) ? new Date(value) : invalidDate;\n      });\n    });\n  }\n\n  _typeCheck(v) {\n    return isDate(v) && !isNaN(v.getTime());\n  }\n\n  prepareParam(ref, name) {\n    let param;\n\n    if (!Ref.isRef(ref)) {\n      let cast = this.cast(ref);\n      if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n      param = cast;\n    } else {\n      param = ref;\n    }\n\n    return param;\n  }\n\n  min(min, message = locale.min) {\n    let limit = this.prepareParam(min, 'min');\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n\n      test(value) {\n        return isAbsent(value) || value >= this.resolve(limit);\n      }\n\n    });\n  }\n\n  max(max, message = locale.max) {\n    let limit = this.prepareParam(max, 'max');\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        max\n      },\n\n      test(value) {\n        return isAbsent(value) || value <= this.resolve(limit);\n      }\n\n    });\n  }\n\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate.prototype = DateSchema.prototype;\ncreate.INVALID_DATE = invalidDate;","function findIndex(arr, err) {\n  let idx = Infinity;\n  arr.some((key, ii) => {\n    var _err$path;\n\n    if (((_err$path = err.path) == null ? void 0 : _err$path.indexOf(key)) !== -1) {\n      idx = ii;\n      return true;\n    }\n  });\n  return idx;\n}\n\nexport default function sortByKeyOrder(keys) {\n  return (a, b) => {\n    return findIndex(keys, a) - findIndex(keys, b);\n  };\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport has from 'lodash/has';\nimport snakeCase from 'lodash/snakeCase';\nimport camelCase from 'lodash/camelCase';\nimport mapKeys from 'lodash/mapKeys';\nimport mapValues from 'lodash/mapValues';\nimport { getter } from 'property-expr';\nimport { object as locale } from './locale';\nimport sortFields from './util/sortFields';\nimport sortByKeyOrder from './util/sortByKeyOrder';\nimport runTests from './util/runTests';\nimport ValidationError from './ValidationError';\nimport BaseSchema from './schema';\n\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\n\nfunction unknown(ctx, value) {\n  let known = Object.keys(ctx.fields);\n  return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\n\nconst defaultSort = sortByKeyOrder([]);\nexport default class ObjectSchema extends BaseSchema {\n  constructor(spec) {\n    super({\n      type: 'object'\n    });\n    this.fields = Object.create(null);\n    this._sortErrors = defaultSort;\n    this._nodes = [];\n    this._excludedEdges = [];\n    this.withMutation(() => {\n      this.transform(function coerce(value) {\n        if (typeof value === 'string') {\n          try {\n            value = JSON.parse(value);\n          } catch (err) {\n            value = null;\n          }\n        }\n\n        if (this.isType(value)) return value;\n        return null;\n      });\n\n      if (spec) {\n        this.shape(spec);\n      }\n    });\n  }\n\n  _typeCheck(value) {\n    return isObject(value) || typeof value === 'function';\n  }\n\n  _cast(_value, options = {}) {\n    var _options$stripUnknown;\n\n    let value = super._cast(_value, options); //should ignore nulls here\n\n\n    if (value === undefined) return this.getDefault();\n    if (!this._typeCheck(value)) return value;\n    let fields = this.fields;\n    let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n\n    let props = this._nodes.concat(Object.keys(value).filter(v => this._nodes.indexOf(v) === -1));\n\n    let intermediateValue = {}; // is filled during the transform below\n\n    let innerOptions = _extends({}, options, {\n      parent: intermediateValue,\n      __validating: options.__validating || false\n    });\n\n    let isChanged = false;\n\n    for (const prop of props) {\n      let field = fields[prop];\n      let exists = has(value, prop);\n\n      if (field) {\n        let fieldValue;\n        let inputValue = value[prop]; // safe to mutate since this is fired in sequence\n\n        innerOptions.path = (options.path ? `${options.path}.` : '') + prop; // innerOptions.value = value[prop];\n\n        field = field.resolve({\n          value: inputValue,\n          context: options.context,\n          parent: intermediateValue\n        });\n        let fieldSpec = 'spec' in field ? field.spec : undefined;\n        let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n\n        if (fieldSpec == null ? void 0 : fieldSpec.strip) {\n          isChanged = isChanged || prop in value;\n          continue;\n        }\n\n        fieldValue = !options.__validating || !strict ? // TODO: use _cast, this is double resolving\n        field.cast(value[prop], innerOptions) : value[prop];\n\n        if (fieldValue !== undefined) {\n          intermediateValue[prop] = fieldValue;\n        }\n      } else if (exists && !strip) {\n        intermediateValue[prop] = value[prop];\n      }\n\n      if (intermediateValue[prop] !== value[prop]) {\n        isChanged = true;\n      }\n    }\n\n    return isChanged ? intermediateValue : value;\n  }\n\n  _validate(_value, opts = {}, callback) {\n    let errors = [];\n    let {\n      sync,\n      from = [],\n      originalValue = _value,\n      abortEarly = this.spec.abortEarly,\n      recursive = this.spec.recursive\n    } = opts;\n    from = [{\n      schema: this,\n      value: originalValue\n    }, ...from]; // this flag is needed for handling `strict` correctly in the context of\n    // validation vs just casting. e.g strict() on a field is only used when validating\n\n    opts.__validating = true;\n    opts.originalValue = originalValue;\n    opts.from = from;\n\n    super._validate(_value, opts, (err, value) => {\n      if (err) {\n        if (!ValidationError.isError(err) || abortEarly) {\n          return void callback(err, value);\n        }\n\n        errors.push(err);\n      }\n\n      if (!recursive || !isObject(value)) {\n        callback(errors[0] || null, value);\n        return;\n      }\n\n      originalValue = originalValue || value;\n\n      let tests = this._nodes.map(key => (_, cb) => {\n        let path = key.indexOf('.') === -1 ? (opts.path ? `${opts.path}.` : '') + key : `${opts.path || ''}[\"${key}\"]`;\n        let field = this.fields[key];\n\n        if (field && 'validate' in field) {\n          field.validate(value[key], _extends({}, opts, {\n            // @ts-ignore\n            path,\n            from,\n            // inner fields are always strict:\n            // 1. this isn't strict so the casting will also have cast inner values\n            // 2. this is strict in which case the nested values weren't cast either\n            strict: true,\n            parent: value,\n            originalValue: originalValue[key]\n          }), cb);\n          return;\n        }\n\n        cb(null);\n      });\n\n      runTests({\n        sync,\n        tests,\n        value,\n        errors,\n        endEarly: abortEarly,\n        sort: this._sortErrors,\n        path: opts.path\n      }, callback);\n    });\n  }\n\n  clone(spec) {\n    const next = super.clone(spec);\n    next.fields = _extends({}, this.fields);\n    next._nodes = this._nodes;\n    next._excludedEdges = this._excludedEdges;\n    next._sortErrors = this._sortErrors;\n    return next;\n  }\n\n  concat(schema) {\n    let next = super.concat(schema);\n    let nextFields = next.fields;\n\n    for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n      const target = nextFields[field];\n\n      if (target === undefined) {\n        nextFields[field] = schemaOrRef;\n      } else if (target instanceof BaseSchema && schemaOrRef instanceof BaseSchema) {\n        nextFields[field] = schemaOrRef.concat(target);\n      }\n    }\n\n    return next.withMutation(() => next.shape(nextFields, this._excludedEdges));\n  }\n\n  getDefaultFromShape() {\n    let dft = {};\n\n    this._nodes.forEach(key => {\n      const field = this.fields[key];\n      dft[key] = 'default' in field ? field.getDefault() : undefined;\n    });\n\n    return dft;\n  }\n\n  _getDefault() {\n    if ('default' in this.spec) {\n      return super._getDefault();\n    } // if there is no default set invent one\n\n\n    if (!this._nodes.length) {\n      return undefined;\n    }\n\n    return this.getDefaultFromShape();\n  }\n\n  shape(additions, excludes = []) {\n    let next = this.clone();\n    let fields = Object.assign(next.fields, additions);\n    next.fields = fields;\n    next._sortErrors = sortByKeyOrder(Object.keys(fields));\n\n    if (excludes.length) {\n      // this is a convenience for when users only supply a single pair\n      if (!Array.isArray(excludes[0])) excludes = [excludes];\n      next._excludedEdges = [...next._excludedEdges, ...excludes];\n    }\n\n    next._nodes = sortFields(fields, next._excludedEdges);\n    return next;\n  }\n\n  pick(keys) {\n    const picked = {};\n\n    for (const key of keys) {\n      if (this.fields[key]) picked[key] = this.fields[key];\n    }\n\n    return this.clone().withMutation(next => {\n      next.fields = {};\n      return next.shape(picked);\n    });\n  }\n\n  omit(keys) {\n    const next = this.clone();\n    const fields = next.fields;\n    next.fields = {};\n\n    for (const key of keys) {\n      delete fields[key];\n    }\n\n    return next.withMutation(() => next.shape(fields));\n  }\n\n  from(from, to, alias) {\n    let fromGetter = getter(from, true);\n    return this.transform(obj => {\n      if (obj == null) return obj;\n      let newObj = obj;\n\n      if (has(obj, from)) {\n        newObj = _extends({}, obj);\n        if (!alias) delete newObj[from];\n        newObj[to] = fromGetter(obj);\n      }\n\n      return newObj;\n    });\n  }\n\n  noUnknown(noAllow = true, message = locale.noUnknown) {\n    if (typeof noAllow === 'string') {\n      message = noAllow;\n      noAllow = true;\n    }\n\n    let next = this.test({\n      name: 'noUnknown',\n      exclusive: true,\n      message: message,\n\n      test(value) {\n        if (value == null) return true;\n        const unknownKeys = unknown(this.schema, value);\n        return !noAllow || unknownKeys.length === 0 || this.createError({\n          params: {\n            unknown: unknownKeys.join(', ')\n          }\n        });\n      }\n\n    });\n    next.spec.noUnknown = noAllow;\n    return next;\n  }\n\n  unknown(allow = true, message = locale.noUnknown) {\n    return this.noUnknown(!allow, message);\n  }\n\n  transformKeys(fn) {\n    return this.transform(obj => obj && mapKeys(obj, (_, key) => fn(key)));\n  }\n\n  camelCase() {\n    return this.transformKeys(camelCase);\n  }\n\n  snakeCase() {\n    return this.transformKeys(snakeCase);\n  }\n\n  constantCase() {\n    return this.transformKeys(key => snakeCase(key).toUpperCase());\n  }\n\n  describe() {\n    let base = super.describe();\n    base.fields = mapValues(this.fields, value => value.describe());\n    return base;\n  }\n\n}\nexport function create(spec) {\n  return new ObjectSchema(spec);\n}\ncreate.prototype = ObjectSchema.prototype;","import has from 'lodash/has'; // @ts-expect-error\n\nimport toposort from 'toposort';\nimport { split } from 'property-expr';\nimport Ref from '../Reference';\nimport isSchema from './isSchema';\nexport default function sortFields(fields, excludedEdges = []) {\n  let edges = [];\n  let nodes = new Set();\n  let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n\n  function addNode(depPath, key) {\n    let node = split(depPath)[0];\n    nodes.add(node);\n    if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n  }\n\n  for (const key in fields) if (has(fields, key)) {\n    let value = fields[key];\n    nodes.add(key);\n    if (Ref.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n  }\n\n  return toposort.array(Array.from(nodes), edges).reverse();\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Table = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  striped,\n  bordered,\n  borderless,\n  hover,\n  size,\n  variant,\n  responsive,\n  ...props\n}, ref) => {\n  const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'table');\n  const classes = classNames(className, decoratedBsPrefix, variant && `${decoratedBsPrefix}-${variant}`, size && `${decoratedBsPrefix}-${size}`, striped && `${decoratedBsPrefix}-${typeof striped === 'string' ? `striped-${striped}` : 'striped'}`, bordered && `${decoratedBsPrefix}-bordered`, borderless && `${decoratedBsPrefix}-borderless`, hover && `${decoratedBsPrefix}-hover`);\n  const table = /*#__PURE__*/_jsx(\"table\", {\n    ...props,\n    className: classes,\n    ref: ref\n  });\n  if (responsive) {\n    let responsiveClass = `${decoratedBsPrefix}-responsive`;\n    if (typeof responsive === 'string') {\n      responsiveClass = `${responsiveClass}-${responsive}`;\n    }\n    return /*#__PURE__*/_jsx(\"div\", {\n      className: responsiveClass,\n      children: table\n    });\n  }\n  return table;\n});\nexport default Table;","import React from \"react\";\nimport {Container, Card, Image, Col, Row, Table, Stack, OverlayTrigger, Popover} from 'react-bootstrap';\nimport sfblok from \"./../images/sfblok.png\"\nimport sfifblok from \"./../images/sfifblok.png\"\nimport firdblok from \"./../images/firdblok.png\"\nimport blokd from \"./../images/blokd.png\"\nimport { motion } from \"framer-motion\"\nimport {BsDownload} from 'react-icons/bs'\n\n\nconst Description_SEIRHCD = () => {\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: -100,\n   },\n  }\n    return (\n      <>\n      <Row >\n         <Col sm={12} xs={12} md={12} lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border shadow1 mx-3 my-1\">\n           <Card.Header className=\" text-center text-success\">Структура модели</Card.Header>\n           <Card.Body>\n           <Image\n           src={sfblok}\n           rounded\n           fluid\n           />\n           </Card.Body></Card></motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border shadow1 mx-3 my-1\">\n             <Card.Header className=\" text-center text-white bg-success\">Математическая модель</Card.Header>\n             <Card.Body align=\"justify\">\n             <div><small>Описывается системой 7 обыкновенных дифференциальных уравнений, удовлетворяющих закону баланса масс:</small></div>\n             <div className=\"my-3\">\n             <Image\n             src={blokd}\n             rounded\n             fluid\n             />\n             </div>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n            <Card className=\"border shadow1 my-1 mx-3\">\n              <Card.Header className=\"text-center text-success bg-light\">Алгоритм усвоения данных</Card.Header>\n              <Card.Body align=\"center\">\n              <Image\n              src={sfifblok}\n              rounded\n              fluid\n              />\n              </Card.Body></Card></motion.div>\n           </Col>\n         <Col sm={12} xs={12} md={12}  lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border shadow1 my-1 mx-3\">\n           <Card.Header className=\" text-center text-white bg-success\">Параметры модели</Card.Header>\n           <Card.Body>\n           <small>\n           <Table striped bordered size=\"sm\" responsive>\n    <thead>\n      <tr>\n        <th>#</th>\n        <th>Параметр</th>\n        <th>Описание</th>\n        <th>Границы</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>1</td>\n        <td><i>{'\\u03B1'}(t)</i></td>\n        <td>Индекс самоизоляции (<a href=\"https://yandex.ru/company/researches/2020/podomam\">данные Яндекса</a>)</td>\n        <td>(0, 5)</td>\n      </tr>\n      <tr>\n        <td>2</td>\n        <td><i>{'\\u03B1'}<sub>E</sub>(t)</i></td>\n        <td>Параметр заражения между бессимптомной <i>E(t)</i> и восприимчивой <i>S(t)</i> группами населения (<i>{'\\u03B1'}<sub>E</sub>>>{'\\u03B1'}<sub>I</sub></i>)</td>\n        <td>(0, 1)</td>\n      </tr>\n      <tr>\n        <td>3</td>\n        <td><i>{'\\u03B1'}<sub>I</sub>(t)</i></td>\n        <td>Параметр заражения между инфицированным <i>I(t)</i> и восприимчивым <i>S(t)</i> населением</td>\n        <td>(0, 1)</td>\n      </tr>\n      <tr>\n        <td>4</td>\n        <td><i>{'\\u03B2'}(t)</i></td>\n        <td>Доля инфицированных, имеющая антитела IgG к SARS-CoV-2</td>\n        <td><a href=\"https://ai-biolab.ru/data/novosibirsk-invitro.csv\">Инвитро</a></td>\n      </tr>\n      <tr>\n        <td>5</td>\n        <td><i>{'\\u03B5'}<sub>hc</sub>(t)</i></td>\n        <td>Доля госпитализированных случаев <i>H(t)</i>, которым требуется подключение ИВЛ</td>\n        <td>(0, 1)</td>\n      </tr>\n      <tr>\n        <td>6</td>\n        <td><i>{'\\u03BC'}(t)</i></td>\n        <td>Доля смертельных случаев</td>\n        <td>(0, 0.5)</td>\n      </tr>\n      <tr>\n        <td>7</td>\n        <td><i>{'\\u03C4'}</i></td>\n        <td>Латентный период</td>\n        <td>2 дня</td>\n      </tr>\n      <tr>\n        <td>8</td>\n        <td><i>t<sub>inc</sub></i></td>\n        <td>Длительность инкубационного периода</td>\n        <td>2-14 дней</td>\n      </tr>\n      <tr>\n        <td>9</td>\n        <td><i>t<sub>inf</sub></i></td>\n        <td>Длительность периода инфицирования</td>\n        <td>2,5-14 дней</td>\n      </tr>\n      <tr>\n        <td>10</td>\n        <td><i>t<sub>hosp</sub></i></td>\n        <td>Длительность периода госпитализации</td>\n        <td>4-5 дней</td>\n      </tr>\n      <tr>\n        <td>11</td>\n        <td><i>t<sub>crit</sub></i></td>\n        <td>Длительность использования ИВЛ</td>\n        <td>10-20 дней</td>\n      </tr>\n      <tr>\n        <td>12</td>\n        <td><i>t<sub>imm</sub></i></td>\n        <td>Средняя продолжительность гуморального иммунитета после выздоровления</td>\n        <td>180 дней</td>\n      </tr>\n      </tbody>\n      </Table>\n      </small>\n           </Card.Body></Card></motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border shadow1 my-1 mx-3\">\n             <Card.Header className=\"text-center text-success\">Обратная задача</Card.Header>\n             <Card.Body>\n             <small>\n             Для каждого временного промежутка (14 дней) уточняются параметры задачи </small><div><i>q(t) = ({'\\u03B1'}<sub>E</sub>(t),{'\\u03B1'}<sub>I</sub>(t), {'\\u03B5'}<sub>hc</sub>(t),{'\\u03BC'}(t), E<sub>0</sub>, I<sub>0</sub>) </i>\n             <small>\n             путем минимизации целевого функционала </small></div>\n             <Image\n             src={firdblok}\n             rounded\n             fluid\n             style={{ width: '3rem' }, {height: '3rem'}}\n             />\n             <small>\n  методом глобальной оптимизации на основе древовидных оценок Парзена <a href=\"https://optuna.org\">OPTUNA</a>.\n</small>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n               <Card className=\"border shadow1 my-1 mx-3\">\n                 <Card.Header className=\"text-center text-white bg-success\">Реальные данные</Card.Header>\n                 <Card.Body align=\"\">\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\"> <div><i>f<sub>k</sub></i> – количество выявленных случаев COVID-19 в день <i>k</i></div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">2 столбец - new_diagnoses</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">2</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\"> <div><i>b<sub>k</sub></i> – процент бессимптомных выявленных в день <i>k</i></div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">22 столбец - asympt_percent</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">22</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\"> <div><i>C<sub>k</sub></i> – количество критических случаев COVID-19 в день <i>k</i>, нуждающихся в подключении аппарата ИВЛ</div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">16 столбец - ventilation</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">16</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\">  <div><i>g<sub>k</sub></i> – количество умерших в результате COVID-19 в день <i>k</i></div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">7 столбец - new_deaths</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">7</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\">  <div><i>{'\\u03B1'}(t)</i> – индекс самоизоляции</div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">21 столбец - yandex_index</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">21</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\">  <div><i>{'\\u03B2'}(t)</i> – доля инфицированных, имеющая антитела IgG к SARS-CoV-2</div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">2 столбец - positive_percent</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">2</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-invitro.csv\" style={{'textDecoration': 'none'}}>\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                 </Card.Body></Card></motion.div>\n           </Col>\n       </Row>\n      </>\n    )}\n\nexport default Description_SEIRHCD;\n","import React from \"react\";\n\nconst OptionItem = (props) => {\n  return (\n    <option value={props.dates.date}>{props.dates.date}</option>\n  )\n}\n\nexport default OptionItem;\n","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Form, ListGroup, FormControl, Stack,\nOverlayTrigger, Popover, InputGroup, ProgressBar, Spinner, Tabs, Tab, Collapse, Carousel, Alert, Modal, ButtonGroup,\nDropdownButton, Dropdown} from 'react-bootstrap';\nimport {FcSearch} from 'react-icons/fc'\nimport {FiDownload } from 'react-icons/fi'\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\n\nimport {BsFillFileEarmarkPdfFill, BsFillArrowUpRightSquareFill, BsFillCaretRightFill, BsFillCaretDownFill,\nBsFillPersonLinesFill, BsExclamationLg} from 'react-icons/bs'\nimport { Formik } from \"formik\";\nimport Description_SEIRHCD from './Components/Description_SEIRHCD'\nimport OptionItem from './Components/OptionItem'\n\nimport { motion } from \"framer-motion\"\n\nimport {\n  Chart as ChartJS,\n  PointElement,\n  Filler,\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n} from 'chart.js';\n\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\n\nChartJS.register(\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n  PointElement,\n  Filler,\n);\n\nChartJS.register(zoomPlugin);\n\nfunction ModelingSEIR_HCD() {\n\n  const lastDate2 = () => {\n    axios\n    .get(\"https://server.ai-biolab.ru/datesSEIR\")\n    .then(res => {\n      setLastsData(res.data.dates[res.data.dates.length-1].data)\n    })\n  }\n\n  const download_chart=(e, chart) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById(chart)\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const dates = []\n  const [dates2, setdates2] = useState(dates)\n  const [lastData, setLastsData] = useState(0)\n\n  const datesOption=()=>{\n    axios\n    .get(\"https://server.ai-biolab.ru/datesSEIR\")\n    .then(res => {\n      for (const dataObj of res.data.dates) {\n        dates.push({date: dataObj.data})\n      }\n      dates.reverse()\n      setdates2(dates)\n    })\n  }\n\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n  const [chartOptions, setChartOptions] = useState({})\n\n  const [openBS, setOpenBS] = useState(true);\n  const [openM, setOpenM] = useState(false);\n  const [openV, setOpenV] = useState(false);\n\n  const [chartData_bsR0, setChartData_bsR0] = useState({\n    datasets: [],\n  })\n  const [chartOptions_bsR0, setChartOptions_bsR0] = useState({})\n\n  const forecasts_R0=(selected)=>{\n    let data = [];\n    let mean = [];\n    let max = [];\n    let min = [];\n    let tr = []\n    let tr_min = []\n    let tr_max = []\n    let datatype = selected\n    let dataT = selected\n    axios({\n        url:'https://server.ai-biolab.ru/api/forecasts_train/',\n        method: \"POST\",\n        data: {dataT},\n      })\n    .then(res => {\n        for (const dataObj of res.data) {\n          data.push(dataObj.Date);\n          tr.push(dataObj.R0_mean)\n          tr_min.push(dataObj.R0_min)\n          tr_max.push(dataObj.R0_max)\n          mean.push(dataObj.R0_mean)\n          max.push(dataObj.R0_max)\n          min.push(dataObj.R0_min)\n        }\n        axios({\n            url:'https://server.ai-biolab.ru/api/forecasts/',\n            method: \"POST\",\n            data: {datatype},\n          })\n        .then(res => {\n            for (const dataObj of res.data) {\n              data.push(dataObj.Date);\n              mean.push(dataObj.R0_mean)\n              max.push(dataObj.R0_max)\n              min.push(dataObj.R0_min)\n            }\n            setChartData_bsR0({\n              labels: data,\n              datasets: [\n                {\n                  label: \"реальные данные\",\n                  data: tr_min,\n                  fill: false,\n                  borderColor: \"rgba(2, 117, 216, 0.1)\",\n                  backgroundColor: \"rgba(2, 117, 216, 0.1)\",\n                  tension: 0.9,\n                  borderWidth: 0.1,\n                  pointRadius: 0.3,\n                  pointHoverRadius: 5,\n                  pointHitRadius: 30,\n                  pointBorderWidth: 0.1,\n                  barPercentage: 2\n                  },\n                  {\n                    label: \"реальные данные\",\n                    data: tr_max,\n                    fill: '-1',\n                    borderColor: \"rgba(2, 117, 216, 0.1)\",\n                    backgroundColor: \"rgba(2, 117, 216, 0.1)\",\n                    tension: 0.9,\n                    borderWidth: 0.1,\n                    pointRadius: 0.3,\n                    pointHoverRadius: 5,\n                    pointHitRadius: 30,\n                    pointBorderWidth: 0.1,\n                    barPercentage: 2\n                    },\n                {\n                  label: \"реальные данные\",\n                  data: tr,\n                  fill: false,\n                  borderColor: \"rgba(2, 117, 216, 1)\",\n                  backgroundColor: \"rgba(2, 117, 216, 1)\",\n                  tension: 0.9,\n                  borderWidth: 2,\n                  pointRadius: 0.3,\n                  pointHoverRadius: 5,\n                  pointHitRadius: 30,\n                  pointBorderWidth: 0.1,\n                  barPercentage: 2\n                  },\n                  {\n                    label: \"модель\",\n                    data: min,\n                    fill: false,\n                    borderColor: \"rgba(217, 83, 79, 0.1)\",\n                    backgroundColor: \"rgba(217, 83, 79, 0.1)\",\n                    tension: 0.9,\n                    borderWidth: 0.1,\n                    pointRadius: 0.3,\n                    pointHoverRadius: 5,\n                    pointHitRadius: 30,\n                    pointBorderWidth: 0.1,\n                    barPercentage: 2\n                    },\n                    {\n                      label: \"модель\",\n                      data: max,\n                      fill: '-1',\n                      borderColor: \"rgba(217, 83, 79, 0.1)\",\n                      backgroundColor: \"rgba(217, 83, 79, 0.1)\",\n                      tension: 0.9,\n                      borderWidth: 0.1,\n                      pointRadius: 0.3,\n                      pointHoverRadius: 5,\n                      pointHitRadius: 30,\n                      pointBorderWidth: 0.1,\n                      barPercentage: 2\n                      },\n              {\n                label: \"модель\",\n                data: mean,\n                fill: false,\n                borderColor: \"rgba(217, 83, 79, 1)\",\n                backgroundColor: \"rgba(217, 83, 79, 1)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                barPercentage: 2\n                },\n            ],\n            });\n            setChartOptions_bsR0({\n              maintainAspectRatio : false,\n              responsive: true,\n                plugins: {\n                  zoom: {\n                    pan: {\n                      enabled: true,\n                      mode: 'xy',\n                    },\n                   zoom: {\n                     wheel: {\n                       enabled: true,\n                       speed: 0.1,\n                     },\n                     drag: {\n                      enabled: true,\n                    },\n                     pan: {enabled: true},\n                     pinch: {\n                       enabled: true\n                     },\n                     mode: 'xy',\n                   },\n                },\n                legend: {\n                  position: \"right\",\n                },\n                title: {\n                  display: true,\n                  align: 'start',\n                  text: \"\",\n                },\n              }\n            });\n          })\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n  const [chartData_pred, setChartData_pred] = useState({\n    datasets: [],\n  })\n  const [chartOptions_pred, setChartOptions_pred] = useState({})\n\n  const forecasts_new = (stype, datatype)=>{\n    let data = [];\n    let mean = [];\n    let max = [];\n    let min = [];\n    let tr = []\n    let name = \"Новые выявленные случаи\";\n    axios({\n        url:'https://server.ai-biolab.ru/api/forecasts_true/',\n        method: \"POST\",\n        data: {datatype},\n      })\n    .then(res => {\n        for (const dataObj of res.data) {\n          data.push(dataObj.Date);\n          if (stype == 1){\n            name = \"Новые выявленные случаи\"\n            tr.push(dataObj.new_diagnoses)\n          } else if (stype == 2) {\n            name = \"Критически больные, С\"\n            tr.push(dataObj.ventilation)\n          } else if (stype == 3) {\n            name = \"Умершие, D\"\n            tr.push(dataObj.cum_deaths)\n          }\n          mean.push(0)\n        }\n        axios({\n            url:'https://server.ai-biolab.ru/api/forecasts',\n            method: \"POST\",\n            data: {datatype},\n          })\n        .then(res => {\n            setAE(Math.round(parseFloat(res.data[res.data.length-1].alpha_e_std)*1000) / 1000)\n            setAI(Math.round(parseFloat(res.data[res.data.length-1].alpha_i_std)*1000) / 1000)\n            setEhc(Math.round(parseFloat(res.data[res.data.length-1].eps_hc_std)*1000) / 1000)\n            setM(Math.round(parseFloat(res.data[res.data.length-1].mu_std)*1000) / 1000)\n            setAE_mean(Math.round(parseFloat(res.data[res.data.length-1].alpha_e_mean)*1000) / 1000)\n            setAI_mean(Math.round(parseFloat(res.data[res.data.length-1].alpha_i_mean)*1000) / 1000)\n            setEhc_mean(Math.round(parseFloat(res.data[res.data.length-1].eps_hc_mean)*1000) / 1000)\n            setM_mean(Math.round(parseFloat(res.data[res.data.length-1].mu_mean)*1000) / 1000)\n            for (const dataObj of res.data) {\n              data.push(dataObj.Date);\n              if (stype == 1){\n                mean.push(dataObj.fk_mean)\n                max.push(dataObj.fk_max)\n                min.push(dataObj.fk_min)\n              } else if (stype == 2) {\n                mean.push(dataObj.C_mean)\n                max.push(dataObj.C_max)\n                min.push(dataObj.C_min)\n              } else if (stype== 3) {\n                mean.push(dataObj.D_mean)\n                max.push(dataObj.D_max)\n                min.push(dataObj.D_min)\n              }\n            }\n            setChartData_pred({\n              labels: data,\n              datasets: [\n                {\n                  label: \"реальные данные\",\n                  data: tr,\n                  fill: false,\n                  borderColor: \"rgba(2, 117, 216, 1)\",\n                  backgroundColor: \"rgba(2, 117, 216, 1)\",\n                  tension: 0.9,\n                  borderWidth: 0.1,\n                  pointRadius: 0.3,\n                  pointHoverRadius: 5,\n                  pointHitRadius: 30,\n                  pointBorderWidth: 0.1,\n                  barPercentage: 2\n                  },\n              {\n                label: \"модель\",\n                data: mean,\n                fill: false,\n                borderColor: \"rgba(217, 83, 79, 1)\",\n                backgroundColor: \"rgba(217, 83, 79, 1)\",\n                tension: 0.9,\n                borderWidth: 0.1,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                barPercentage: 2\n                },\n            ],\n            });\n            setChartOptions_pred({\n               maintainAspectRatio : false,\n              responsive: true,\n                plugins: {\n                  zoom: {\n                    pan: {\n                      enabled: true,\n                      mode: 'xy',\n                    },\n                   zoom: {\n                     wheel: {\n                       enabled: true,\n                       speed: 0.1,\n                     },\n                     drag: {\n                      enabled: true,\n                    },\n                     pan: {enabled: true},\n                     pinch: {\n                       enabled: true\n                     },\n                     mode: 'xy',\n                   },\n                },\n                legend: {\n                  position: \"right\",\n                },\n                title: {\n                  display: true,\n                  align: 'start',\n                  text: name,\n                },\n              }\n            });\n          })\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  let r0_mean = []\n  let r0_max = []\n  let r0_min = []\n  const [r0_meanBS, setr0_meanDataBS] = useState(r0_mean)\n\n  const res_validR0=()=>{\n    let dataBS = [];\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_valid\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataBS.push(dataObj.Date);\n        r0_mean.push(dataObj.R0_mean)\n        r0_max.push(dataObj.R0_max)\n        r0_min.push(dataObj.R0_min)\n      }\n      setChartData({\n        labels: dataBS,\n        datasets: [\n          {\n            label: \"R0 min\",\n            data: r0_min,\n            fill: false,\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: \"R0 max\",\n            data: r0_max,\n            fill: '-1',\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        {\n          label: \"R0 среднее\",\n          data: r0_mean,\n          fill: false,\n          borderColor: \"rgba(255,0,0, 1)\",\n          backgroundColor: \"rgba(255, 0, 0, 1)\",\n          tension: 0.9,\n          borderWidth: 1,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n      ],\n      });\n      setChartOptions({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'start',\n            text: \"\",\n          },\n        }\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n  const [chartData2, setChartData2] = useState({\n    datasets: [],\n  })\n\n  const [chartDataTrain, setChartDataTrain] = useState({\n    datasets: [],\n  })\n  const [chartOptionsTrain, setChartOptionsTrain] = useState({})\n\n  const res_trainR0=()=>{\n      let dataBS = [];\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_train\")\n    .then(res => {\n     for (const dataObj of res.data) {\n        dataBS.push(dataObj.Date);\n        r0_mean.push(dataObj.R0_mean)\n        r0_max.push(dataObj.R0_max)\n        r0_min.push(dataObj.R0_min)\n      }\n\n      setChartDataTrain({\n        labels: dataBS,\n        datasets: [\n\n          {\n            label: \"R0 min\",\n            data: r0_min,\n            fill: false,\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: \"R0 max\",\n            data: r0_max,\n            fill: '-1',\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        {\n          label: \"R0 среднее\",\n          data: r0_mean,\n          fill: false,\n          borderColor: \"rgba(255,0,0, 1)\",\n          backgroundColor: \"rgba(255, 0, 0, 1)\",\n          tension: 0.9,\n          borderWidth: 1,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n      ],\n      });\n      setChartOptionsTrain({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'start',\n            text: \"\",\n          },\n        }\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n\n  const [chartOptionsSEIRHCD, setChartOptionsSEIRHCD] = useState({})\n  const [chartDataSEIRHCD, setChartDataSEIRHCD] = useState({\n    datasets: [],\n  })\n\n  const res_train=(mean, max, min, param)=>{\n    let dataSEIRHCD = []\n    let mean_data = []\n    let max_data = []\n    let min_data = []\n    let r_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_train\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        mean_data.push(dataObj[mean])\n        max_data.push(dataObj[max])\n        min_data.push(dataObj[min])\n      }\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd/\")\n      .then(res2 => {\n        for (const dataObj of res2.data) {\n          r_data.push(parseInt(dataObj[param]));\n        }\n        setChartDataSEIRHCD({\n          labels:   dataSEIRHCD,\n          datasets: [\n            {\n              label: \"min\",\n              data: min_data,\n              fill: false,\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n            {\n              label: \"max\",\n              data: max_data,\n              fill: '-1',\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          {\n            label: \"среднее\",\n            data: mean_data,\n            fill: false,\n            borderColor: \"rgba(13,110,253, 1)\",\n            backgroundColor: \"rgba(13, 110, 253, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n              label: \"Реальные данные\",\n              data: r_data,\n              fill: false,\n              borderColor: \"rgba(255, 127, 80, 1)\",\n              backgroundColor: \"rgba(255, 127, 80, 1)\",\n              tension: 0.9,\n              borderWidth: 0.01,\n              pointRadius: 2,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1\n              },\n        ],\n        });\n        setChartOptionsSEIRHCD({\n          maintainAspectRatio : false,\n          responsive: true,\n            plugins: {\n              zoom: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n               zoom: {\n                 wheel: {\n                   enabled: true,\n                   speed: 0.1,\n                 },\n                 drag: {\n                  enabled: true,\n                },\n                 pan: {enabled: true},\n                 pinch: {\n                   enabled: true\n                 },\n                 mode: 'xy',\n               },\n            },\n            legend: {\n              position: \"right\",\n            },\n            title: {\n              display: true,\n              align: 'center',\n              text: \"Новые выявленные случаи\",\n            },\n          }\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  const [chartOptionsSEIRHCD_v, setChartOptionsSEIRHCD_v] = useState({})\n  const [chartDataSEIRHCD_v, setChartDataSEIRHCD_v] = useState({\n    datasets: [],\n  })\n\n  const res_valid=(mean, max, min, param)=>{\n    let dataSEIRHCD = []\n    let mean_data = []\n    let max_data = []\n    let min_data = []\n    let r_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_valid\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        mean_data.push(dataObj[mean])\n        max_data.push(dataObj[max])\n        min_data.push(dataObj[min])\n      }\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res2 => {\n        for (const dataObj of res2.data) {\n          r_data.push(parseInt(dataObj[param]));\n        }\n        setChartDataSEIRHCD_v({\n          labels:   dataSEIRHCD,\n          datasets: [\n            {\n              label: \"min\",\n              data: min_data,\n              fill: false,\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n            {\n              label: \"max\",\n              data: max_data,\n              fill: '-1',\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          {\n            label: \"среднее\",\n            data: mean_data,\n            fill: false,\n            borderColor: \"rgba(13,110,253, 1)\",\n            backgroundColor: \"rgba(13, 110, 253, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n              label: \"Реальные данные\",\n              data: r_data,\n              fill: false,\n              borderColor: \"rgba(255, 127, 80, 1)\",\n              backgroundColor: \"rgba(255, 127, 80, 1)\",\n              tension: 0.9,\n              borderWidth: 0.01,\n              pointRadius: 2,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1\n              },\n        ],\n        });\n        setChartOptionsSEIRHCD_v({\n          maintainAspectRatio : false,\n          responsive: true,\n            plugins: {\n              zoom: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n               zoom: {\n                 wheel: {\n                   enabled: true,\n                   speed: 0.1,\n                 },\n                 drag: {\n                  enabled: true,\n                },\n                 pan: {enabled: true},\n                 pinch: {\n                   enabled: true\n                 },\n                 mode: 'xy',\n               },\n            },\n            legend: {\n              position: \"right\",\n            },\n            title: {\n              display: true,\n              align: 'center',\n              text: \"Новые выявленные случаи\",\n            },\n          }\n        });\n      })\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  const [chartOptions_p, setChartOptions_p] = useState({})\n  const [chartData_p, setChartData_p] = useState({\n    datasets: [],\n  })\n  const res_validP=()=>{\n    let dataSEIRHCD = []\n    let ae_data = []\n    let ai_data = []\n    let e_data = []\n    let m_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_valid/\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        ae_data.push(dataObj.alpha_e_mean)\n        ai_data.push(dataObj.alpha_i_mean)\n        e_data.push(dataObj.eps_hc_mean)\n        m_data.push(dataObj.mu_mean)\n      }\n      setChartData_p({\n        labels:   dataSEIRHCD,\n        datasets: [\n          {\n            label: '\\u03B1\\u2091',\n            data: ae_data,\n            fill: false,\n            borderColor: \"rgba(0,0,255, 1)\",\n            backgroundColor: \"rgba(0, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: '\\u03B1\\u1D62',\n            data: ai_data,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n          label: '\\u03B5\\u2095\\u1D9C',\n          data: e_data,\n          fill: false,\n          borderColor: \"rgba(92, 184, 92, 1)\",\n          backgroundColor: \"rgba(92, 184, 92, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n          {\n            label: '\\u03BC',\n            data: m_data,\n            fill: false,\n            borderColor: \"rgba(128, 0, 255, 1)\",\n            backgroundColor: \"rgba(128, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n      ],\n      });\n      setChartOptions_p({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'center',\n            text: \"\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'вероятность'\n            },\n            position:'left',\n            type: 'linear',\n          },\n        },\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n  const [chartOptions_pm, setChartOptions_pm] = useState({})\n  const [chartData_pm, setChartData_pm] = useState({\n    datasets: [],\n  })\n  const res_trainP=()=>{\n    let dataSEIRHCD = []\n    let ae_data = []\n    let ai_data = []\n    let e_data = []\n    let m_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_train/\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        ae_data.push(dataObj.alpha_e_mean)\n        ai_data.push(dataObj.alpha_i_mean)\n        e_data.push(dataObj.eps_hc_mean)\n        m_data.push(dataObj.mu_mean)\n      }\n      setChartData_pm({\n        labels:   dataSEIRHCD,\n        datasets: [\n          {\n            label: '\\u03B1\\u2091',\n            data: ae_data,\n            fill: false,\n            borderColor: \"rgba(0,0,255, 1)\",\n            backgroundColor: \"rgba(0, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: '\\u03B1\\u1D62',\n            data: ai_data,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n          label: '\\u03B5\\u2095\\u1D9C',\n          data: e_data,\n          fill: false,\n          borderColor: \"rgba(92, 184, 92, 1)\",\n          backgroundColor: \"rgba(92, 184, 92, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n          {\n            label: '\\u03BC',\n            data: m_data,\n            fill: false,\n            borderColor: \"rgba(128, 0, 255, 1)\",\n            backgroundColor: \"rgba(128, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n      ],\n      });\n      setChartOptions_pm({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'center',\n            text: \"\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'вероятность'\n            },\n            position:'left',\n            type: 'linear',\n          },\n        },\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  const [prognose_type, setPrognose_type] = useState(1)\n  const [prognose_data, setPrognose_data] = useState(dates[0])\n\n//1 - новые выявленные случаи\n//2 - критически больные\n//3 - умершие\n\n  const [ae, setAE] = useState()\n  const [ai, setAI] = useState()\n  const [ehc, setEhc] = useState()\n  const [m, setM] = useState()\n  const [ae_mean, setAE_mean] = useState()\n  const [ai_mean, setAI_mean] = useState()\n  const [ehc_mean, setEhc_mean] = useState()\n  const [m_mean, setM_mean] = useState()\n\n  useEffect(() => {\n     res_validR0();\n  }, [])\n\n  useEffect(() => {\n     datesOption();\n  }, [])\n\n  useEffect(() => {\n     res_trainR0();\n  }, [])\n\n  useEffect(() => {\n    res_train(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\");\n  }, [])\n  useEffect(() => {\n     res_valid(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\");\n  }, [])\n  useEffect(() => {\n     res_validP();\n  }, [])\n  useEffect(() => {\n     res_trainP();\n  }, [])\n  useEffect(() => {\n      lastDate2();\n  }, [])\n\n  useEffect(() => {\n    lastDate2();\n    setPrognose_data(lastData)\n     forecasts_new(1, lastData);\n  }, [lastData])\n\n  useEffect(() => {\n      lastDate2();\n     forecasts_R0(lastData);\n  }, [lastData])\n\n  const [openSEIRHCD, setOpenSEIRHCD] = useState(false);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      x: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      x: -100,\n   },\n  }\n\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n  return (\n    <>\n    <Card className=\" mx-auto\" border=\"light\" bg=\"light\">\n    <Row >\n      <Col md={2}  className=\"text-center\">\n      <Row >\n        <Col xs= {12}  lg={12}>    <Button\n              variant=\"outline-primary\"\n              className=\"bg-white text-primary  shadow1 my-2 mx-2\"\n              onClick={() => setOpenSEIRHCD(!openSEIRHCD)}\n            > {openSEIRHCD? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Описание модели\n            </Button></Col>\n        <Col xs= {12} lg={12} className=\"mx-2\">\n        <OverlayTrigger\n          rootClose={true}\n           placement=\"bottom\"\n           ref={(ref) => this.overlay = ref}\n           overlay={\n             <Popover className=\"shadow1\">\n               <Popover.Body>\n               <div align=\"center\" className=\"text-black\">\n               Математическое моделирование и прогнозирование COVID-19 в Москве и Новосибирской области</div>\n               <small  align=\"center\" className=\"text-success\"><div>О.И. Криворотько</div>\n               <div>С.И. Кабанихин</div>\n                <div>Н.Ю. Зятьков</div>\n                  <div>А.Ю. Приходько</div>\n                    <div>Н.М. Прохошин</div>\n                    <div>М.А. Шишленин</div>\n                    </small>\n               </Popover.Body>\n             </Popover>\n           }>\n        <a href=\"https://ai-biolab.ru/data/papers/1_Krivorotko_et_al_COVID-19_in_Moscow_and_NSO.pdf\"><Button variant=\"link\" onClick={(e)=>{\n        document.body.click(e)\n        this.overlay.hide()\n      }}><BsFillArrowUpRightSquareFill size={30}/></Button></a></OverlayTrigger>\n      <OverlayTrigger\n        rootClose={true}\n         placement=\"bottom\"\n         ref={(ref) => this.overlay = ref}\n         overlay={\n           <Popover className=\"shadow1\">\n             <Popover.Body>\n             <div align=\"center\" className=\"text-black\">\n             Анализ чувствительности и идентифицируемости математических моделей распространения эпидемии COVID-19</div>\n             <small  align=\"center\" className=\"text-success\"><div>О.И. Криворотько</div>\n             <div>С.И. Кабанихин</div>\n              <div>М.И. Сосновская</div>\n                <div>Д.В. Андорная.</div>\n                  </small>\n             </Popover.Body>\n           </Popover>\n         }>\n        <a href=\"https://ai-biolab.ru/data/papers/2_Krivorotko_et_al_COVID-19_Identifiability.pdf\"><Button variant=\"link\" onClick={(e)=>{\n        document.body.click(e)\n        this.overlay.hide()\n      }}><BsFillArrowUpRightSquareFill size={30}/></Button></a></OverlayTrigger>\n      <OverlayTrigger\n        rootClose={true}\n         placement=\"bottom\"\n         ref={(ref) => this.overlay = ref}\n         overlay={\n           <Popover className=\"shadow1\">\n             <Popover.Body>\n             <div align=\"center\" className=\"text-black\">\n             Forecasting Recessions in the US Economy Using Machine Learning Methods</div>\n             <small  align=\"center\" className=\"text-success\">\n             <div>Nikolay Zyatkov</div>\n             <div>Olga Krivorotko</div></small>\n             </Popover.Body>\n           </Popover>\n         }>\n        <a href=\"https://ieeexplore.ieee.org/document/9588678/authors#authors\"><Button variant=\"link\" onClick={(e)=>{\n        document.body.click(e)\n        this.overlay.hide()\n      }}><BsFillArrowUpRightSquareFill size={30}/></Button></a></OverlayTrigger>\n                    </Col>\n                    </Row>\n    </Col>\n    <Col md={10} >\n    <Card className=\"my-3 shadow1\"><p align=\"justify\" className=\"mx-3 my-1\"><small></small></p> </Card>\n<div className=\"mx-2\"><hr /></div>\n</Col>\n  </Row>\n  <Collapse in={openSEIRHCD}>\n  <div id=\"example-collapse-text\" className=\"my-2\">\n    <Description_SEIRHCD />\n    </div>\n  </Collapse>\n    <OverlayTrigger\n       placement=\"bottom\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n           <div align=\"justify\" className=\"text-black\">\n           <small>Cценарий распространения COVID-19 в регионе на 7 дней при условии сохранения текущих ограничений и уровня вакцинации на день моделрования.</small></div>\n           </Popover.Body>\n         </Popover>\n       }>\n\n    <Button variant=\"outline-info\" className=\"mx-3 my-2 bg-white\" onClick={() => setOpenBS(!openBS)}\n      aria-controls=\"example-fade-text\"\n      aria-expanded={openBS}>\n     {openBS? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Базовый сценарий</Button>\n     </OverlayTrigger>\n     <Collapse in={openBS}>\n       <div id=\"example-collapse-text\">\n\n       <Row>\n       <Col xs={12} md={4}>\n       <motion.div initial=\"hidden\"\n          custom={2}\n         variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n       <ListGroup className = \"mx-3 shadow1 my-1\">\n       <ListGroup.Item align=\"left\" className=\"bg-secondary text-secondary\">.\n        </ListGroup.Item>\n      <ListGroup.Item variant=\"light\">\n     <Row>\n      <Col xs={12} md={12} sm={12} lg={4}>\n      <Stack gap={0}>\n    <div > <p align=\"left\" className=\"my-1 text-black text-small\"><small>Дата прогноза</small></p></div>\n    <div > <p align=\"left\" className=\"my-4 text-black text-small\"><small>Прогноз</small></p></div>\n      </Stack>\n     </Col>\n     <Col xs={12} md={12} sm={12} lg={8}>\n     <Formik\n         >\n           {({ handleSubmit, handleChange, handleBlur, values, touched, isValid, errors, resetForm, setFieldValue}) => (\n   <Form noValidate >\n     <Stack gap={3}>\n         <Form.Select key={1} aria-label=\"Default select example\"\n           type=\"number\"\n           name=\"data\"\n           onChange={(e) => {\n             const selected = e.target.value;\n             setPrognose_data(selected)\n             forecasts_new(prognose_type, selected)\n             forecasts_R0(selected)\n           }}\n           >\n           {dates2.map((dates, index) =>\n               <OptionItem key = {index} dates = {dates}/>\n           )}\n         </Form.Select>\n         <Form.Select key={2} aria-label=\"Default select example\"\n           type=\"number\"\n           name=\"type\"\n           onChange={(e) => {\n             const selectedType = e.target.value;\n             let stype = Number(selectedType)\n             setPrognose_type(stype, prognose_data)\n             forecasts_new(stype, prognose_data)\n           }}>\n               <option value=\"1\">Новые выявленные случаи</option>\n               <option value=\"2\">Критически больные, C</option>\n               <option value=\"3\">Умершие, D</option>\n         </Form.Select>\n     </Stack>\n     </Form>\n   )}\n\n </Formik>\n     </Col>\n   </Row>\n   </ListGroup.Item>\n   </ListGroup>\n</motion.div>\n   </Col>\n   <Col xs={12} md={8}>\n   <Row >\n   <Col  xs={12} sm={12} md={12} lg={8}>\n </Col>\n   <Col xs={12} sm={12} md={12} lg={4}>\n   <motion.div initial=\"hidden\"\n      custom={1}\n     variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n   <OverlayTrigger\n    placement=\"left\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n     <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n     </OverlayTrigger>\n   <OverlayTrigger\n    placement=\"left\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n     <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n     </OverlayTrigger>\n     <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1 align-right\" onClick={(e) => {\n         forecasts_new(prognose_type, prognose_data)\n     }}><BsZoomOut/></Button>\n     <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={(e)=>download_chart(e, \"chart2\")}><FiDownload/></Button>\n     </motion.div>\n   </Col>\n   </Row>\n<div style={{ height: '20rem' }}><Bar id=\"chart2\" options={chartOptions_pred} data={chartData_pred} height=\"90%\" /></div>\n   </Col>\n </Row>\n <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3\"><hr />\n  <h4 className=\"mx-5 text-secondary\">Текущие параметры модели и их доверительный интервал</h4></motion.div>\n <Row className=\"mx-5 my-3\">\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\"  className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Параметр заражения между бессимптомной <i>E(t)</i> и восприимчивой <i>S(t)</i> группами населения</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\"text-success\"><h1 align='center' style={{fontSize:\"80px\", align:\"left\"}}>{'\\u03B1'}<sub style={{fontSize:\"25px\"}}>e</sub></h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >среднее <b className=\"text-black\"><h5>{ae_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{ae}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={3}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\" className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Параметр заражения между инфицированным <i>I(t)</i> и восприимчивым населением <i>S(t)</i>, который связан с контагиозностью вируса и социальными факторами</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\"text-success\"><h1 align='center' style={{fontSize:\"80px\"}}>{'\\u03B1'}<sub style={{fontSize:\"25px\"}}>i</sub></h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >среднее <b className=\"text-black\"><h5>{ai_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{ai}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={4}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\"  className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Доля госпитализированных случаев <i>H(t)</i>, находящихся в критическом состоянии и требующих подключения аппарата ИВЛ\n</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\" text-success\"><h1 align='center' className=\"\" style={{fontSize:\"80px\"}}>{'\\u03B5'}<sub style={{fontSize:\"25px\"}}>hc</sub></h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >среднее <b className=\"text-black\"><h5>{ehc_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{ehc}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={4}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\"  className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Смертность в результате COVID-19</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\"text-success\"><h1 align='center' style={{fontSize:\"80px\"}}>{'\\u03BC'}</h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >среднее <b className=\"text-black\"><h5>{m_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{m}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n</Row>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"mx-3\"><hr />\n <h4 className=\"mx-5 text-secondary\">Базовый индекс репродукции COVID-19 в Новосибирской области и прогноз</h4>\n </motion.div>\n <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n <Container className=\"mx-2\">\n <Row >\n <Col  xs={12} sm={12} md={12} lg={8}>\n</Col>\n <Col xs={12} sm={12} md={12} lg={4}>\n <OverlayTrigger\n  placement=\"left\"\n  overlay={\n    <Popover>\n      <Popover.Body>\n       <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n      </Popover.Body>\n    </Popover>\n  }\n  >\n   <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n   </OverlayTrigger>\n <OverlayTrigger\n  placement=\"left\"\n  overlay={\n    <Popover>\n      <Popover.Body>\n       <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n      </Popover.Body>\n    </Popover>\n  }\n  >\n   <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n   </OverlayTrigger>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={(e)=>{forecasts_R0(prognose_data)}}><BsZoomOut/></Button>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart9\")}><FiDownload/></Button>\n </Col>\n </Row>\n</Container>\n<div>\n<Container style={{ height: '20rem' }}>\n  <Line id=\"chart9\" options={chartOptions_bsR0} data={chartData_bsR0} height=\"75%\" />\n</Container></div>\n</motion.div>\n       </div>\n     </Collapse>\n     <OverlayTrigger\n        placement=\"bottom\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n            <div align=\"justify\" className=\"text-black\">\n            <small>Результат реализации SEIR-HCD модели распространения COVID-19 в регионе при откалиброванных параметрах модели на каждому 14-дневном интервале по времени.</small></div>\n            </Popover.Body>\n          </Popover>\n        }>\n    <Button variant=\"outline-info\" className=\"mx-3 my-2 bg-white\" onClick={() => setOpenM(!openM)}\n      aria-controls=\"example-fade-text\"\n      aria-expanded={openM}>\n    {openM? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Моделирование</Button>\n    </OverlayTrigger>\n    <Collapse in={openM}>\n      <div id=\"example-collapse-text\">\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <h4 className=\"mx-5 my-2 text-secondary\">Кривые SEIRHCD и реальные данные</h4> </motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n        <Nav.Item >\n        <Button className=\"mx-3\" size=\"sm\" variant=\"outline-info\" onClick={(e) => {\n          res_train(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\")}} style={{color:\"#FFFFFF\"}}>\n          <Nav.Link eventKey=\"1\">Новые выявленные случаи</Nav.Link>\n        </Button>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Восприимчивые</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_train(\"S_mean\", \"S_max\", \"S_min\", \"\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"2\"><b>S</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Больные без симптомов</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"E_mean\", \"E_max\", \"E_min\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"3\"><b>E</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Больные с симптомами</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"I_mean\", \"I_max\", \"I_min\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"4\"><b>I</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Вылеченные</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"R_mean\", \"R_max\", \"R_min\", \"cum_recoveries\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"5\"><b>R</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Госпитализированные</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"H_mean\", \"H_max\", \"H_min\", \"hospitalised\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"6\"><b>H</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Критически больные</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e)=>{res_train(\"C_mean\", \"C_max\", \"C_min\", \"n_critical\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"7\"><b>C</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Умершие</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e)=>{res_train(\"D_mean\", \"D_max\", \"D_min\", \"cum_deaths\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"8\"><b>D</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n      </Nav></motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Row >\n      <Col  xs={12} sm={12} md={12} lg={8}>\n     </Col>\n      <Col xs={12} sm={12} md={12} lg={4}>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n        </OverlayTrigger>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n        </OverlayTrigger>\n\n        <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart4\")}><FiDownload/></Button>\n      </Col>\n      </Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart4\" options={chartOptionsSEIRHCD} data={chartDataSEIRHCD} height=\"90%\" /></Container></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"mx-3\"><hr />\n       <h4 className=\"mx-5 text-secondary\">Базовый индекс репродукции COVID-19 в Новосибирской области</h4></motion.div>\n       <motion.div initial=\"hidden\"\n            custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n       <Row >\n       <Col  xs={12} sm={12} md={12} lg={8}>\n      </Col>\n       <Col xs={12} sm={12} md={12} lg={4}>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n         </OverlayTrigger>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n         </OverlayTrigger>\n          <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_trainR0}><BsZoomOut/></Button>\n         <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart5\")}><FiDownload/></Button>\n       </Col>\n       </Row>\n       <Container style={{ height: '20rem' }}><Line id=\"chart5\" options={chartOptionsTrain} data={chartDataTrain} height=\"100%\" /></Container></motion.div>\n       <motion.div initial=\"hidden\"\n            custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n       <hr />\n       <h4 className=\"mx-5 text-secondary\">Восстановленные параметры модели COVID-19 для Новосибирской области</h4></motion.div>\n       <motion.div initial=\"hidden\"\n            custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n       <Row >\n       <Col  xs={12} sm={12} md={12} lg={8}>\n      </Col>\n       <Col xs={12} sm={12} md={12} lg={4}>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n         </OverlayTrigger>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n         </OverlayTrigger>\n          <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_trainP}><BsZoomOut/></Button>\n         <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart8\")}><FiDownload/></Button>\n       </Col>\n       </Row>\n       <Container style={{ height: '20rem' }}><Line id=\"chart8\" options={chartOptions_pm} data={chartData_pm} height=\"90%\" /></Container>\n       </motion.div>\n      </div>\n    </Collapse>\n    <OverlayTrigger\n       placement=\"bottom\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n           <div align=\"justify\" className=\"text-black\">\n           <small>Результат валидации SEIR-HCD модели распространения COVID-19 в регионе: по откалиброванным параметрам за предыдущий 14-дневный период реализуется базовый сценарий на 7 дней, который сравненивается с реальными данными.</small></div>\n           </Popover.Body>\n         </Popover>\n       }>\n    <Button variant=\"outline-info\" className=\"mx-3 my-2 bg-white\" onClick={() => setOpenV(!openV)}\n      aria-controls=\"example-fade-text\"\n      aria-expanded={openV}>\n    {openV? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Валидация модели</Button>\n    </OverlayTrigger>\n    <Collapse in={openV}>\n      <div id=\"example-collapse-text\">\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <h4 className=\"mx-5 my-2 text-secondary\">Кривые SEIRHCD и реальные данные</h4></motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n        <Nav.Item >\n        <Button className=\"mx-3\" size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\")}} style={{color:\"#FFFFFF\"}}>\n          <Nav.Link eventKey=\"1\">Новые выявленные случаи</Nav.Link>\n        </Button>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Восприимчивые</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"S_mean\", \"S_max\", \"S_min\", \"\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"2\"><b>S</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Больные без симптомов</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"E_mean\", \"E_max\", \"E_min\", \"new_diagnoses\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"3\"><b>E</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Больные с симптомами</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"I_mean\", \"I_max\", \"I_min\", \"new_diagnoses\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"4\"><b>I</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Вылеченные</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"R_mean\", \"R_max\", \"R_min\", \"cum_recoveries\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"5\"><b>R</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Госпитализированные</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"H_mean\", \"H_max\", \"H_min\", \"hospitalised\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"6\"><b>H</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Критически больные</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e) => {res_valid(\"C_mean\", \"C_max\", \"C_min\", \"n_critical\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"7\"><b>C</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Умершие</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e) => {res_valid(\"D_mean\", \"D_max\", \"D_min\", \"cum_deaths\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"8\"><b>D</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n      </Nav> </motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Row >\n      <Col  xs={12} sm={12} md={12} lg={8}>\n    </Col>\n      <Col xs={12} sm={12} md={12} lg={4}>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n        </OverlayTrigger>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n        </OverlayTrigger>\n        <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart6\")}><FiDownload/></Button>\n      </Col>\n      </Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart6\"options={chartOptionsSEIRHCD_v} data={chartDataSEIRHCD_v} height=\"90%\" /></Container></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}> <hr />\n<h4 className=\"mx-5 text-secondary\">Базовый индекс репродукции COVID-19 в Новосибирской области</h4></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n<Row >\n<Col  xs={12} sm={12} md={12} lg={8}>\n</Col>\n<Col xs={12} sm={12} md={12} lg={4}><OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n  </OverlayTrigger>\n<OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n  </OverlayTrigger>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_validR0}><BsZoomOut/></Button>\n  <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart3\")}><FiDownload/></Button>\n</Col>\n</Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart3\" options={chartOptions} data={chartData} height=\"90%\" /></Container></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}> <hr />\n<h4 className=\"mx-5 text-secondary\">Восстановленные параметры модели COVID-19 для Новосибирской области</h4> </motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n<Row >\n<Col  xs={12} sm={12} md={12} lg={8}>\n</Col>\n<Col xs={12} sm={12} md={12} lg={4}>\n<OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n  </OverlayTrigger>\n<OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n  </OverlayTrigger>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_validP}><BsZoomOut/></Button>\n  <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart7\")}><FiDownload/></Button>\n</Col>\n</Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart7\" options={chartOptions_p} data={chartData_p} height=\"90%\" /></Container></motion.div>\n      </div>\n    </Collapse>\n    </Card>\n    </>\n  )\n}\nexport default ModelingSEIR_HCD;\n","import canUseDOM from './canUseDOM';\nvar size;\nexport default function scrollbarSize(recalc) {\n  if (!size && size !== 0 || recalc) {\n    if (canUseDOM) {\n      var scrollDiv = document.createElement('div');\n      scrollDiv.style.position = 'absolute';\n      scrollDiv.style.top = '-9999px';\n      scrollDiv.style.width = '50px';\n      scrollDiv.style.height = '50px';\n      scrollDiv.style.overflow = 'scroll';\n      document.body.appendChild(scrollDiv);\n      size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n      document.body.removeChild(scrollDiv);\n    }\n  }\n\n  return size;\n}","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalBody = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-body');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nModalBody.displayName = 'ModalBody';\nexport default ModalBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalDialog = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  contentClassName,\n  centered,\n  size,\n  fullscreen,\n  children,\n  scrollable,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n  const dialogClass = `${bsPrefix}-dialog`;\n  const fullScreenClass = typeof fullscreen === 'string' ? `${bsPrefix}-fullscreen-${fullscreen}` : `${bsPrefix}-fullscreen`;\n  return /*#__PURE__*/_jsx(\"div\", {\n    ...props,\n    ref: ref,\n    className: classNames(dialogClass, className, size && `${bsPrefix}-${size}`, centered && `${dialogClass}-centered`, scrollable && `${dialogClass}-scrollable`, fullscreen && fullScreenClass),\n    children: /*#__PURE__*/_jsx(\"div\", {\n      className: classNames(`${bsPrefix}-content`, contentClassName),\n      children: children\n    })\n  });\n});\nModalDialog.displayName = 'ModalDialog';\nexport default ModalDialog;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalFooter = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = 'div',\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-footer');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nModalFooter.displayName = 'ModalFooter';\nexport default ModalFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalHeader = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  closeLabel = 'Close',\n  closeButton = false,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');\n  return /*#__PURE__*/_jsx(AbstractModalHeader, {\n    ref: ref,\n    ...props,\n    className: classNames(className, bsPrefix),\n    closeLabel: closeLabel,\n    closeButton: closeButton\n  });\n});\nModalHeader.displayName = 'ModalHeader';\nexport default ModalHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nconst ModalTitle = /*#__PURE__*/React.forwardRef(({\n  className,\n  bsPrefix,\n  as: Component = DivStyledAsH4,\n  ...props\n}, ref) => {\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-title');\n  return /*#__PURE__*/_jsx(Component, {\n    ref: ref,\n    className: classNames(className, bsPrefix),\n    ...props\n  });\n});\nModalTitle.displayName = 'ModalTitle';\nexport default ModalTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport removeEventListener from 'dom-helpers/removeEventListener';\nimport getScrollbarSize from 'dom-helpers/scrollbarSize';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nimport * as React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport { getSharedManager } from './BootstrapModalManager';\nimport Fade from './Fade';\nimport ModalBody from './ModalBody';\nimport ModalContext from './ModalContext';\nimport ModalDialog from './ModalDialog';\nimport ModalFooter from './ModalFooter';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable no-use-before-define, react/no-multi-comp */\nfunction DialogTransition(props) {\n  return /*#__PURE__*/_jsx(Fade, {\n    ...props,\n    timeout: null\n  });\n}\nfunction BackdropTransition(props) {\n  return /*#__PURE__*/_jsx(Fade, {\n    ...props,\n    timeout: null\n  });\n}\n\n/* eslint-enable no-use-before-define */\nconst Modal = /*#__PURE__*/React.forwardRef(({\n  bsPrefix,\n  className,\n  style,\n  dialogClassName,\n  contentClassName,\n  children,\n  dialogAs: Dialog = ModalDialog,\n  'data-bs-theme': dataBsTheme,\n  'aria-labelledby': ariaLabelledby,\n  'aria-describedby': ariaDescribedby,\n  'aria-label': ariaLabel,\n  /* BaseModal props */\n\n  show = false,\n  animation = true,\n  backdrop = true,\n  keyboard = true,\n  onEscapeKeyDown,\n  onShow,\n  onHide,\n  container,\n  autoFocus = true,\n  enforceFocus = true,\n  restoreFocus = true,\n  restoreFocusOptions,\n  onEntered,\n  onExit,\n  onExiting,\n  onEnter,\n  onEntering,\n  onExited,\n  backdropClassName,\n  manager: propsManager,\n  ...props\n}, ref) => {\n  const [modalStyle, setStyle] = useState({});\n  const [animateStaticModal, setAnimateStaticModal] = useState(false);\n  const waitingForMouseUpRef = useRef(false);\n  const ignoreBackdropClickRef = useRef(false);\n  const removeStaticModalAnimationRef = useRef(null);\n  const [modal, setModalRef] = useCallbackRef();\n  const mergedRef = useMergedRefs(ref, setModalRef);\n  const handleHide = useEventCallback(onHide);\n  const isRTL = useIsRTL();\n  bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n  const modalContext = useMemo(() => ({\n    onHide: handleHide\n  }), [handleHide]);\n  function getModalManager() {\n    if (propsManager) return propsManager;\n    return getSharedManager({\n      isRTL\n    });\n  }\n  function updateDialogStyle(node) {\n    if (!canUseDOM) return;\n    const containerIsOverflowing = getModalManager().getScrollbarWidth() > 0;\n    const modalIsOverflowing = node.scrollHeight > ownerDocument(node).documentElement.clientHeight;\n    setStyle({\n      paddingRight: containerIsOverflowing && !modalIsOverflowing ? getScrollbarSize() : undefined,\n      paddingLeft: !containerIsOverflowing && modalIsOverflowing ? getScrollbarSize() : undefined\n    });\n  }\n  const handleWindowResize = useEventCallback(() => {\n    if (modal) {\n      updateDialogStyle(modal.dialog);\n    }\n  });\n  useWillUnmount(() => {\n    removeEventListener(window, 'resize', handleWindowResize);\n    removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n  });\n\n  // We prevent the modal from closing during a drag by detecting where the\n  // click originates from. If it starts in the modal and then ends outside\n  // don't close.\n  const handleDialogMouseDown = () => {\n    waitingForMouseUpRef.current = true;\n  };\n  const handleMouseUp = e => {\n    if (waitingForMouseUpRef.current && modal && e.target === modal.dialog) {\n      ignoreBackdropClickRef.current = true;\n    }\n    waitingForMouseUpRef.current = false;\n  };\n  const handleStaticModalAnimation = () => {\n    setAnimateStaticModal(true);\n    removeStaticModalAnimationRef.current = transitionEnd(modal.dialog, () => {\n      setAnimateStaticModal(false);\n    });\n  };\n  const handleStaticBackdropClick = e => {\n    if (e.target !== e.currentTarget) {\n      return;\n    }\n    handleStaticModalAnimation();\n  };\n  const handleClick = e => {\n    if (backdrop === 'static') {\n      handleStaticBackdropClick(e);\n      return;\n    }\n    if (ignoreBackdropClickRef.current || e.target !== e.currentTarget) {\n      ignoreBackdropClickRef.current = false;\n      return;\n    }\n    onHide == null ? void 0 : onHide();\n  };\n  const handleEscapeKeyDown = e => {\n    if (keyboard) {\n      onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n    } else {\n      // Call preventDefault to stop modal from closing in @restart/ui.\n      e.preventDefault();\n      if (backdrop === 'static') {\n        // Play static modal animation.\n        handleStaticModalAnimation();\n      }\n    }\n  };\n  const handleEnter = (node, isAppearing) => {\n    if (node) {\n      updateDialogStyle(node);\n    }\n    onEnter == null ? void 0 : onEnter(node, isAppearing);\n  };\n  const handleExit = node => {\n    removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n    onExit == null ? void 0 : onExit(node);\n  };\n  const handleEntering = (node, isAppearing) => {\n    onEntering == null ? void 0 : onEntering(node, isAppearing);\n\n    // FIXME: This should work even when animation is disabled.\n    addEventListener(window, 'resize', handleWindowResize);\n  };\n  const handleExited = node => {\n    if (node) node.style.display = ''; // RHL removes it sometimes\n    onExited == null ? void 0 : onExited(node);\n\n    // FIXME: This should work even when animation is disabled.\n    removeEventListener(window, 'resize', handleWindowResize);\n  };\n  const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n    ...backdropProps,\n    className: classNames(`${bsPrefix}-backdrop`, backdropClassName, !animation && 'show')\n  }), [animation, backdropClassName, bsPrefix]);\n  const baseModalStyle = {\n    ...style,\n    ...modalStyle\n  };\n\n  // If `display` is not set to block, autoFocus inside the modal fails\n  // https://github.com/react-bootstrap/react-bootstrap/issues/5102\n  baseModalStyle.display = 'block';\n  const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n    role: \"dialog\",\n    ...dialogProps,\n    style: baseModalStyle,\n    className: classNames(className, bsPrefix, animateStaticModal && `${bsPrefix}-static`, !animation && 'show'),\n    onClick: backdrop ? handleClick : undefined,\n    onMouseUp: handleMouseUp,\n    \"data-bs-theme\": dataBsTheme,\n    \"aria-label\": ariaLabel,\n    \"aria-labelledby\": ariaLabelledby,\n    \"aria-describedby\": ariaDescribedby,\n    children: /*#__PURE__*/_jsx(Dialog, {\n      ...props,\n      onMouseDown: handleDialogMouseDown,\n      className: dialogClassName,\n      contentClassName: contentClassName,\n      children: children\n    })\n  });\n  return /*#__PURE__*/_jsx(ModalContext.Provider, {\n    value: modalContext,\n    children: /*#__PURE__*/_jsx(BaseModal, {\n      show: show,\n      ref: mergedRef,\n      backdrop: backdrop,\n      container: container,\n      keyboard: true // Always set true - see handleEscapeKeyDown\n      ,\n      autoFocus: autoFocus,\n      enforceFocus: enforceFocus,\n      restoreFocus: restoreFocus,\n      restoreFocusOptions: restoreFocusOptions,\n      onEscapeKeyDown: handleEscapeKeyDown,\n      onShow: onShow,\n      onHide: onHide,\n      onEnter: handleEnter,\n      onEntering: handleEntering,\n      onEntered: onEntered,\n      onExit: handleExit,\n      onExiting: onExiting,\n      onExited: handleExited,\n      manager: getModalManager(),\n      transition: animation ? DialogTransition : undefined,\n      backdropTransition: animation ? BackdropTransition : undefined,\n      renderBackdrop: renderBackdrop,\n      renderDialog: renderDialog\n    })\n  });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n  Body: ModalBody,\n  Header: ModalHeader,\n  Title: ModalTitle,\n  Footer: ModalFooter,\n  Dialog: ModalDialog,\n  TRANSITION_DURATION: 300,\n  BACKDROP_TRANSITION_DURATION: 150\n});","import React, {useState} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Stack} from 'react-bootstrap';\n\n\nfunction CovidDataFiles(files) {\n\n  const [isActive, setIsActive] = useState(true)\n\n  return (\n      <a href={files.file.hr} style={{'textDecoration': 'none'}}>\n        <div className={isActive ? '' : 'bg-light '}  onMouseEnter = {()=>{setIsActive(false)}}\n          onMouseLeave={()=>{setIsActive(true)}}>\n          <Row>\n            <Stack direction=\"horizontal\" gap={3}>\n              <Col lg={8} md={8} xs={8} sm={8}>\n                <Stack direction=\"horizontal\" gap={3}>\n                  <div>\n                    <Image variant=\"top\" style={{ width: '3rem' }, {height: '3rem'}} className=\"my-1\"\n                    src={files.file.img}\n                    rounded\n                    fluid/>\n                  </div>\n                  <div><small>{files.file.name}</small></div>\n                </Stack>\n              </Col>\n              <Col lg={4} md={4} xs={4} sm={4}>\n                <div>\n                  <Button variant=\"link\" className=\"text-secondary\">\n                    <small>Скачать csv</small>\n                  </Button>\n                </div>\n              </Col>\n            </Stack>\n          </Row>\n      </div>\n      </a>\n  )\n}\nexport default CovidDataFiles;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamCSV() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>официальное общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>текущее количество взрослых пациентов с диагнозом COVID-19 и с подозрением на него в инфекционных стационарах</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>всего зафиксировано случаев заражения коронавирусом у детей с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>новое количество инфицированных детей</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>текущее число госпитализированы детей с подозрением на коронавирус и подтвержденным диагнозом</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся в отделениях реанимации</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся под аппаратом ИВЛ</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>hospitalised:</small></div>\n              <div className=\"\"><small>текущее количество госпитализированных человек</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>1vac:</small></div>\n              <div className=\"\"><small>текущее количество человек, получивших одну дозу вакцины</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>2vac:</small></div>\n              <div className=\"\"><small>текущее количество человек, получивших две дозы вакцины</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>positive_percent:</small></div>\n              <div className=\"\"><small>доля инфицированных, имеющая антитела IgG к SARS-CoV-2</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>yandex_index:</small></div>\n              <div className=\"\"><small>индекс самоизоляции</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>asympt_percent:</small></div>\n              <div className=\"\"><small>текущий процент бессимптомных выявленных случаев</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>официальное общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>текущее количество взрослых пациентов с диагнозом COVID-19 и с подозрением на него в инфекционных стационарах</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>всего зафиксировано случаев заражения коронавирусом у детей с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>текущее число госпитализированы детей с подозрением на коронавирус и подтвержденным диагнозом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>новое количество инфицированных детей</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся в отделениях реанимации</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся под аппаратом ИВЛ</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamCSV;\n","import React, {useState} from \"react\";\nimport {Container, Card, Image, Col, Row, Table, Modal, Button, Popover, OverlayTrigger, Stack} from 'react-bootstrap';\nimport fblok from \"./../images/fblok.png\"\nimport model from \"./../images/model.png\"\nimport sblok from \"./../images/sblok.png\"\nimport { motion } from \"framer-motion\"\nimport CovidDataFiles from './CovidDataFiles'\nimport CollapseParamCSV from './CollapseParamCSV'\nimport AltayG from \".././images/gerbs/Altay_region_gerb.png\"\nimport OmskG from \".././images/gerbs/Omsk_region_gerb.png\"\nimport HSKG from \".././images/gerbs/Novosibirsk_region_gerb.png\"\n\n\nimport {BsFillPersonLinesFill} from 'react-icons/bs'\n\nconst Description_AOM = () => {\n\n  const [show, setShow] = useState(false);\n  const handleClose = () => setShow(false);\n  const handleShow = () => setShow(true)\n  const [show1, setShow1] = useState(false);\n  const handleClose1 = () => setShow1(false);\n  const handleShow1 = () => setShow1(true);\n\n  const files = [\n    {id: 1, name: 'Новосибирская область', hr: 'https://ai-biolab.ru/data/novosibirsk-region-data.csv', img: HSKG },\n    {id: 2, name: 'Омская область', hr: 'https://ai-biolab.ru/data/omsk-region-data.csv', img: OmskG},\n    {id: 3, name: 'Алтайский край', hr: 'https://ai-biolab.ru/data/altay-region-data.csv', img: AltayG},\n  ]\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: -100,\n   },\n  }\n\n    return (\n      <>\n      <Row >\n         <Col sm={12} xs={12} md={12} lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border mx-3 my-1 shadow1\">\n           <Card.Header className=\"text-success\">1. Инициация популяции</Card.Header>\n           <Card.Body>\n           <p align=\"justify\"><small >Формируются четыре структуры контактов, в которых могут находиться агенты в зависимости от возраста 0-9,10-19, …, 80+ лет.</small></p>\n           <Image\n           src={fblok}\n           rounded\n           fluid\n           onClick={handleShow1}\n           />\n           <Modal show={show1} onHide={handleClose1} animation={true}>\n           <Image\n           src={fblok}\n           rounded\n           fluid\n           />\n            </Modal>\n           </Card.Body></Card> </motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border mx-3 my-1 shadow1\">\n             <Card.Header className=\"text-white bg-success\">2. Заражение</Card.Header>\n             <Card.Body align=\"justify\">\n             <div><small> Предполагается, что вирус передается между агентами, соединенными ребром графа. Заражение при близком контакте описывается кусочно-постоянным параметром <i className=\"text-danger\">{'\\u03B2'}</i>.</small></div>\n             <div className=\"my-3\"><Image\n             src={sblok}\n             rounded\n             fluid\n\n             /></div>\n                <div><small><div className=\"text-success\">Пример:</div> Домохозяйства - заполняются агентами согласно статистическим данным о\n           среднем размере семьи в регионе.</small></div>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n             <Card className=\"border shadow1 my-1 mx-3\">\n               <Card.Header className=\"text-center text-white bg-success\">Данные</Card.Header>\n                 <Card.Body align=\"center\">\n                 <Stack gap={3}>\n                   {files.map((file) =>\n                       <CovidDataFiles key = {file.id} file = {file}/>\n                   )}\n                    <CollapseParamCSV/>\n                  </Stack>\n                 </Card.Body>\n               </Card></motion.div>\n           </Col>\n         <Col sm={12} xs={12} md={12}  lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border my-1 mx-3 shadow1\">\n           <Card.Header className=\"text-white bg-success\"><BsFillPersonLinesFill size={30}/>   Параметры агентов</Card.Header>\n           <Card.Body align=\"left\">\n           <Row >\n            <Col><div>Не зависят от времени:</div>\n            <small>\n            <div>• возраст</div>\n            <div>• пол</div>\n            <div>• социальный статус</div>\n            <div>• прогрессирование заболевания</div></small></Col>\n            <Col><div>Зависят от времени:</div>\n            <small>\n            <div>• эпид. статус:</div>\n            <div>𝑆, 𝐸, 𝐼, 𝑅, 𝐻, 𝐶, 𝐷, 𝐴, 𝑀<OverlayTrigger\n               placement=\"bottom\"\n               overlay={\n                 <Popover>\n                   <Popover.Body>\n                   <small className=\"text-success\">\n                     <div>S – восприимчивые к заражению</div>\n                     <div>E – зараженные незаразные</div>\n                     <div>𝐼 – инфицированные</div>\n                     <div>R – вылечившиеся</div>\n                     <div>H – госпитализированные</div>\n                     <div>C – больные в критическом состоянии</div>\n                     <div>D – умершие</div>\n                     <div>A - бессимптомные больные</div>\n                     <div>M -  больные в легкой форме</div> </small>\n                   </Popover.Body>\n                 </Popover>\n               }>\n              <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                </OverlayTrigger>\n            </div>\n            <div>• шанс быть протестированным</div>\n            </small></Col>\n          </Row>\n          <div align=\"justify\"><small>В зависимости от возраста агенты\n          контактируют друг с другом в контактных сетях, представляющие собой полносвязные графы.</small></div>\n           </Card.Body></Card></motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border shadow1 my-1 mx-3\">\n             <Card.Header className=\"text-success\">3. Прогрессирование заболевания</Card.Header>\n             <Card.Body>\n             <Image\n\n             src={model}\n             rounded\n             fluid\n             onClick={handleShow}\n             />\n             <Modal show={show} onHide={handleClose} animation={true}>\n             <Image\n\n             src={model}\n             rounded\n             fluid\n             />\n              </Modal>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n             <Card className=\"border my-1 shadow1 mx-3\">\n               <Card.Header className=\"text-success bg-light\">4. Тестирование агентов</Card.Header>\n               <Card.Body align=\"justify\">\n               <div><small>Проводится согласно ежедневным статистическим данным о количестве проведенных тестов в регионе. Шанс быть протестированным\nна COVID-19 <i>{'\\u03C1'}</i> зависит от эпидемиологического статуса агента и определяется в ходе решения обратной задачи. Положительный результат\nмогут получить агенты, статус которых обведен в оранжевую рамку. В модели предполагается, что вероятность\nтестирования агентов с симптомами выше, чем у бессимптомных больных.</small></div>\n\n               </Card.Body></Card></motion.div>\n               <motion.div  initial=\"hidden\" custom={1}\n                 variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n               <Card className=\"border shadow1 my-1 mx-3\">\n                 <Card.Header className=\"text-white bg-success\">5. Введение сдерживающих эпидемию мер</Card.Header>\n                 <Card.Body align=\"justify\">\n                   <div><small>В модели возможно введение карантинных мер как для всех контактных слоев, так и для каждого в отдельности.\n    Это может быть сделано двумя способами: либо изменением значения параметра контагиозности вируса <i className=\"text-danger\">{'\\u03B2'}</i> (в случае введения обязательной меры ношения масок или социального дистанцирования), либо удалением ребер в графах сетей контактов (в случае введения самоизоляции\n    и дистанционной работы).</small></div>\n\n                 </Card.Body></Card></motion.div>\n           </Col>\n       </Row>\n      </>\n    )\n}\n\nexport default Description_AOM;\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Form, ListGroup, FormControl, Stack,\nOverlayTrigger, Popover, InputGroup, ProgressBar, Spinner, Tabs, Tab, Collapse, Carousel, Alert, Modal, ButtonGroup,\nDropdownButton, Dropdown} from 'react-bootstrap';\nimport { CLoadingButton } from '@coreui/react-pro'\nimport axios from \"axios\"\nimport FileDownload from \"js-file-download\"\nimport { Formik } from \"formik\";\nimport * as yup from \"yup\";\nimport {FiDownload } from 'react-icons/fi'\nimport {BsFillFileEarmarkPdfFill, BsFillArrowUpRightSquareFill, BsFillCaretRightFill, BsFillCaretDownFill,\nBsFillPersonLinesFill, BsExclamationLg, BsInfo} from 'react-icons/bs'\nimport {FcSearch} from 'react-icons/fc'\nimport NaviBarv2 from './Components/NaviBarv2';\nimport {BsZoomIn} from 'react-icons/bs'\nimport { motion } from \"framer-motion\"\n\nimport { DownloadCount } from 'axios-progress-bar'\n\nimport ModelingSEIR_HCD from './ModelingSEIR_HCD'\nimport Description_AOM from './Components/Description_AOM'\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\n\nimport Footer from './Components/Footer'\n\nimport {\n  Chart as ChartJS,\n  PointElement,\n  Filler,\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n} from 'chart.js';\n\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\n\nChartJS.register(\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n  PointElement,\n  Filler,\n);\n\nChartJS.register(zoomPlugin);\n\n\n\nconst download_article=(e)=>{\n   e.preventDefault()\n   axios({\n     url:\"https://server.ai-biolab.ru/article\",\n     method: \"GET\",\n     responseType:\"blob\"\n   }).then((resA)=>{\n     FileDownload(resA.data, \"article.pdf\")\n   })\n}\n\nconst schema = yup.object().shape({\n  population: yup.number().min(1000000).max(8000000).typeError(\"требуется числовое значение\").required(\"обязательное поле\"),\n  n_future: yup.number().min(10).max(100).typeError(\"требуется числовое значение\").required(\"обязательное поле\"),\n  init_infected: yup.number().min(10).max(100).typeError(\"требуется числовое значение\").required(\"обязательное поле\"),\n});\n\nexport function Modeling(){\n\n  const [population_data, setPopulation_data] = useState(2798170)\n  const [region_data, setRegion_data] = useState(1)\n  const [region_name, setRegion_name] = useState(\"Новосибирская область\")\n  const [n_future_day, setN_future_day] = useState(45)\n  const [init_inf, setInit_inf] = useState(20)\n\n  const download_chart=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const cancelToken = useRef();\n\n  const run_msim_ = (e) => {\n    e.preventDefault()\n    var now = new Date().toLocaleDateString();\n    setWithspinner(true)\n    setIsrunning(true)\n    cancelToken.current = axios.CancelToken.source();\n  axios({\n      url:'https://server.ai-biolab.ru/data',\n      method: \"POST\",\n      responseType:\"blob\",\n      data: {population_data, region_data, n_future_day, init_inf},\n      cancelToken: cancelToken.current.token\n    }).then((res)=>{\n         setWithspinner(false)\n         setIsrunning(false)\n         initchart()\n      })\n  }\n\n   const break_get = () => {\n     setWithspinner(false)\n     setIsrunning(false)\n     cancelToken.current.cancel();\n   }\n\n    const [chartData_all, setChartData_all] = useState({\n      datasets: [],\n    })\n    const [initchartData_all, setINITChartData_all] = useState({\n      datasets: [],\n    })\n    const [chartOptions, setChartOptions] = useState({})\n    const [isrunning, setIsrunning] = useState(false)\n\n    let cov_data = [];\n    let cov_nd = [];\n    let cov_nd_high = []\n    let cov_nd_state=[];\n    let cov_data_state=[];\n    const [data, setData] = useState(cov_data)\n    const [data_cov_nd_high, setData_cov_nd_high] = useState(cov_nd_high)\n    const [data_cov_nd, setData_cov_nd] = useState(cov_nd)\n\n    let cov_cum_diag = [];\n    let cov_cum_diag_high = [];\n    const [data_cov_cum_diag_high, setData_cov_cum_diag_high] = useState(cov_cum_diag_high)\n    const [data_cov_cum_diag, setData_cov_cum_diag] = useState(cov_cum_diag)\n\n    let cov_new_death= [];\n    let cov_new_death_high = [];\n    const [data_cov_new_death_high, setData_cov_new_death_high] = useState(cov_new_death_high)\n    const [data_new_death, setData_cov_new_death] = useState(cov_new_death)\n\n    let cov_new_rec= [];\n    let cov_new_rec_high = [];\n    const [data_cov_new_rec_high, setData_cov_new_rec_high] = useState(cov_new_rec_high)\n    const [data_new_rec, setData_cov_new_rec] = useState(cov_new_rec)\n\n    let cov_new_crit= [];\n    let cov_new_crit_high = [];\n    const [data_cov_new_crit_high, setData_cov_new_crit_high] = useState(cov_new_crit_high)\n    const [data_new_crit, setData_cov_new_crit] = useState(cov_new_crit)\n\n\n    const [someerrors, setSomeerrors] = useState(false)\n    const [loadingprosses, setLoadingprosses] = useState(true)\n    const [chartnum, setChartnum] = useState(1)\n    //1-5 - chart\n    //6-10 - init chart\n\n    const real_data1=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"cредний прогноз\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"максимальный прогноз\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data2=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.001,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data3=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data4=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"cредний прогноз\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"максимальный прогноз\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data5=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"cредний прогноз\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n    const real_data6=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"cредний прогноз\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"максимальный прогноз\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data7=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data8=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data9=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"cредний прогноз\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"максимальный прогноз\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data10=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"cредний прогноз\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n\n    const initchart = () => {\n      setChartnum(6)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n          ],\n          });\n          setChartOptions({\n             maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев заражений\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n          setnewChart(false)\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_cumdiag = () => {\n      setChartnum(7)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз суммарного количества заражений\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_newdeath = () => {\n      setChartnum(8)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз летальных исходов\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_rec = () => {\n      setChartnum(9)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев выздоровления\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_crit = () => {\n      setChartnum(10)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз количества больных в критическом состоянии\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    const chart = () => {\n      setChartnum(1)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          setLoadingprosses(false)\n          setSomeerrors(false)\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {\n                     enabled: true\n                   },\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев заражения\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                position: \"top\",\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          setLoadingprosses(false)\n          setSomeerrors(true)\n          console.log(err);\n        });\n    };\n    const chart_cumdiag = () => {\n      setChartnum(2)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз суммарного количества заражений\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_newdeath = () => {\n      setChartnum(3)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз летальных исходов\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_rec = () => {\n      setChartnum(4)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев выздоровления\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_crit = () => {\n      setChartnum(5)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз количества больных в критическом состоянии\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    useEffect(() => {\n      real_data1();\n    }, [])\n\n    useEffect(() => {\n      chart();\n    }, [])\n\n  const [withspinner, setWithspinner] = useState(false)\n  const [newChart, setnewChart] = useState(true) /////true\n  const [open, setOpen] = useState(false);\n  const [reset, setReset] = useState(true);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      x: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      x: -100,\n   },\n  }\n\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n  return(\n  <>\n  <NaviBarv2 />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n        <Tabs  justify defaultActiveKey=\"AOM\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"AOM\" title=\"Агентная модель\">\n          <Card className=\"text-center mx-auto\" border=\"light\" bg=\"light\">\n          <Row >\n            <Col md={2} >\n            <Row >\n              <Col xs= {12}  lg={12}>    <Button\n                    variant=\"outline-primary\"\n                    className=\"bg-white shadow1 text-primary my-2 mx-2\"\n                    onClick={() => setOpen(!open)}\n                    aria-controls=\"example-fade-text\"\n                    aria-expanded={open}\n                  >  {open? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Описание модели\n                  </Button></Col>\n              <Col xs= {12} lg={12}>\n\n              <OverlayTrigger\n                rootClose={true}\n                 placement=\"bottom\"\n                 ref={(ref) => this.overlay = ref}\n                 overlay={\n                   <Popover className=\"shadow1\">\n                     <Popover.Body>\n                     <div align=\"center\" className=\"text-black\">\n                     Моделирование сценариев распространения Covid-19 в Республике Казахстан на основе регуляризации агентной модели.</div>\n                     <small  align=\"center\" className=\"text-success\"><div>О.И. Криворотько</div>\n                     <div>С.И. Кабанихин</div>\n                      <div>М.А. Бектемесов</div>\n                        <div>М.И. Сосновская</div>\n                          <div>А.В.Неверов</div></small>\n                     </Popover.Body>\n                   </Popover>\n                 }>\n                <Button variant=\"link\" onClick={(e)=>{\n                download_article(e)\n                document.body.click(e)\n                this.overlay.hide()\n                }}><BsFillFileEarmarkPdfFill size={30}/></Button>\n                  </OverlayTrigger>\n                  <OverlayTrigger\n                  rootClose={true}\n                     placement=\"bottom\"\n                     ref={(ref) => this.overlay = ref}\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                         <div align=\"center\" className=\"text-success\">\n                         <div><small>Публикация в журнале Моделирование инфекционных заболеваний.</small></div>\n                         <div className=\"text-black\">Агентное моделирование вспышек COVID-19 в штате Нью-Йорк и Великобритании: алгоритм идентификации параметров</div>\n                         <div><small>О.И. Криворотько</small></div>\n                         <div><small>М.И. Сосновская</small></div>\n                         <div><small>И.А. Ващенко</small></div>\n                         <div><small>CliffKerr</small></div>\n                         <div><small>DanielLesnic</small></div>\n                    </div>\n                         </Popover.Body>\n                       </Popover>\n                     }>\n                    <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798\"><Button variant=\"link\" onClick={(e)=>{\n                    document.body.click(e)\n                    this.overlay.hide()\n                    }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                      </OverlayTrigger>\n                      <OverlayTrigger\n                      rootClose={true}\n                      ref={(ref) => this.overlay = ref}\n                         placement=\"bottom\"\n                         overlay={\n                           <Popover className=\"shadow1\">\n                             <Popover.Body>\n                             <div align=\"center\" className=\"text-success\">\n                             <div><small>Препринт 300 СО РАН, института математики им. С.Л.Соболева.</small></div>\n                             <div className=\"text-black\">Математические модели распространения COVID-19.</div>\n                              <div><small>О.И. Криворотько</small></div>\n                              <div><small>С.И. Кабанихин</small></div>\n                        </div>\n                             </Popover.Body>\n                           </Popover>\n                         }>\n                          <a href=\"https://arxiv.org/pdf/2112.05315.pdf\"><Button variant=\"link\" onClick={(e)=>{\n                          document.body.click(e)\n                          this.overlay.hide()\n                          }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                          </OverlayTrigger>\n                          </Col>\n                          </Row>\n          </Col>\n          <Col md={10} >\n        <Card className=\"my-3 shadow1\">  <p align=\"justify\" className=\"mx-3 my-1\"><small>Прогнозирование производится посредством агентной модели расчета сценариев динамики выявленных случаев\nCOVID-19, в основе которой лежат обработка неполных эпидемиологических данных и решение обратной задачи восстановления параметров агентной\nмодели по совокупности доступных эпидемиологических данных. Основным инструментом построения модели является открытая библиотека <a href=\"https://docs.idmod.org/projects/covasim/en/latest/index.html\" >COVASIM</a>. </small></p></Card>\n<div className=\"mx-2\"><hr /></div>\n      </Col>\n        </Row>\n          <Collapse in={open}>\n            <div id=\"example-collapse-text\" className=\"my-2\">\n                <Description_AOM />\n            </div>\n          </Collapse>\n          <Row >\n            <Col sm={12} xs={12} md={12} lg={4}>\n            <motion.div initial=\"hidden\"\n               custom={1}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n              <ListGroup className = \"mx-3 my-1 shadow1\">\n              <OverlayTrigger\n               placement=\"right\"\n               overlay={\n                <Alert variant=\"danger\">\n                  <h6>Пожалуйста, не обновляйте станицу</h6>\n                  <small>при введении параметров и после запуска модели, </small>\n                  <div><small>в противном случае расчёты будут прерваны</small></div>\n                </Alert>\n\n               }\n               >\n                <ListGroup.Item align=\"left\" className=\"bg-secondary text-white\">Параметры моделирования\n                <BsExclamationLg />\n\n                </ListGroup.Item>\n                </OverlayTrigger>\n                <ListGroup.Item variant=\"light\">\n                <Row >\n                  <Col sm={12} sm={12} xs={12} md={12} lg={7} >\n                  <Stack gap={0}>\n                  <div>\n                <Stack direction=\"horizontal\" gap={3}>\n                <div > <p align=\"left\" className=\"my-3 text-black text-small\"><small>Регион</small></p></div>\n\n                    <div>\n                    <OverlayTrigger\n                     placement=\"right\"\n                     overlay={\n                       <Popover>\n                         <Popover.Body>\n                           Регион для построения сценария развития заболевания.\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                        <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                      </OverlayTrigger>\n                    </div>\n              </Stack>\n                  </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={2}>\n                  <div > <p align=\"left\" className=\"my-2 text-black text-small\"><small>Численность популяции</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                         Количество агентов - людей, восприимчивых к заболеванию.\n                         <hr />\n                         <small className=\"text-muted\">от 1 000 000 до 8 000 000</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={0}>\n                  <div > <p align=\"left\" className=\" text-black text-small\"><small>Начально инфицированных</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                         Количество начально инфицированных человек.\n                         <hr />\n                         <small className=\"text-muted\">от 10 до 100 человек</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={3}>\n                  <div > <p align=\"left\" className=\" my-2 text-black text-small\"><small>Дней прогнозирования</small></p></div>\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                        На сколько дней вперед строится сценарий развития заболевания.\n                        <hr />\n                        <small className=\"text-muted\">от 10 до 100 дней</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                <Row >\n                      <Col sm={6}></Col>\n                      <Col sm={6}>  <Button variant=\"secondary\" align=\"end\" className=\" my-3 text-white shadow1\" disabled={!isrunning} onClick={break_get}>Прервать</Button></Col>\n                </Row>\n                    </div>\n                  </Stack>\n              </Col>\n                  <Col sm={12} sm={12} xs={12} md={12} lg={5}>\n                  <Formik\n                        validationSchema={schema}\n                        onChange={(e) => setPopulation_data(e.target.values.population)}\n                        onSubmit={(values, actions) => {\n                            setTimeout(() => {\n                           alert(JSON.stringify(values, null, 2));\n                           actions.setSubmitting(false);\n                         }, 1000);\n                       }}\n                        initialValues={{\n                          population:  population_data,\n                          init_infected: init_inf,\n                          n_future: n_future_day,\n                          lastName: '3',\n                        }}\n                      >\n                        {({ handleSubmit, handleChange, handleBlur, values, touched, isValid, errors, resetForm, setFieldValue}) => (\n                <Form noValidate>\n                  <Stack gap={3}>\n                      <Form.Select aria-label=\"Default select example\"\n                        type=\"number\"\n                        name=\"region\"\n                        isValid={true}\n                        onChange={(e) => {\n                          const selectedRegion = e.target.value;\n                          let sregion = Number(selectedRegion)\n                          setRegion_data(sregion)\n                          if(sregion == 1){\n                            setRegion_name(\"Новосибирская область\")\n                            setPopulation_data(2798170)\n                            setFieldValue(\"population\", 2798170)\n                          } else if(sregion == 2) {\n                            setRegion_name(\"Омская область\")\n                            setPopulation_data(578698)\n                            setFieldValue(\"population\", 1879548)\n                          } else if(sregion == 3) {\n                            setRegion_name(\"Алтайский край\")\n                            setPopulation_data(2268179)\n                            setFieldValue(\"population\", 2268179)\n                          }\n                        }}\n                        >\n                            <option value=\"1\">Новосибирская область</option>\n                            <option value=\"2\">Омская область</option>\n                            <option value=\"3\">Алтайский край</option>\n                      </Form.Select>\n                      <Form.Group key={1} as={Col} controlId=\"validationFormik01\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"population\"\n                          value={values.population}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.population}\n                          isInvalid={!!errors.population}\n                          onSubmit={setPopulation_data(values.population)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={2} as={Col} controlId=\"validationFormik04\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"init_infected\"\n                          value={values.init_infected}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.init_infected}\n                          isInvalid={!!errors.init_infected}\n                          onSubmit={setInit_inf(values.init_infected)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={3} as={Col} controlId=\"validationFormik02\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"n_future\"\n                          value={values.n_future}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.n_future}\n                          isInvalid={!!errors.n_future}\n                          onSubmit={setN_future_day(values.n_future)}\n                        />\n                      </Form.Group>\n\n                        <Button  type=\"submit\"  variant=\"success\" className=\"shadow1\"\n                          disabled={!isValid || isrunning}\n                          onSubmit={handleSubmit}\n                          onClick={(e) => run_msim_(e)}\n                        >\n                        {withspinner ? <Spinner\n                          as=\"span\"\n                          animation=\"border\"\n                          size=\"sm\"\n                          role=\"status\"\n                          aria-hidden=\"true\"\n                        /> : null } Запустить</Button>\n                  </Stack>\n                  </Form>\n                )}\n\n              </Formik>\n                </Col>\n                {withspinner ? <small className=\"text-muted\"><small> ...ожидаемое время расчёта: 1 минута </small></small> : null }\n            </Row>\n            </ListGroup.Item>\n        </ListGroup>\n         </motion.div>\n            </Col>\n            <Col sm={12} xs={12} md={12} lg={8}>\n            <Container>\n            <Stack>\n      <div className=\"ms-auto\">\n              <motion.div initial=\"hidden\"\n                 custom={1}\n                variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            {chartnum == 1 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data1(e)}>Показать данные</Button> : null}\n            {chartnum == 2 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data2(e)}>Показать данные</Button> : null}\n            {chartnum == 3 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data3(e)}>Показать данные</Button> : null}\n            {chartnum == 4 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data4(e)}>Показать данные</Button> : null}\n            {chartnum == 5 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data5(e)}>Показать данные</Button> : null}\n\n            {chartnum == 6 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data6(e)}>Показать данные</Button> : null}\n            {chartnum == 7 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data7(e)}>Показать данные</Button> : null}\n            {chartnum == 8 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data8(e)}>Показать данные</Button> : null}\n            {chartnum == 9 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data9(e)}>Показать данные</Button> : null}\n            {chartnum == 10 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data10(e)}>Показать данные</Button> : null}\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n              </OverlayTrigger>\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\" mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n              </OverlayTrigger>\n              <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e)}><FiDownload/></Button>\n              </motion.div>\n              </div></Stack>\n              {loadingprosses ? <div style={{\n                      height: '400px'}}><Spinner style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n              someerrors ?   <div style={{\n                      height: '350px' }}><Alert variant=\"danger\" className=\"my-5\"> <Alert.Heading>Ошибка загрузки</Alert.Heading>\n              Сервер временно не отвечает, пожалуйста, <Alert.Link href=\"/modeling\">обновите страницу</Alert.Link> или повторите попытку позже.\n              <hr /> </Alert> </div> :\n\n   newChart? <div style={{ height: '25rem' }}><Line id=\"chart\" data={chartData_all} options={chartOptions} height=\"150%\" /></div> : <div ><Line id=\"chart\" options={chartOptions} data={initchartData_all} height=\"150%\" /></div>}\n   <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} animate=\"visible\" viewport={{amount: 0.1, once: true}}>\n   {newChart? <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n     <Nav.Item >\n     <Button className=\"shadow3\" size=\"sm\" variant=\"outline-info\" onClick = {chart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Заражения</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"2\">Суммарная заболеваемость</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\"  onClick = {chart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"3\">Смертность</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Выздоровления</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {chart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Критические</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav> : null} </motion.div>\n\n   {newChart? null : <Nav variant=\"pills\" defaultActiveKey=\"1\" className=\"my-2 \">\n     <Nav.Item >\n     <Button className=\"shadow3\" className=\"chart3\" size=\"sm\" variant=\"outline-info\" onClick = {initchart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Заражения</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {initchart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"2\">Суммарная заболеваемость</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\"  onClick = {initchart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"3\">Смертность</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Выздоровления</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Критические</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav>}\n            </Container>\n            </Col>\n          </Row>\n        </Card>\n          </Tab>\n          <Tab eventKey=\"SEIR-HCD\" title=\"SEIR-HCD\">\n            <ModelingSEIR_HCD />\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer />\n  </>\n)}\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamInvitro() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n          <Stack gap={16} >\n          Данные предоставлены компанией Инвитро:\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>positive_percent:</small></div>\n              <div className=\"\"><small >доля инфицированных, имеющая антитела IgG к SARS-CoV-2</small></div>\n            </Stack></div>\n          </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamInvitro;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamOmsk() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>официальное общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>текущее количество взрослых пациентов с диагнозом COVID-19 и с подозрением на него в инфекционных стационарах</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>всего зафиксировано случаев заражения коронавирусом у детей с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>текущее число госпитализированы детей с подозрением на коронавирус и подтвержденным диагнозом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>новое количество инфицированных детей</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся в отделениях реанимации</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся под аппаратом ИВЛ</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamOmsk;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamAltay() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>vent:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся под аппаратом ИВЛ</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>официальное общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>текущее количество взрослых пациентов с диагнозом COVID-19 и с подозрением на него в инфекционных стационарах</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>всего зафиксировано случаев заражения коронавирусом у детей с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>текущее число госпитализированы детей с подозрением на коронавирус и подтвержденным диагнозом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>новое количество инфицированных детей</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся в отделениях реанимации</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся под аппаратом ИВЛ</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamAltay;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamNSKsmall() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся в отделениях реанимации</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>1vac:</small></div>\n              <div className=\"\"><small>текущее количество человек, получивших одну дозу вакцины</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>2vac:</small></div>\n              <div className=\"\"><small>текущее количество человек, получивших две дозы вакцины</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>positive_percent:</small></div>\n              <div className=\"\"><small>доля инфицированных, имеющая антитела IgG к SARS-CoV-2</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>yandex_index:</small></div>\n              <div className=\"\"><small>индекс самоизоляции</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>asympt_percent:</small></div>\n              <div className=\"\"><small>текущий процент бессимптомных выявленных случаев</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamNSKsmall;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamAltaysmoothed() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>текущая дата в формате YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >количество новых выявленных случаев заражения коронавирусом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>официальное общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>общее число выявленных случаев заражения коронавирусом за всё время пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>количество новых случаев выздоровления человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>всего выздоровело человек с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>количество новых смертей от коронавируса</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>всего умерших от коронавируса  с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>всего проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>количество новых проведённых тестов на коронавирус в регионе</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>текущее количество взрослых пациентов с диагнозом COVID-19 и с подозрением на него в инфекционных стационарах</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>всего зафиксировано случаев заражения коронавирусом у детей с начала пандемии</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>текущее число госпитализированы детей с подозрением на коронавирус и подтвержденным диагнозом</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>новое количество инфицированных детей</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся в отделениях реанимации</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>текущее количество человек, находящихся под аппаратом ИВЛ</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamAltaysmoothed;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseMSDeath_data() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n        Описание данных\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n          <Container className=\"mx-auto\">Данные по захоронениям в Новосибирске Муниципальной информационной системы \"Ритуал\" (Мэрия города Новосибирска), предоставленные\n          директором Центра по взаимодействию с органами власти и индустриальными партнерами Новосибирского государственного университета, к.ф.-м.н. А.Н. Люлько, смещенные на 2 дня назад.\n          </Container>\n          </div>\n        )}\n      </Overlay>\n\n    </div>\n  </div>\n  </>\n  );\n}\n\nexport default CollapseMSDeath_data;\n","import React, {useState} from \"react\";\nimport axios from \"axios\";\nimport NaviBarv2 from './Components/NaviBarv2';\nimport {Container, Row, Col, Card, Stack, Popover, OverlayTrigger, Image, Button } from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\nimport CollapseParamCSV from './Components/CollapseParamCSV'\nimport CollapseParamInvitro from './Components/CollapseParamInvitro'\nimport CollapseParamOmsk from './Components/CollapseParamOmsk'\nimport CollapseParamAltay from './Components/CollapseParamAltay'\nimport CollapseParamNSKsmall from './Components/CollapseParamNSKsmall'\nimport CollapseParamAltaysmoothed from './Components/CollapseParamAltaysmoothed'\nimport CollapseMSDeath_data from './Components/CollapseMSDeath_data'\nimport RussiaG from \"./images/gerbs/Russia_gerb.png\"\nimport MoscowG from \"./images/gerbs/Moscow_gerb.png\"\nimport SpbG from \"./images/gerbs/Spb_gerb.png\"\nimport AltayG from \"./images/gerbs/Altay_region_gerb.png\"\nimport OmskG from \"./images/gerbs/Omsk_region_gerb.png\"\nimport HSKG from \"./images/gerbs/Novosibirsk_region_gerb.png\"\nimport {BsDownload} from 'react-icons/bs'\nimport Footer from './Components/Footer'\n\nexport function Data (){\n  const [open, setOpen] = useState(false);\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n  return(\n    <>\n    <NaviBarv2 />\n    <Container className=\"my-3\"   style={{height: \"120%\" }}>\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\">\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Данные по России</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={RussiaG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n <a href=\"https://ai-biolab.ru/data/rus-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Полные</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV/></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/rus-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG-Антитела</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Данные по Новосибирской области</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={HSKG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Полные</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV/></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={3} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data-small.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Сокращенные</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamNSKsmall /></Card.Footer>\n            </Card>\n              </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/novosibirsk-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG-Антитела</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/new_deaths_Nsk_form_burial_statistics.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Захоронения</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer> <CollapseMSDeath_data /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Данные по Москве</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={MoscowG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/mos_data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Полные</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV/></Card.Footer>\n                </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/mos-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG-Антитела</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Данные по Санкт-Петербургу</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={SpbG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/spb_data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Полные</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV/></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/spb-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG-Антитела</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro /></Card.Footer>\n                </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Данные по Омской области</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n          <div className=\"\">\n            <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n            src={OmskG}\n            rounded\n            fluid/>\n         </div>\n         </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1 \">\n              <a href=\"https://ai-biolab.ru/data/omsk-region-data.csv\" style={{'textDecoration': 'none'}}  >\n              <Card.Body className=\"datacardcol\">\n                <Card.Title><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Полные</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamOmsk /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3\"><hr />\n         <Row>\n         <Col xs={8} md={10} lg={10}>\n          <div><h4 className=\"mx-5 text-secondary\">Данные по Алтайскому краю</h4></div>\n         </Col>\n         <Col xs={4} md={2} lg={2}>\n           <div className=\"\">\n           <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n           src={AltayG}\n           rounded\n           fluid\n           />\n           </div>\n         </Col>\n         </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n      <Col xs= {12} md={6} lg={3}>\n      <motion.div initial=\"hidden\"\n           custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n          <Card className=\"shadow1 my-1\">\n        <a href=\"https://ai-biolab.ru/data/altay-region-data.csv\" style={{'textDecoration': 'none'}} >\n        <Card.Body className=\"datacardcol\">\n<Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Полные</h5></Card.Title>\n        </Card.Body></a>\n        <Card.Footer><CollapseParamAltay /></Card.Footer>\n      </Card></motion.div></Col>\n      <Col xs= {12} md={6} lg={3}>\n      <motion.div initial=\"hidden\"\n           custom={3}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n      <Card className=\"shadow1 my-1\">\n      <a href=\"https://ai-biolab.ru/data/altay-region-data-smoothed.csv\" style={{'textDecoration': 'none'}} >\n        <Card.Body className=\"datacardcol\">\n<Card.Title><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Сглаженные</h5></Card.Title>\n        </Card.Body></a>\n        <Card.Footer><CollapseParamAltaysmoothed /></Card.Footer>\n      </Card></motion.div></Col>\n     </Row>\n\n     <motion.div initial=\"hidden\"\n          custom={2}\n         variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-auto my-5\">\n         </motion.div>\n      </Container>\n      <Footer />\n    </>\n  )\n}","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab,ListGroup} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst NewsData = (props) => {\n\n  \n\n  return (\n    <Tab.Pane eventKey={props.item.eventKey}>\n      <div className=\"mx-3 my-3\">\n      \n    </div>\n    <ListGroup className=\"justify-content-md-center\" align='center' as=\"ol\" variant=\"flush\" style={{width:\"100%\"}} >\n   \n   <Row xs={1} md={3} > { props.item.list.map((item) =>\n                  <ListGroup as=\"li\">\n                  <a  style={{'textDecoration': 'none'}}>\n                          <Card.Body className=\"pubcardcol my-3\">\n                          <Card.Title ><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>{item.name} </h5></Card.Title>\n                          </Card.Body></a>\n                          </ListGroup> \n              )} \n              </Row>\n    </ListGroup>\n  </Tab.Pane>\n  \n  );\n};\nexport default NewsData;","import React from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\n    OverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Footer from './Components/Footer' ;\nimport NaviBarv2 from './Components/NaviBarv2';\nimport sem_a from \"./images/news/sem_a.PNG\"\nimport sem_b from \"./images/news/sem_b.PNG\"\nimport sem_c from \"./images/news/sem_c.PNG\"\nimport conf_a from \"./images/news/conf_a.PNG\"\nimport NewsData from './Components/NewsData'\nimport conf_b from \"./images/news/conf_b.PNG\"\nimport life_a from \"./images/news/life_a.PNG\"\nimport life_b from \"./images/news/life_b.PNG\"\nimport life_c from \"./images/news/life_c.PNG\"\nimport conf_c from \"./images/news/conf_c.PNG\"\nimport conf_e from \"./images/news/conf_e.PNG\"\nimport conf_d from \"./images/news/conf_d.PNG\"\nimport life_d from \"./images/news/life_d.PNG\"\n  \nexport function News () {\n\n    const postsA1 = [\n  {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_h\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_e} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">Cотрудники лаборатории примут участие в Международной конференции ПОСТГЕНОМ’2024, на которой с результатами работы выступит заведующий лабораторией Криворотько О.И.</h5>\n    <p class=\"card_descr_t lead\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_g\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-3\">Сотрудники лаборатории примут участие в XVI конференции «Математические модели и численные методы в биологии и медицине»</h5>\n    <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_f\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_d} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-3\">Сотрудники лаборатории примут участие в конференции «Квазилинейные уравнения, обратные задачи и их приложения»</h5>\n    <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_e\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={conf_d} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-1\">Сотрудники лаборатории примут участие в конференции «Обратные некорректные задачи и машинное обучение»</h5>\n        <p class=\" card_descr_t lead my-4\">17.10.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 5, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_d\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_d} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">Сотрудники лаборатории примут участие в конференции «Индустриальная математика: от математических методов к промышленным технологиям»</h5>\n    <p class=\"card_descr_t lead\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 6, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Conf_b\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={conf_b} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"my-3 card_title_t\">Сотрудники лаборатории примут участие в конференции «Математика в медицине»</h5>\n        <h5 class=\"my-4 card_descr_t lead\">24.09.2024 </h5>\n        </div>\n      </article>\n      </a>\n    </li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n      {id: 7, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Conf_c\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-2\">Сотрудники лаборатории примут участие в IV конференции математических центров России</h5>\n    <p class=\"card_descr_t lead my-3\">08.08.2024</p>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 8, name: <ul class=\"cards_t \">\n      <li class=\"cards_item_t\">\n      <a href=\"/Conf_a\" style={{ textDecoration: 'none', color: 'inherit' }}>\n        <article class=\"card_t\">\n          <div class=\"card_image_t\">\n            <img src={conf_a} alt=\"Конференция\"></img>\n          </div>\n          <div class=\"card_content_t\">\n          <h5 class=\"card_title_t\">14-я Международная мультиконференция «Биоинформатика регуляции и структуры геномов/системная биология», 5-10 августа 2024</h5>\n          <h5 class=\"card_descr_t lead my-1\">13.06.2024</h5>\n          </div>\n        </article></a>\n      </li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n      \n     \n    ]\n    const postsA2 = [\n      {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_o\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t my-2\">\n        <h5 class=\"card_title_t\">3 апреля пройдёт семинар лаборатории на тему «Почему живое плохо подходит для дифференциального и вероятностного моделирования»</h5>\n        <h5 class=\"card_descr_t lead my-4\">29.03.2025 </h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_n\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_b} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t my-4\">\n        <h5 class=\"card_title_t my-1\">20 марта пройдёт семинар лаборатории на тему «Полу-контролируемая классификация: Основные идеи»</h5>\n        <h5 class=\"card_descr_t lead my-4\">19.03.2025 </h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_m\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t my-1\">\n        <h5 class=\"card_title_t my-1\">6 марта состоится совместное заседание семинара «Прикладная статистика»  и семинара лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов</h5>\n        <h5 class=\"card_descr_t lead\">04.03.2025 </h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_l\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t my-1\">\n        <h5 class=\"card_title_t my-1\">27 февраля пройдёт семинар лаборатории на тему «Новый метод коррекции параметров динамических эпидемиологических моделей»</h5>\n        <h5 class=\"card_descr_t lead my-4\">17.02.2025 </h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 5, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_k\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_c} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-1\">6 февраля пройдёт семинар лаборатории на тему «Математическое моделирование распространения эпидемий с учётом социальных, экономических и экологических процессов»</h5>\n        <h5 class=\"card_descr_t lead my-1\">04.02.2025 </h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 6, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_j\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_b} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">28 ноября пройдёт семинар лаборатории на тему «Вероятностное прогнозирование эпидемий в регионах Российской Федерации на основе условной генеративно-состязательной сети и байесовского подхода»</h5>\n    <h5 class=\"card_descr_t lead my-1\">20.11.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 7, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_i\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-3\">\n    <h5 class=\"card_title_t my-1\">14 ноября пройдёт семинар лаборатории на тему «Моделирование острых и хронических инфекций»</h5>\n    <h5 class=\"card_descr_t lead my-4\">07.11.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 8, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_h\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-1\">26 сентября пройдёт семинар лаборатории на тему «Проблемы получения точной количественной оценки накопленной активности в опухолевых очагах при исследовании методом ОФЭКТ/КТ»</h5>\n        <p class=\"card_descr_t lead my-1\">17.09.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 9, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_g\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Семинар\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">12 сентября пройдёт семинар лаборатории на тему «Особенности использования физически-информированных нейронных сетей для решения задач моделирования движения несжимаемой жидкости»</h5>\n    <p class=\"card_descr_t lead my-1\">11.09.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 10, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_f\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"my-3 card_content_t\">\n        <h5 class=\"my-2 card_title_t\">29 августа пройдёт семинар лаборатории на тему «Метод Гельфанда-Левитана в коэффициентых обратных задачах»</h5>\n        <p class=\"my-3 card_descr_t lead\">23.08.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 11, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_e\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"my-3 card_content_t\">\n        <h5 class=\"my-2 card_title_t\">15 августа пройдёт семинар лаборатории на тему «Рекомендательная система для микрофинансовых организаций»</h5>\n        <p class=\"my-3 card_descr_t lead\">31.07.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 12, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_d\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t\">1 августа пройдёт семинар лаборатории на тему «Метод регуляризации А.Н. Тихонова для решения задачи определения начального условия в параболическом уравнении»</h5>\n        <p class=\"card_descr_t lead\">31.07.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 13, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_c\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Семинар\"></img>\n    </div>\n    <div class=\"card_content_t my-3\">\n    <h5 class=\"card_title_t my-2\">18 июля пройдёт семинар лаборатории на тему «Полуконтролируемая сегментация медицинских изображений: Обзор»</h5>\n    <p class=\"card_descr_t lead my-3\">10.07.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 14, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_b\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Семинар\"></img>\n    </div>\n    <div class=\"my-4 card_content_t\">\n    <h5 class=\"my-1 card_title_t\">4 июля пройдёт семинар лаборатории на тему «Применение PINN в SIR модели игры среднего поля»</h5>\n    <h5 class=\"my-4 card_descr_t lead\">21.06.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 15, name: <ul class=\"cards_t\"><li class=\"cards_item_t\">\n        <a href=\"/Sem_a\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"card_content_t my-3\">\n        <h5 class=\"card_title_t my-2\">20 июня пройдёт семинар лаборатории на тему «Рассуждения о методах проверки временных рядов на стационарность»</h5>\n        <h5 class=\"card_descr_t lead my-3\">13.06.2024</h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"}\n    ]\n\n\n\n    const postsQ1 = [\n      {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Life_d\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_d} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">Заведующий лабораторией Криворотько О.И. примет участие в заседаниях IV Конгресса молодых учённых</h5>\n    <h5 class=\"card_descr_t lead\">17.10.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Life_c\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={life_c} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-1\">30 августа на базе Центра нейрохирургии состоится Заседание Сибирской ассоциации нейрохирургов</h5>\n        <p class=\"card_descr_t lead my-4\">26.08.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Life_b\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_b} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-3 card_title_t\">В Новосибирской области проходит акция \"Наука рядом\"</h5>\n    <p class=\"my-4 card_descr_t lead\">10.07.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Life_a\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">Ученые НГУ разрабатывают модель для прогнозирования развития осложнений инфекционных заболеваний</h5>\n    <h5 class=\" card_descr_t lead\">08.07.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"Q1\",eventKey: \"all\"},\n\n      \n    ]\n    \n      \n     \n\n     \nconst postsall  = [\n  {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_o\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-3\">3 апреля пройдёт семинар лаборатории на тему «Почему живое плохо подходит для дифференциального и вероятностного моделирования»</h5>\n    <h5 class=\"card_descr_t lead my-4\">29.03.2025 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_n\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_b} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-4\">\n    <h5 class=\"card_title_t my-1\">20 марта пройдёт семинар лаборатории на тему «Полу-контролируемая классификация: Основные идеи»</h5>\n    <h5 class=\"card_descr_t lead my-4\">19.03.2025 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_m\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-2\">6 марта состоится совместное заседание семинара «Прикладная статистика»  и семинара лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов</h5>\n    <h5 class=\"card_descr_t lead my-2\">04.03.2025 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_l\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t my-1\">\n        <h5 class=\"card_title_t my-1\">27 февраля пройдёт семинар лаборатории на тему «Новый метод коррекции параметров динамических эпидемиологических моделей»</h5>\n        <h5 class=\"card_descr_t lead my-4\">17.02.2025 </h5>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 5, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_k\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">6 февраля пройдёт семинар лаборатории на тему «Математическое моделирование распространения эпидемий с учётом социальных, экономических и экологических процессов»</h5>\n    <h5 class=\"card_descr_t lead my-1\">04.02.2025 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 6, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_j\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_b} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">28 ноября пройдёт семинар лаборатории на тему «Вероятностное прогнозирование эпидемий в регионах Российской Федерации на основе условной генеративно-состязательной сети и байесовского подхода»</h5>\n    <h5 class=\"card_descr_t lead my-1\">20.11.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 7, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_i\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-2\">\n    <h5 class=\"card_title_t my-3\">14 ноября пройдёт семинар лаборатории на тему «Моделирование острых и хронических инфекций»</h5>\n    <h5 class=\"card_descr_t lead my-4\">07.11.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 8, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Life_d\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_d} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-2\">Заведующий лабораторией Криворотько О.И. примет участие в заседаниях IV Конгресса молодых учённых</h5>\n    <h5 class=\"card_descr_t lead my-4\">17.10.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 9, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_h\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_e} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">Cотрудники лаборатории примут участие в Международной конференции ПОСТГЕНОМ’2024, на которой с результатами работы выступит заведующий лабораторией Криворотько О.И.</h5>\n    <p class=\"card_descr_t lead my-1\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 10, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_g\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-2\">Сотрудники лаборатории примут участие в XVI конференции «Математические модели и численные методы в биологии и медицине»</h5>\n    <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 11, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_f\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_d} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-2\">Сотрудники лаборатории примут участие в конференции «Квазилинейные уравнения, обратные задачи и их приложения»</h5>\n    <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 12, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_e\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={conf_d} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t my-1\">\n        <h5 class=\"card_title_t my-2\">Сотрудники лаборатории примут участие в конференции «Обратные некорректные задачи и машинное обучение»</h5>\n        <p class=\" card_descr_t lead my-4\">17.10.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 13, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_d\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_d} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-2\">Сотрудники лаборатории примут участие в конференции «Индустриальная математика: от математических методов к промышленным технологиям»</h5>\n    <p class=\"card_descr_t lead my-3\">17.10.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 14, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_b\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_b} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-4 card_title_t\">Сотрудники лаборатории примут участие в конференции «Математика в медицине»</h5>\n    <h5 class=\"my-4 card_descr_t lead\">24.09.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 15, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_h\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Семинар\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">26 сентября пройдёт семинар лаборатории на тему «Проблемы получения точной количественной оценки накопленной активности в опухолевых очагах при исследовании методом ОФЭКТ/КТ»</h5>\n    <p class=\"card_descr_t lead my-2\">17.09.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 16, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_g\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">12 сентября пройдёт семинар лаборатории на тему «Особенности использования физически-информированных нейронных сетей для решения задач моделирования движения несжимаемой жидкости»</h5>\n    <p class=\"card_descr_t lead\">11.09.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 17, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Life_c\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-4\">30 августа на базе Центра нейрохирургии состоится Заседание Сибирской ассоциации нейрохирургов</h5>\n    <p class=\"card_descr_t lead my-4\">26.08.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 18, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_f\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-4\">29 августа пройдёт семинар лаборатории на тему «Метод Гельфанда-Левитана в коэффициентых обратных задачах»</h5>\n        <p class=\" card_descr_t lead my-3\">23.08.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 19, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Conf_c\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-3\">Сотрудники лаборатории примут участие в IV конференции математических центров России</h5>\n    <p class=\"card_descr_t lead my-4\">08.08.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 20, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_e\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\" my-3 card_title_t\">15 августа пройдёт семинар лаборатории на тему «Рекомендательная система для микрофинансовых организаций»</h5>\n        <p class=\"my-3 card_descr_t lead\">31.07.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 21, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_d\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-1\">1 августа пройдёт семинар лаборатории на тему «Метод регуляризации А.Н. Тихонова для решения задачи определения начального условия в параболическом уравнении»</h5>\n        <p class=\"card_descr_t lead my-1\">31.07.2024</p>\n        </div>\n      </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 22, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Life_b\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_b} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-3 card_title_t\">В Новосибирской области проходит акция \"Наука рядом\"</h5>\n    <h5 class=\"my-3 card_title_t\"></h5>\n    <p class=\"my-3 card_descr_t lead\">10.07.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 23, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_c\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Семинар\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">18 июля пройдёт семинар лаборатории на тему «Полуконтролируемая сегментация медицинских изображений: Обзор»</h5>\n    <p class=\"my-3 card_descr_t lead\">10.07.2024</p>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 24, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Life_a\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">Ученые НГУ разрабатывают модель для прогнозирования развития осложнений инфекционных заболеваний</h5>\n    <h5 class=\"my-3 card_descr_t lead\">08.07.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 25, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_b\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"my-1 card_content_t\">\n    <h5 class=\"my-3 card_title_t\">4 июля пройдёт семинар лаборатории на тему «Применение PINN в SIR модели игры среднего поля»</h5>\n    <h5 class=\"my-3 card_descr_t lead\">21.06.2024 </h5>\n    </div>\n  </article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 26, name: <ul class=\"cards_t \">\n  <li class=\"cards_item_t\">\n  <a href=\"/Conf_a\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_a} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t\">14-я Международная мультиконференция «Биоинформатика регуляции и структуры геномов/системная биология», 5-10 августа 2024</h5>\n      <h5 class=\"my-3 card_descr_t lead\">13.06.2024</h5>\n      </div>\n    </article></a>\n  </li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n{id: 27, name: <ul class=\"cards_t\"><li class=\"cards_item_t\">\n<a href=\"/Sem_a\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={sem_a} alt=\"Семинар\"></img>\n  </div>\n  <div class=\"card_content_t\">\n  <h5 class=\"card_title_t\">20 июня пройдёт семинар лаборатории на тему «Рассуждения о методах проверки временных рядов на стационарность»</h5>\n  <h5 class=\"my-3 card_descr_t lead\">13.06.2024</h5>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n\n  \n  \n]  \n\n    const items = [\n        {id:1, list:postsA1, eventKey:\"A1\"},\n        {id:2, list:postsA2, eventKey:\"A2\"},\n        {id:3, list:postsQ1, eventKey:\"Q1\"},\n        {id:4, list:postsall, eventKey:\"all\"}\n    ]\n    return (\n          <>\n      <NaviBarv2 />\n      <Container className=\"my-3\" style={{\n          height: \"120%\" },\n        {  width: \"100%\"}}>\n\n  <Container>\n    \n      <div ><h4 className=\"mx-5 text-secondary\">Новости</h4></div>\n      <hr/>\n    \n  </Container>\n  <Tab.Container style={{\n          width: \"100%\" }} id=\"left-tabs-example\" defaultActiveKey=\"all\" >\n\n      <Nav variant=\"pills\" defaultActiveKey=\"/home\" >\n        <Nav.Item key={1}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"left\" className=\"text-black\">\n               Количество: 8</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  className=\"shadow3\" size=\"sm\" variant=\"outline-info\"  style={{color:\"#FFFFFF\"}}>\n      <Nav.Link  eventKey=\"A1\">Конференции</Nav.Link>\n        </Button>\n     \n        </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={2}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 15</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"A2\">Семинары</Nav.Link>\n          </Button>\n            \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={3}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 4</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  size=\"sm\" variant=\"outline-info\" className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q1\">Научная жизнь</Nav.Link>\n          </Button>\n          \n          </OverlayTrigger>\n        </Nav.Item>\n        \n        <Nav.Item key={4}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Количество: 27</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"all\">Все</Nav.Link>\n          </Button>\n           \n          </OverlayTrigger>\n        </Nav.Item>\n      </Nav>\n\n      <Tab.Content>\n      {items.map((item) =>\n          <NewsData key={item.id} item = {item}/>\n      )}\n      </Tab.Content>\n  </Tab.Container>\n      </Container>\n      <Footer />\n      </>\n      \n      )}","import React from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\n    OverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Footer_En from './Components/Footer_En' ;\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport sem_a from \"./images/news/sem_a.PNG\"\nimport sem_b from \"./images/news/sem_b.PNG\"\nimport sem_c from \"./images/news/sem_c.PNG\"\nimport conf_a from \"./images/news/conf_a.PNG\"\nimport NewsData from './Components/NewsData'\nimport conf_b from \"./images/news/conf_b.PNG\"\nimport life_a from \"./images/news/life_a.PNG\"\nimport life_b from \"./images/news/life_b.PNG\"\nimport life_c from \"./images/news/life_c.PNG\"\nimport life_d from \"./images/news/life_d.PNG\"\nimport conf_c from \"./images/news/conf_c.PNG\"\nimport conf_e from \"./images/news/conf_e.PNG\"\nimport conf_d from \"./images/news/conf_d.PNG\"\n  \nexport function News_En () {\n\n    const postsA1 = [\n      {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Conf_h/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_e} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t\">Laboratory staff will take part in the International Conference POSTGENOM’2024, at which the head of the laboratory O. Krivorotko will present the results of the work</h5>\n      <p class=\"card_descr_t lead\">17.10.2024</p>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Conf_g/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_c} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t my-1\">Laboratory staff will take part in the XVI conference «Mathematical Models and Numerical methods in Biology and Medicine»</h5>\n      <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Conf_f/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_d} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t my-3\">Laboratory staff will take part in the conference «Quasi-linear equations, inverse problems and their applications»</h5>\n      <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Conf_e/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n        <article class=\"card_t\">\n          <div class=\"card_image_t\">\n            <img src={conf_d} alt=\"Конференция\"></img>\n          </div>\n          <div class=\"card_content_t\">\n          <h5 class=\"card_title_t my-1\">Laboratory staff will take part in the conference «Inverse incorrect tasks and machine learning»</h5>\n          <p class=\" card_descr_t lead my-4\">17.10.2024</p>\n          </div>\n        </article></a>\n      </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 5, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Conf_d/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_d} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t\">Laboratory staff will take part in the conference «Industrial Mathematics: from mathematical methods to Industrial technologies»</h5>\n      <p class=\"card_descr_t lead\">17.10.2024</p>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 6, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n              <a href=\"/Conf_b/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={conf_b} alt=\"Conference\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"my-3 card_title_t\">Laboratory staff will take part in the conference \"Mathematics in Medicine\"</h5>\n        <h5 class=\"my-4 card_descr_t lead\">24.09.2024 </h5>\n        </div>\n      </article>\n      </a>\n    </li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n      {id: 7, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n              <a href=\"/Conf_c/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_c} alt=\"Conference\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-4\">Laboratory staff will take part in the IV conference of mathematical centers of Russia</h5>\n    <p class=\"card_descr_t lead my-1\">08.08.2024</p>\n    </div>\n  </article>\n  </a>\n</li>\n  </ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 8, name: <ul class=\"cards_t \">\n      <li class=\"cards_item_t\">\n      <a href=\"/Conf_a/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n        <article class=\"card_t\">\n          <div class=\"card_image_t\">\n            <img src={conf_a} alt=\"Conference\"></img>\n          </div>\n          <div class=\"card_content_t\">\n          <h5 class=\"card_title_t\">14th International Multi-Conference \"Bioinformatics of genome regulation and Structure/Systems Biology\", August 5-10, 2024</h5>\n          <h5 class=\"card_descr_t lead\">13.06.2024</h5>\n          </div>\n        </article>\n        </a>\n      </li></ul>,eventKey: \"A1\",eventKey: \"all\"}\n      \n     \n    ]\n    const postsA2 = [\n      {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n        <a href=\"/Sem_k/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_c} alt=\"Конференция\"></img>\n        </div>\n        <div class=\"card_content_t \">\n        <h5 class=\"card_title_t my-1\">On February 6, the laboratory will hold a seminar on «Mathematical modeling of epidemic spread taking into account social, economic and environmental processes»</h5>\n        <h5 class=\"card_descr_t lead my-3\">04.02.2025 </h5>\n        </div>\n      </article></a>\n      </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_j/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={sem_b} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t \">\n      <h5 class=\"card_title_t my-1\">On November 28, a laboratory seminar will be held on the topic «Probabilistic forecasting of epidemics in the regions of the Russian Federation based on a conditional generative-adversarial network and a Bayesian approach»</h5>\n      <h5 class=\"card_descr_t lead my-1\">20.11.2024 </h5>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_i/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={sem_a} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t my-1\">\n      <h5 class=\"card_title_t my-3\">On November 14, the laboratory will hold a seminar on the topic «Modeling of acute and chronic infections»</h5>\n      <h5 class=\"card_descr_t lead my-4\">07.11.2024 </h5>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_h/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">On September 26, the laboratory will hold a seminar on the topic «Problems of obtaining an accurate quantitative assessment of accumulated activity in tumor foci during the examination by the method of SPECT/CT»</h5>\n    <p class=\"card_descr_t lead my-1\">17.09.2024</p>\n    </div>\n  </article>\n  </a>\n</li>\n</ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 5, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_g/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-2\">On September 12, a laboratory seminar will be held on the topic «Features of using physically informed neural networks to solve problems of modeling the motion of an incompressible fluid»</h5>\n    <p class=\"card_descr_t lead my-2\">11.09.2024</p>\n    </div>\n  </article>\n  </a>\n</li>\n</ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 6, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_f/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Seminar\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-2\">On August 29, the laboratory will hold a seminar on the topic «The Gelfand-Levitan method in coefficient inverse problems»</h5>\n        <p class=\"card_descr_t lead my-4\">23.08.2024</p>\n        </div>\n      </article>\n      </a>\n    </li>\n  </ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 7, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_e/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Seminar\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-3\">On August 15, the laboratory will hold a seminar on the topic «Recommendation system for microfinance organizations»</h5>\n        <p class=\"card_descr_t lead my-3\">31.07.2024</p>\n        </div>\n      </article>\n      </a>\n    </li>\n  </ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 8, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_d/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={sem_a} alt=\"Seminar\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t my-1\">On August 1, a laboratory seminar will be held on the topic «A.N. Tikhonov's regularization method for solving the problem of determining the initial condition in a parabolic equation»</h5>\n      <p class=\"card_descr_t lead my-1\">31.07.2024</p>\n      </div>\n    </article>\n    </a>\n  </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 9, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_c/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Seminar\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-1\">On July 18, the laboratory will hold a seminar on the topic \"Semi-controlled segmentation of medical images: An overview\"</h5>\n        <p class=\"card_descr_t lead my-3\">10.07.2024</p>\n        </div>\n      </article>\n      </a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 10, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_b/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">On July 4, a laboratory seminar will be held on the topic \"Application of PINN in the SIR model of the middle field game\"</h5>\n    <p class=\"my-3 card_descr_t lead\">21.06.2024</p>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 11, name: <ul class=\"cards_t\"><li class=\"cards_item_t\">\n      <a href=\"/Sem_a/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Seminar\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t\">On June 20, the laboratory will hold a seminar on \"Reasoning about methods of checking time series for stationarity\"</h5>\n        <h5 class=\"my-3 card_descr_t lead\">13.06.2024</h5>\n        </div>\n      </article>\n      </a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"}\n    ]\n    const postsQ1 = [\n      {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Life_d/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={life_d} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t\">\n  <h5 class=\"card_title_t my-1\">O. Krivorotko will take part in the meetings of the IV Congress of Young Scientists</h5>\n  <h5 class=\"card_descr_t lead my-3\">17.10.2024 </h5>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Life_c/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={life_c} alt=\"Scientific life\"></img>\n         </div>\n         <div class=\"card_content_t\">\n         <h5 class=\"card_title_t my-1\">On August 30, a meeting of the Siberian Association of Neurosurgeons will be held at the Neurosurgery Center</h5>\n         <p class=\"card_descr_t lead my-3\">26.08.2024</p>\n         </div>\n      </article>\n      </a>\n    </li>\n    </ul>,eventKey: \"A2\",eventKey: \"all\"},\n      {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Life_b/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={life_b} alt=\"Scientific life\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-3\">The action \"Science is near\" is taking place in the Novosibirsk region</h5>\n        <p class=\"card_descr_t lead my-3\">10.07.2024</p>\n        </div>\n      </article>\n      </a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Life_a/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={life_a} alt=\"Scientific life\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"my-1 card_title_t\">NSU scientists are developing a model for predicting the development of complications of infectious diseases</h5>\n      <p class=\"my-3 card_descr_t lead\">08.07.2024</p>\n      </div>\n    </article>\n    </a>\n  </li></ul>,eventKey: \"A2\",eventKey: \"all\"}\n\n\n      \n     \n\n    ]  \nconst postsall  = [ \n  {id: 1, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_k/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_c} alt=\"Конференция\"></img>\n    </div>\n    <div class=\"card_content_t \">\n    <h5 class=\"card_title_t my-1\">On February 6, the laboratory will hold a seminar on «Mathematical modeling of epidemic spread taking into account social, economic and environmental processes»</h5>\n    <h5 class=\"card_descr_t lead my-3\">04.02.2025 </h5>\n    </div>\n  </article></a>\n  </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 2, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n      <a href=\"/Sem_j/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={sem_b} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t my-1\">On November 28, a laboratory seminar will be held on the topic «Probabilistic forecasting of epidemics in the regions of the Russian Federation based on a conditional generative-adversarial network and a Bayesian approach»</h5>\n      <h5 class=\"card_descr_t lead my-1\">20.11.2024 </h5>\n      </div>\n    </article></a>\n    </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 3, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_i/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={sem_a} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t my-1\">\n  <h5 class=\"card_title_t my-3\">On November 14, the laboratory will hold a seminar on the topic «Modeling of acute and chronic infections»</h5>\n  <h5 class=\"card_descr_t lead my-4\">07.11.2024 </h5>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 4, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Life_d/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={life_d} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t\">\n  <h5 class=\"card_title_t my-3\">O. Krivorotko will take part in the meetings of the IV Congress of Young Scientists</h5>\n  <h5 class=\"card_descr_t lead my-3\">17.10.2024 </h5>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n{id: 5, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_h/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={conf_e} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t\">\n  <h5 class=\"card_title_t my-1\">Laboratory staff will take part in the International Conference POSTGENOM’2024, at which the head of the laboratory O. Krivorotko will present the results of the work</h5>\n  <p class=\"card_descr_t lead my-1\">17.10.2024</p>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n{id: 6, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_g/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={conf_c} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t\">\n  <h5 class=\"card_title_t my-1\">Laboratory staff will take part in the XVI conference «Mathematical Models and Numerical methods in Biology and Medicine»</h5>\n  <p class=\"card_descr_t lead my-3\">17.10.2024</p>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n{id: 7, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_f/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={conf_d} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t my-1\">\n  <h5 class=\"card_title_t my-3\">Laboratory staff will take part in the conference «Quasi-linear equations, inverse problems and their applications»</h5>\n  <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n{id: 8, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_e/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_d} alt=\"Конференция\"></img>\n      </div>\n      <div class=\"card_content_t my-1\">\n      <h5 class=\"card_title_t my-3\">Laboratory staff will take part in the conference «Inverse incorrect tasks and machine learning»</h5>\n      <p class=\" card_descr_t lead my-4\">17.10.2024</p>\n      </div>\n    </article></a>\n  </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n{id: 9, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_d/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n<article class=\"card_t\">\n  <div class=\"card_image_t\">\n    <img src={conf_d} alt=\"Конференция\"></img>\n  </div>\n  <div class=\"card_content_t\">\n  <h5 class=\"card_title_t my-2\">Laboratory staff will take part in the conference «Industrial Mathematics: from mathematical methods to Industrial technologies»</h5>\n  <p class=\"card_descr_t lead my-4\">17.10.2024</p>\n  </div>\n</article></a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 10, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_b/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_b} alt=\"Conference\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-2 card_title_t\">Laboratory staff will take part in the conference \"Mathematics in Medicine\"</h5>\n    <h5 class=\"my-4 card_descr_t lead\"></h5>\n    <h5 class=\"my-4 card_descr_t lead\">24.09.2024 </h5>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 11, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_h/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">On September 26, the laboratory will hold a seminar on the topic «Problems of obtaining an accurate quantitative assessment of accumulated activity in tumor foci during the examination by the method of SPECT/CT»</h5>\n    <p class=\"card_descr_t lead my-1\">17.09.2024</p>\n    </div>\n  </article>\n  </a>\n</li>\n</ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 12, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_g/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t my-1\">\n    <h5 class=\"card_title_t my-2\">On September 12, a laboratory seminar will be held on the topic «Features of using physically informed neural networks to solve problems of modeling the motion of an incompressible fluid»</h5>\n    <p class=\"card_descr_t lead my-2\">11.09.2024</p>\n    </div>\n  </article>\n  </a>\n</li>\n</ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 13, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Life_c/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_c} alt=\"Seminar\"></img>\n     </div>\n     <div class=\"card_content_t\">\n     <h5 class=\"card_title_t my-3\">On August 30, a meeting of the Siberian Association of Neurosurgeons will be held at the Neurosurgery Center</h5>\n     <p class=\"card_descr_t lead my-3\">26.08.2024</p>\n     </div>\n  </article>\n  </a>\n</li>\n</ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 14, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_f/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">On August 29, the laboratory will hold a seminar on the topic «The Gelfand-Levitan method in coefficient inverse problems»</h5>\n    <p class=\"card_descr_t lead my-3\">23.08.2024</p>\n\n    </div>\n  </article>\n  </a>\n</li>\n</ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 15, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Conf_c/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={conf_c} alt=\"Conference\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-3\">Laboratory staff will take part in the IV conference of mathematical centers of Russia</h5>\n    <p class=\"card_descr_t lead my-3\">08.08.2024</p>\n    </div>\n  </article>\n  </a>\n</li>\n  </ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 16, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_e/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Seminar\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t my-3\">On August 15, the laboratory will hold a seminar on the topic «Recommendation system for microfinance organizations»</h5>\n        <p class=\"card_descr_t lead my-3\">31.07.2024</p>\n        </div>\n      </article>\n      </a>\n    </li>\n  </ul>,eventKey: \"A2\",eventKey: \"all\"},\n    {id: 17, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n    <a href=\"/Sem_d/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={sem_a} alt=\"Seminar\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t my-1\">On August 1, a laboratory seminar will be held on the topic «A.N. Tikhonov's regularization method for solving the problem of determining the initial condition in a parabolic equation»</h5>\n      <p class=\"card_descr_t lead my-1\">31.07.2024</p>\n      </div>\n    </article>\n    </a>\n  </li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 18, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Life_b/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_b} alt=\"Life\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t my-1\">The action \"Science is near\" is taking place in the Novosibirsk region</h5>\n    <p class=\"card_descr_t lead my-3\"></p>\n    <p class=\"card_descr_t lead my-4\">10.07.2024</p>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 19, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_c/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-1 card_title_t \">On July 18, the laboratory will hold a seminar on the topic \"Semi-controlled segmentation of medical images: An overview\"</h5>\n    <p class=\"card_descr_t lead my-2\">10.07.2024</p>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 20, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Life_a/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={life_a} alt=\"Life\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-2 card_title_t\">NSU scientists are developing a model for predicting the development of complications of infectious diseases</h5>\n    <p class=\"my-3 card_descr_t lead\">08.07.2024</p>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 21, name: <ul class=\"cards_t \"><li class=\"cards_item_t\">\n  <a href=\"/Sem_b/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"my-2 card_title_t\">On July 4, a laboratory seminar will be held on the topic \"Application of PINN in the SIR model of the middle field game\"</h5>\n    <p class=\"my-3 card_descr_t lead\">21.06.2024</p>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A2\",eventKey: \"all\"},\n  {id: 22, name: <ul class=\"cards_t \">\n  <li class=\"cards_item_t\">\n  <a href=\"/Conf_a/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n    <article class=\"card_t\">\n      <div class=\"card_image_t\">\n        <img src={conf_a} alt=\"Conference\"></img>\n      </div>\n      <div class=\"card_content_t\">\n      <h5 class=\"card_title_t\">14th International Multi-Conference \"Bioinformatics of genome regulation and Structure/Systems Biology\", August 5-10, 2024</h5>\n      <h5 class=\"my-1 card_descr_t lead\">13.06.2024</h5>\n      </div>\n    </article>\n    </a>\n  </li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n  {id: 23, name: <ul class=\"cards_t\"><li class=\"cards_item_t\">\n  <a href=\"/Sem_a/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n  <article class=\"card_t\">\n    <div class=\"card_image_t\">\n      <img src={sem_a} alt=\"Seminar\"></img>\n    </div>\n    <div class=\"card_content_t\">\n    <h5 class=\"card_title_t\">On June 20, the laboratory will hold a seminar on \"Reasoning about methods of checking time series for stationarity\"</h5>\n    <h5 class=\"my-3 card_descr_t lead\">13.06.2024</h5>\n    </div>\n  </article>\n  </a>\n</li></ul>,eventKey: \"A1\",eventKey: \"all\"},\n  \n\n  \n  \n]  \n\n    const items = [\n        {id:1, list:postsA1, eventKey:\"A1\"},\n        {id:2, list:postsA2, eventKey:\"A2\"},\n        {id:3, list:postsQ1, eventKey:\"Q1\"},\n        {id:4, list:postsall, eventKey:\"all\"}\n    ]\n    return (\n          <>\n      <NaviBarv2_En />\n      <Container className=\"my-3\" style={{\n          height: \"120%\" },\n        {  width: \"100%\"}}>\n\n  <Container>\n    \n      <div ><h4 className=\"mx-5 text-secondary\">News</h4></div>\n      <hr/>\n    \n  </Container>\n  <Tab.Container style={{\n          width: \"100%\" }} id=\"left-tabs-example\" defaultActiveKey=\"all\" >\n\n      <Nav variant=\"pills\" defaultActiveKey=\"/home\" >\n        <Nav.Item key={1}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"left\" className=\"text-black\">\n               Quantity: 8 </div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  className=\"shadow3\" size=\"sm\" variant=\"outline-info\"  style={{color:\"#FFFFFF\"}}>\n      <Nav.Link  eventKey=\"A1\">Conferences</Nav.Link>\n        </Button>\n     \n        </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={2}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 11 </div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"A2\">Seminars</Nav.Link>\n          </Button>\n            \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={3}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 4 </div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  size=\"sm\" variant=\"outline-info\" className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q1\">Scientific life</Nav.Link>\n          </Button>\n          \n          </OverlayTrigger>\n        </Nav.Item>\n        \n        <Nav.Item key={4}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 23 </div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"all\">All</Nav.Link>\n          </Button>\n           \n          </OverlayTrigger>\n        </Nav.Item>\n      </Nav>\n\n      <Tab.Content>\n      {items.map((item) =>\n          <NewsData key={item.id} item = {item}/>\n      )}\n      </Tab.Content>\n  </Tab.Container>\n      </Container>\n      <Footer_En />\n      </>\n      \n      )}","import React from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\n    OverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Footer from './Components/Footer' ;\nimport NaviBarv2 from './Components/NaviBarv2';\nimport NewsData from './Components/NewsData'\n\n  \nexport function Conferences () {\n    return (\n          <>\n      <NaviBarv2 />\n      <Container className=\"my-3\" style={{\n          height: \"120%\" },\n        {  width: \"100%\"}}>\n\n  <Container>\n    \n      <div ><h1>Календарь конференций</h1></div>\n      <hr/>\n    \n  </Container>\n  <div className=\"row my-4 ps-3 \">\n          <h3>Предстоящие конференции</h3>\n        </div>\n        <div className=\"row my-4 ps-3 text-secondary\">\n          <h3 className=\"lead\">2024</h3>\n        </div>     \n        <hr/>\n        <div className=\"row my-4 ps-3\">\n          <h3>Прошедшие конференции</h3>\n        </div>\n        <div className=\"row my-4 ps-3 text-secondary\">\n          <h3 className=\"lead\">2024</h3>\n        </div>  \n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">29 октября - 2 ноября 2024 Москва</h4>\n<h5 className=\"row ps-3 text-secondary\">VI международная научно-практическая конференция ПОСТЕГНОМ’2024</h5>\n<h5 className=\"ps-1 text-secondary lead\">С результатами работы выступила Заведующий лабораторией <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info\">Криворотько О.И.</a>.</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://www.postgenome.org/pages/aktualnaya_nauchnaya_programma\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">31 октября - 1 ноября 2024 Москва</h4>\n<h5 className=\"row ps-3 text-secondary\">XVI конференция «Математические модели и численные методы в биологии и медицине»</h5>\n<h5 className=\"ps-1 text-secondary lead\">Сотрудники лаборатории приняли участие в XVI конференции «Математические модели и численные методы в биологии и медицине», а именно: <a rel=\"noopener\" target=\"_blank\" href=\"/Nesterova_info\">Нестерова А.В.</a> и <a rel=\"noopener\" target=\"_blank\" href=\"/Mikhailapov_info\">Михайлапов Д.И.</a>.</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://dodo.inm.ras.ru/biomath/\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">17-21 октября 2024 Сириус</h4>\n<h5 className=\"row ps-3 text-secondary\">Конференция «Квазилинейные уравнения, обратные задачи и их приложения»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_050w\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">14-18 октября 2024 Сириус</h4>\n<h5 className=\"row ps-3 text-secondary\">Конференция «Обратные некорректные задачи и машинное обучение»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_049w\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">7-11 октября 2024 Сириус</h4>\n<h5 className=\"row ps-3 text-secondary\">Конференция «Индустриальная математика: от математических методов к промышленным технологиям»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_048w\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">3-5 октября 2024 Новосибирск ИМ СО РАН</h4>\n<h5 className=\"row ps-3 text-secondary\">Международная научная конференция «Современные проблемы обратных задач»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mcip2024/general_info\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">1-4 октября 2024 Новосибирск ИМ СО РАН</h4>\n<h5 className=\"row ps-3 text-secondary\">Конференция «Математика в медицине»</h5>\n<h5 className=\"ps-1 text-secondary lead\">1, 3 и 4 октября сотрудники лаборатории, а именно: <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info\">Криворотько О.И.</a>, <a rel=\"noopener\" target=\"_blank\" href=\"/Nestrova_info\">Нестерова А. В.</a> и  <a rel=\"noopener\" target=\"_blank\" href=\"/Mikhailapov_info\">Михайлапов Д.И.</a>, выступили на конференции.</h5>\n<h5 className=\"ps-1 text-secondary lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%9C%D0%BC%D0%B5%D0%B4%D0%9A%D0%BE%D0%BD%D1%84-24.pdf\">Полная программа.</a></h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mmed2024/ru/general_info\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">30 сентября - 2 октября 2024 Новосибирск ИМ СО РАН</h4>\n<h5 className=\"row ps-3 text-secondary\">XVI международная молодежная научная школа-конференция «Теория и численные методы решения обратных и некорректных задач»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/tcmiip2024/general_info\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">6-11 августа 2024 Санкт-Петербург</h4>\n<h5 className=\"row ps-3 text-secondary\">IV Конференция математических центров России</h5>\n<h5 className=\"row ps-3 text-secondary lead\">10 августа сотрудники нашей лаборатории приняли участие в конференции в секциях:«Прикладная математика и математическое моделирование» и «Теория вероятностей»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/\">сайте конференции.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">5-10 августа 2024 Новосибирск</h4>\n<h5 className=\"row ps-3 text-secondary\">14-я Международная мультиконференция</h5>\n<h5 className=\"row ps-3 text-secondary\">«Биоинформатика регуляции и структуры геномов/системная биология»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\n  Более подробная информация приведена на<a rel=\"noopener\" target=\"_blank\" href=\"https://bgrssb.icgbio.ru/2024/ru/schedule/\">сайте конференции.</a>\n</h5></div>\n      </Container>\n      <Footer />\n      </>\n      \n      )}","import React from \"react\";\nimport {Container, Card, Row, Button, CarouselItem, CarouselCaption } from 'react-bootstrap'\nimport { motion } from \"framer-motion\"\nimport Footer from './Components/Footer'\nimport NaviBarv2 from './Components/NaviBarv2'\nimport sem_a from \"./images/news/sem_a.PNG\"\nimport sem_b from \"./images/news/sem_b.PNG\"\n\n\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 100,\n },\n}\n\nconst itemAnimation = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nexport function Sem_Compl() {\n\n\n  return(\n      <>\n      <NaviBarv2 />\n        <Container >\n        <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n          <Card className=\"text-center bg-secondary text-white my-3\" >\n            <Card.Title> <h4 className=\"my-1 \">Архивные семинары</h4> </Card.Title>\n          </Card>\n          </motion.div>\n          <ul class=\"cards_t\">\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_b} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">28 ноября пройдёт семинар лаборатории на тему «Вероятностное прогнозирование эпидемий в регионах Российской Федерации на основе условной генеративно-состязательной сети и байесовского подхода»</h5>\n                <p class=\"card_descr_t\">07.01.2025</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_j\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">14 ноября пройдёт семинар лаборатории на тему «Моделирование острых и хронических инфекций»</h5>\n                <p class=\"card_descr_t\">15.11.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_i\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">26 сентября пройдёт семинар лаборатории на тему «Проблемы получения точной количественной оценки накопленной активности в опухолевых очагах при исследовании методом ОФЭКТ/КТ»</h5>\n                <p class=\"card_descr_t\">27.09.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_h\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n            \n            </ul>\n            <ul class=\"cards_t\">\n            <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">12 сентября пройдёт семинар лаборатории на тему «Особенности использования физически-информированных нейронных сетей для решения задач моделирования движения несжимаемой жидкости»</h5>\n                <p class=\"card_descr_t\">11.09.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_g\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n            <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">29 августа пройдёт семинар лаборатории на тему «Метод Гельфанда-Левитана в коэффициентых обратных задачах»</h5>\n        <p class=\"my-4 card_descr_t \">30.08.2024</p>\n        <span class=\"my-2 card_btn_t \"><a href=\"/Sem_f\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n            <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t my-1\">15 августа пройдёт семинар лаборатории на тему «Рекомендательная система для микрофинансовых организаций»</h5>\n        <p class=\"my-4 card_descr_t \">16.08.2024</p>\n        <span class=\"my-2 card_btn_t \"><a href=\"/Sem_e\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n            \n          </ul>\n          <ul class=\"cards_t\">\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t my-1\">1 августа пройдёт семинар лаборатории на тему «Метод регуляризации А.Н. Тихонова для решения задачи определения начального условия в параболическом уравнении»</h5>\n        <p class=\"card_descr_t \">02.08.2024</p>\n        <span class=\"card_btn_t \"><a href=\"/Sem_d\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t my-1\">\n                <h5 class=\"card_title_t my-2\">18 июля пройдёт семинар лаборатории на тему «Полуконтролируемая сегментация медицинских изображений: Обзор»</h5>\n                <p class=\"card_descr_t my-4\">19.07.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_c\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">4 июля пройдёт семинар лаборатории на тему «Применение PINN в SIR модели игры среднего поля»</h5>\n                <p class=\"card_descr_t\">05.07.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_b\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n          </ul>\n          <ul class=\"cards_t\">\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">20 июня пройдёт семинар лаборатории на тему «Рассуждения о методах проверки временных рядов на стационарность»</h5>\n                <p class=\"card_descr_t\">21.06.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_a\" class=\"lead\" style={{'textDecoration': 'none'}}>Читать полностью > </a></span>\n                </div>\n              </article>\n            </li>\n            </ul>\n            \n      </Container>\n      <Footer />\n    </>\n          \n)\n}","import React from \"react\";\nimport NaviBarv2 from './Components/NaviBarv2';\nimport Footer from './Components/Footer';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\"; // Импорт стилей\nimport { Container, Card, Row, Col } from 'react-bootstrap';\nimport { BsDownload } from 'react-icons/bs';\n\nexport function Links() {\n  const links = [\n    { id: 1, title: \"Логотип лаборатории\", url: \"https://ai-biolab.ru/data/Логотип.rar\" },\n  ];\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container className=\"my-5\">\n        <h2 className=\"text-center mb-4 header_links\">Доступные ссылки</h2>\n        <Row>\n          {links.map(link => (\n            <Col md={4} key={link.id} className=\"mb-4\">\n              <Card className=\"card_links shadow\">\n                <a href={link.url} style={{ textDecoration: 'none' }}>\n                  <Card.Body className=\"text-center\">\n                    <Card.Title>\n                      <h5 style={{ fontSize: \"20px\" }}>\n                        <BsDownload /> {link.title}\n                      </h5>\n                    </Card.Title>\n                  </Card.Body>\n                </a>\n              </Card>\n            </Col>\n          ))}\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n        </Row>\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2 from './Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport epid1 from \"./images/directions/epid1.png\"\nimport epid2 from \"./images/directions/epid2.png\"\nimport epid3 from \"./images/directions/epid3.png\"\nimport ecol1 from \"./images/directions/ecol1.png\"\nimport ecol2 from \"./images/directions/ecol2.png\"\nimport econ1 from \"./images/directions/econ1.png\"\nimport econ2 from \"./images/directions/econ2.png\"\nimport Footer from './Components/Footer'\n\n\n\nexport function Data_processing_and_analysis(){\n\n\n  return(\n  <>\n  <NaviBarv2 />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p class=\"lead my-4\">Сбор, обработка и анализ данных представляют важную часть исследований при построении математических моделей биологии, эпидемиологии, экономики, экологии и социальных процессов. Некорректная обработка и интерпретирование данных может привести к некорректным результатам моделирования и прогнозирования изучаемых процессов.</p>\n         \n        <Tabs  justify defaultActiveKey=\"epid\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"epid\" title=\"Эпидемиология\">\n          <h5 class=\"my-4\">COVID-19</h5>\n          <p class=\"lead my-4\">В процессе обработки данных COVID-19 были применены следующие подходы:\n             сглаживание данных с использованием 7-дневного экспоненциального скользящего среднего, заполнение\n              пропущенных значений с помощью линейной интерполяции и удаление выбросов в данных.</p>\n                          <div class=\"center\"><img src={epid1} align=\"center\" width={500} /></div>\n                           <p class=\"lead my-4\">Для математического моделирования данные предварительно нормализируются и приводятся к нормальному распределению с помощью преобразования Бокса-Кокса или путём вычисления логарифмического приращения точек временного ряда по отношению к значениям прошлых. Например, для моделирования COVID-19 ежедневное количество умерших в результате COVID-19 в Санкт-Петербурге были преобразованы таким способом, что привело данные к нормальному и стационарному виду:</p>\n                           <div class=\"center\"><img src={epid2} align=\"center\" width={500} /></div><hr></hr>\n                           <h5 class=\"my-4\">Туберкулёз, ВИЧ</h5>\n                           <p class=\"lead my-4\"> Рассмотрены данные заболеваемости туберкулезом и ВИЧ в регионах России.</p>\n                           <img src={epid3} align=\"right\" width={500} />\n                           <p class=\"lead my-4\">Процесс сбора статистических данных не так однороден, как хотелось бы. Так, для данных заболеваемости туберкулезом по месяцам были обнаружены аномальные выбросы в декабрях и сильно заниженные данные в январях, кратно отличающиеся от остальных месяцев. Подобное поведение не может быть описано используемыми непрерывными моделями и плохо объясняется медленной скоростью развития заболевания.</p>\n                           <p class=\"lead my-4\">С другой стороны, вызывает интерес латентная форма туберкулеза, которая, как предполагается, широко распространена среди населения (по оценкам ВОЗ в районе 30%). </p>\n                           <p class=\"lead my-4\">Однако, определение данной формы кардинально разнится в различных источниках и консенсуса о данной форме не сложилось.</p>\n                           <p class=\"lead my-4\">При восстановлении эпидемиологических параметров из числа заболевших активной формой, в том числе восстанавливалось число больных латентной формой туберкулеза. В общем случае такая задача имеет множество решений, однако при ограничении на возможную длительность болезни, было выяснено, что, для регионов России, количество больных латентной формой, если она является обязательным промежуточным этапом болезни, не может превышать 1-5%.</p>\n           </Tab>\n          <Tab eventKey=\"econ\" title=\"Экономика\">\n          <p class=\"lead my-4\">Экономические и социальные процессы рассматриваются как косвенные факторы, указывающие на дальнейший ход развития эпидемий. В нашем случае туберкулез и ВИЧ считаются важными социальными заболеваниями, более распространенными среди необеспеченных слоев населения. По этой причине предполагается, что экономические и социальные показатели регионов могут выступать в качестве дополнительных маркеров характера эпидемиологического процесса, уточняющих эпидемиологические параметры.</p>\n          <p class=\"lead my-4\">Наша цель – получить данное уточнение относительно средней эпидемиологической модели для регионов России.</p>\n          <p class=\"lead my-4\">Потенциально взаимосвязанными с развитием эпидемии в регионе выделяют следующие социально-экономические параметры:\n- уровень жизни<br></br>\n- среднедушевой доход<br></br>\n- уровень безработицы<br></br>\n- количество рабочей силы<br></br>\n- численность населения ниже прожиточного минимума<br></br>\n- плотность населения\n</p>\n<div class=\"center\"><img src={econ1} align=\"center\" width={700} /><p class=\"lead my-4\">Рисунок 1. Показатель уровня жизни в регионах России.</p></div>\n<div class=\"center\"><img src={econ2} align=\"center\" width={700} /><p class=\"lead my-4\">Рисунок 2. Численность населения в регионах России.</p></div>\n<p class=\"lead my-4\">Так как данные параметры тесно взаимосвязаны друг с другом, был применен теоретико-игровой подход выделения наиболее важных параметров на основе вектора Шепли. В результате хоть и были получены важности показателей, первичные результаты уточнения эпидемиологических параметров показали удовлетворительный результат восстановления эпидемиологических параметров лишь в 10% регионов.</p>\n\n          </Tab>\n          <Tab eventKey=\"ecol\" title=\"Экология и климат\">\n          <p class=\"lead my-4\">Проводится анализ и обработка данных с <a rel=\"noopener\" target=\"_blank\" href=\"https://sensor.krasn.ru/sc/project/1/map.html\">геопортала Красноярского края</a>  по загрязнению атмосферного воздуха взвешенными частицами PM2.5 и <a rel=\"noopener\" target=\"_blank\" href=\"https://sensor.krasn.ru/sc/project/1/map.html\">системы оперативного мониторинга состояния воздуха</a>. </p>\n          <img src={ecol1} align=\"right\" width={500} />\n          <p class=\"lead my-4\">PM2.5 — это мельчайшие твёрдые частицы и капельки жидкостей размером от 2,5 до 10 микрон (мкм). Их часто называют мелкодисперсными взвешенными частицами или тонкодисперсной пылью. Частицы PM2.5 являются одним из наиболее вредных загрязнителей - из-за своего размера мелкодисперсные частицы легко проникают в кровь и разносятся по всему организму. На небольшие дозы PM2.5 нет мгновенной реакции, но они накапливаются в организме и со временем могут привести к серьёзным проблемам.</p>\n          <p class=\"lead my-4\">Понимание причин развития «черного неба» в Красноярском крае или в других городах неотрывно связано с анализом данных с сети оперативного мониторинга качества атмосферного воздуха. В Красноярске такая система представлена более чем 30 датчиками, делающими записи каждые 20 минут на протяжении более 4 лет. Анализ таких данных осложнен тем, что в природе источников PM2.5 очень много: автомобильный транспорт с бензиновыми или дизельными двигателями, промышленные производства, в том числе предприятия по добыче полезных ископаемых, угольные электростанции, стройки, свалки, сельскохозяйственные предприятия. Это приводит к тому, что данные являются сложно нестационарными, то есть не имеют ярко выраженных трендов, сезонностей и сильно зашумлены. Также большой проблемой являются длинные пропуски в данных, связанные с поломками оборудования, а также наличие большого числа аномалий и выбросов, которые могут быть связаны как с поломкой оборудования (и должны быть удалены из дальнейшего рассмотрения), так и быть физически значимыми и иметь природное происхождение. Пример данных по концентрации PM2.5 в г. Красноярске с одного поста наблюдений за 2019-2023 гг. изображен на рисунке: </p>\n          <div class=\"center\"><img src={ecol2} align=\"center\" width={1000} /></div>\n          <p class=\"lead my-4\">Наше исследование посвящено анализу таких сложноустроенных данных и разработке методов для их анализа. Показано, что не существует единого критерия оценки стационарности данных, представленных в виде временных рядов. Было уделено внимание корректности использования наиболее популярных инструментов при решении таких задач. Показано, что для временных рядов реальных измерений различные статистические тесты, которые наиболее используются на практике, в силу особенностей построения гипотез могут давать интерпретируемые по-разному результаты, а другие известные инструменты ограничены в использовании. Для первичного анализа предложена процедура, на основании которой можно сделать первичные выводы о стационарности данных.</p>\n\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer />\n  </>\n)}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Form, ListGroup, FormControl, Stack,\nOverlayTrigger, Popover, InputGroup, ProgressBar, Spinner, Tabs, Tab, Collapse, Carousel, Alert, Modal, ButtonGroup,\nDropdownButton, Dropdown} from 'react-bootstrap';\nimport { CLoadingButton } from '@coreui/react-pro'\nimport axios from \"axios\"\nimport FileDownload from \"js-file-download\"\nimport { Formik } from \"formik\";\nimport * as yup from \"yup\";\nimport {FiDownload } from 'react-icons/fi'\nimport {BsFillFileEarmarkPdfFill, BsFillArrowUpRightSquareFill, BsFillCaretRightFill, BsFillCaretDownFill,\nBsFillPersonLinesFill, BsExclamationLg, BsInfo} from 'react-icons/bs'\nimport {FcSearch} from 'react-icons/fc'\nimport NaviBarv2 from './Components/NaviBarv2';\nimport {BsZoomIn} from 'react-icons/bs'\nimport { motion } from \"framer-motion\"\nimport field1 from \"./images/directions/field1.png\"\nimport field2 from \"./images/directions/field2.png\"\nimport field3 from \"./images/directions/field3.png\"\nimport seir1 from \"./images/directions/seir1.png\"\nimport seir2 from \"./images/directions/seir2.png\"\nimport seir3 from \"./images/directions/seir3.png\"\nimport seir4 from \"./images/directions/seir4.png\"\nimport seir5 from \"./images/directions/seir5.png\"\nimport seir6 from \"./images/directions/seir6.png\"\nimport machine1 from \"./images/directions/machine1.png\"\nimport machine2 from \"./images/directions/machine2.png\"\nimport machine3 from \"./images/directions/machine3.png\"\nimport machine4 from \"./images/directions/machine4.png\"\nimport machine5 from \"./images/directions/machine5.png\"\nimport machine6 from \"./images/directions/machine6.png\"\nimport machine7 from \"./images/directions/machine7.png\"\nimport machine8 from \"./images/directions/machine8.png\"\nimport machine9 from \"./images/directions/machine9.png\"\nimport { DownloadCount } from 'axios-progress-bar'\n\nimport ModelingSEIR_HCD from './ModelingSEIR_HCD'\nimport Description_AOM from './Components/Description_AOM'\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\n\nimport Footer from './Components/Footer'\n\nimport {\n  Chart as ChartJS,\n  PointElement,\n  Filler,\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n} from 'chart.js';\n\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\n\nChartJS.register(\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n  PointElement,\n  Filler,\n);\n\nChartJS.register(zoomPlugin);\n\n\n\nconst download_article=(e)=>{\n   e.preventDefault()\n   axios({\n     url:\"https://server.ai-biolab.ru/article\",\n     method: \"GET\",\n     responseType:\"blob\"\n   }).then((resA)=>{\n     FileDownload(resA.data, \"article.pdf\")\n   })\n}\n\nconst schema = yup.object().shape({\n  population: yup.number().min(1000000).max(8000000).typeError(\"требуется числовое значение\").required(\"обязательное поле\"),\n  n_future: yup.number().min(10).max(100).typeError(\"требуется числовое значение\").required(\"обязательное поле\"),\n  init_infected: yup.number().min(10).max(100).typeError(\"требуется числовое значение\").required(\"обязательное поле\"),\n});\n\nexport function The_spread_of_epidemics(){\n\n  const [population_data, setPopulation_data] = useState(2798170)\n  const [region_data, setRegion_data] = useState(1)\n  const [region_name, setRegion_name] = useState(\"Новосибирская область\")\n  const [n_future_day, setN_future_day] = useState(45)\n  const [init_inf, setInit_inf] = useState(20)\n\n  const download_chart=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const cancelToken = useRef();\n\n  const run_msim_ = (e) => {\n    e.preventDefault()\n    var now = new Date().toLocaleDateString();\n    setWithspinner(true)\n    setIsrunning(true)\n    cancelToken.current = axios.CancelToken.source();\n  axios({\n      url:'https://server.ai-biolab.ru/data',\n      method: \"POST\",\n      responseType:\"blob\",\n      data: {population_data, region_data, n_future_day, init_inf},\n      cancelToken: cancelToken.current.token\n    }).then((res)=>{\n         setWithspinner(false)\n         setIsrunning(false)\n         initchart()\n      })\n  }\n\n   const break_get = () => {\n     setWithspinner(false)\n     setIsrunning(false)\n     cancelToken.current.cancel();\n   }\n\n    const [chartData_all, setChartData_all] = useState({\n      datasets: [],\n    })\n    const [initchartData_all, setINITChartData_all] = useState({\n      datasets: [],\n    })\n    const [chartOptions, setChartOptions] = useState({})\n    const [isrunning, setIsrunning] = useState(false)\n\n    let cov_data = [];\n    let cov_nd = [];\n    let cov_nd_high = []\n    let cov_nd_state=[];\n    let cov_data_state=[];\n    const [data, setData] = useState(cov_data)\n    const [data_cov_nd_high, setData_cov_nd_high] = useState(cov_nd_high)\n    const [data_cov_nd, setData_cov_nd] = useState(cov_nd)\n\n    let cov_cum_diag = [];\n    let cov_cum_diag_high = [];\n    const [data_cov_cum_diag_high, setData_cov_cum_diag_high] = useState(cov_cum_diag_high)\n    const [data_cov_cum_diag, setData_cov_cum_diag] = useState(cov_cum_diag)\n\n    let cov_new_death= [];\n    let cov_new_death_high = [];\n    const [data_cov_new_death_high, setData_cov_new_death_high] = useState(cov_new_death_high)\n    const [data_new_death, setData_cov_new_death] = useState(cov_new_death)\n\n    let cov_new_rec= [];\n    let cov_new_rec_high = [];\n    const [data_cov_new_rec_high, setData_cov_new_rec_high] = useState(cov_new_rec_high)\n    const [data_new_rec, setData_cov_new_rec] = useState(cov_new_rec)\n\n    let cov_new_crit= [];\n    let cov_new_crit_high = [];\n    const [data_cov_new_crit_high, setData_cov_new_crit_high] = useState(cov_new_crit_high)\n    const [data_new_crit, setData_cov_new_crit] = useState(cov_new_crit)\n\n\n    const [someerrors, setSomeerrors] = useState(false)\n    const [loadingprosses, setLoadingprosses] = useState(true)\n    const [chartnum, setChartnum] = useState(1)\n    //1-5 - chart\n    //6-10 - init chart\n\n    const real_data1=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"cредний прогноз\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"максимальный прогноз\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data2=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.001,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data3=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data4=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"cредний прогноз\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"максимальный прогноз\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data5=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"cредний прогноз\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n    const real_data6=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"cредний прогноз\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"максимальный прогноз\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data7=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data8=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"cредний прогноз\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"максимальный прогноз\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data9=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"cредний прогноз\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"максимальный прогноз\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data10=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"данные\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"cредний прогноз\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n\n    const initchart = () => {\n      setChartnum(6)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n          ],\n          });\n          setChartOptions({\n             maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев заражений\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n          setnewChart(false)\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_cumdiag = () => {\n      setChartnum(7)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз суммарного количества заражений\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_newdeath = () => {\n      setChartnum(8)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз летальных исходов\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_rec = () => {\n      setChartnum(9)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев выздоровления\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_crit = () => {\n      setChartnum(10)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз количества больных в критическом состоянии\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    const chart = () => {\n      setChartnum(1)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          setLoadingprosses(false)\n          setSomeerrors(false)\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {\n                     enabled: true\n                   },\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев заражения\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                position: \"top\",\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          setLoadingprosses(false)\n          setSomeerrors(true)\n          console.log(err);\n        });\n    };\n    const chart_cumdiag = () => {\n      setChartnum(2)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз суммарного количества заражений\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_newdeath = () => {\n      setChartnum(3)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз летальных исходов\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_rec = () => {\n      setChartnum(4)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз новых случаев выздоровления\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_crit = () => {\n      setChartnum(5)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"cредний прогноз\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"максимальный прогноз\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Прогноз количества больных в критическом состоянии\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Регион прогнозирования: \" + region_name, \"Численность популяции: \" + population_data, \"Начально инфицированных: \"+ init_inf, \"Дней прогнозирования: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    useEffect(() => {\n      real_data1();\n    }, [])\n\n    useEffect(() => {\n      chart();\n    }, [])\n\n  const [withspinner, setWithspinner] = useState(false)\n  const [newChart, setnewChart] = useState(true) /////true\n  const [open, setOpen] = useState(false);\n  const [reset, setReset] = useState(true);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      x: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      x: -100,\n   },\n  }\n\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n\n  return(\n  <>\n  <NaviBarv2 />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p className=\"lead my-4\">В лаборатории исследуются математические модели распространения инфекционных заболеваний в популяции (эпидемии), основанные на дифференциальных уравнениях (обыкновенные, уравнения в частных производных, стохастические), агентно-ориентированных, моделях машинного обучения и их комбинации. Основная идея, объединяющая все математические модели, состоит в построении алгоритмов анализа и идентификации неизвестных параметров моделей (коэффициенты, начальные и граничные условия), которые характеризуют особенности распространения эпидемии в исследуемом регионе: контагиозность вируса, скорость развития тяжелых форм заболевания, количество бессимптомных инфицированных, уровень изоляции больных, смертность и др.</p>\n        <Tabs  justify defaultActiveKey=\"AOM\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"AOM\" title=\"Агентная модель\">\n          <Card className=\"text-center mx-auto\" border=\"light\" bg=\"light\">\n          <Row >\n            <Col md={2} >\n            <Row >\n              <Col xs= {12}  lg={12}>    <Button\n                    variant=\"outline-primary\"\n                    className=\"bg-white shadow1 text-primary my-2 mx-2\"\n                    onClick={() => setOpen(!open)}\n                    aria-controls=\"example-fade-text\"\n                    aria-expanded={open}\n                  >  {open? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Описание модели\n                  </Button></Col>\n              <Col xs= {12} lg={12}>\n\n              <OverlayTrigger\n                rootClose={true}\n                 placement=\"bottom\"\n                 ref={(ref) => this.overlay = ref}\n                 overlay={\n                   <Popover className=\"shadow1\">\n                     <Popover.Body>\n                     <div align=\"center\" className=\"text-black\">\n                     Моделирование сценариев распространения Covid-19 в Республике Казахстан на основе регуляризации агентной модели.</div>\n                     <small  align=\"center\" className=\"text-success\"><div>О.И. Криворотько</div>\n                     <div>С.И. Кабанихин</div>\n                      <div>М.А. Бектемесов</div>\n                        <div>М.И. Сосновская</div>\n                          <div>А.В.Неверов</div></small>\n                     </Popover.Body>\n                   </Popover>\n                 }>\n                <Button variant=\"link\" onClick={(e)=>{\n                download_article(e)\n                document.body.click(e)\n                this.overlay.hide()\n                }}><BsFillFileEarmarkPdfFill size={30}/></Button>\n                  </OverlayTrigger>\n                  <OverlayTrigger\n                  rootClose={true}\n                     placement=\"bottom\"\n                     ref={(ref) => this.overlay = ref}\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                         <div align=\"center\" className=\"text-success\">\n                         <div><small>Публикация в журнале Моделирование инфекционных заболеваний.</small></div>\n                         <div className=\"text-black\">Агентное моделирование вспышек COVID-19 в штате Нью-Йорк и Великобритании: алгоритм идентификации параметров</div>\n                         <div><small>О.И. Криворотько</small></div>\n                         <div><small>М.И. Сосновская</small></div>\n                         <div><small>И.А. Ващенко</small></div>\n                         <div><small>CliffKerr</small></div>\n                         <div><small>DanielLesnic</small></div>\n                    </div>\n                         </Popover.Body>\n                       </Popover>\n                     }>\n                    <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798\"><Button variant=\"link\" onClick={(e)=>{\n                    document.body.click(e)\n                    this.overlay.hide()\n                    }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                      </OverlayTrigger>\n                      <OverlayTrigger\n                      rootClose={true}\n                      ref={(ref) => this.overlay = ref}\n                         placement=\"bottom\"\n                         overlay={\n                           <Popover className=\"shadow1\">\n                             <Popover.Body>\n                             <div align=\"center\" className=\"text-success\">\n                             <div><small>Препринт 300 СО РАН, института математики им. С.Л.Соболева.</small></div>\n                             <div className=\"text-black\">Математические модели распространения COVID-19.</div>\n                              <div><small>О.И. Криворотько</small></div>\n                              <div><small>С.И. Кабанихин</small></div>\n                        </div>\n                             </Popover.Body>\n                           </Popover>\n                         }>\n                          <a href=\"https://arxiv.org/pdf/2112.05315.pdf\"><Button variant=\"link\" onClick={(e)=>{\n                          document.body.click(e)\n                          this.overlay.hide()\n                          }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                          </OverlayTrigger>\n                          </Col>\n                          </Row>\n          </Col>\n          <Col md={10} >\n        <Card className=\"my-3 shadow1\">  <p align=\"justify\" className=\"mx-3 my-1\"><small>Прогнозирование производится посредством агентной модели расчета сценариев динамики выявленных случаев\nCOVID-19, в основе которой лежат обработка неполных эпидемиологических данных и решение обратной задачи восстановления параметров агентной\nмодели по совокупности доступных эпидемиологических данных. Основным инструментом построения модели является открытая библиотека <a href=\"https://docs.idmod.org/projects/covasim/en/latest/index.html\" >COVASIM</a>. </small></p></Card>\n<div className=\"mx-2\"><hr /></div>\n      </Col>\n        </Row>\n          <Collapse in={open}>\n            <div id=\"example-collapse-text\" className=\"my-2\">\n                <Description_AOM />\n            </div>\n          </Collapse>\n          <Row >\n            <Col sm={12} xs={12} md={12} lg={4}>\n            <motion.div initial=\"hidden\"\n               custom={1}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n              <ListGroup className = \"mx-3 my-1 shadow1\">\n              <OverlayTrigger\n               placement=\"right\"\n               overlay={\n                <Alert variant=\"danger\">\n                  <h6>Пожалуйста, не обновляйте станицу</h6>\n                  <small>при введении параметров и после запуска модели, </small>\n                  <div><small>в противном случае расчёты будут прерваны</small></div>\n                </Alert>\n\n               }\n               >\n                <ListGroup.Item align=\"left\" className=\"bg-secondary text-white\">Параметры моделирования\n                <BsExclamationLg />\n\n                </ListGroup.Item>\n                </OverlayTrigger>\n                <ListGroup.Item variant=\"light\">\n                <Row >\n                  <Col sm={12} sm={12} xs={12} md={12} lg={7} >\n                  <Stack gap={0}>\n                  <div>\n                <Stack direction=\"horizontal\" gap={3}>\n                <div > <p align=\"left\" className=\"my-3 text-black text-small\"><small>Регион</small></p></div>\n\n                    <div>\n                    <OverlayTrigger\n                     placement=\"right\"\n                     overlay={\n                       <Popover>\n                         <Popover.Body>\n                           Регион для построения сценария развития заболевания.\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                        <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                      </OverlayTrigger>\n                    </div>\n              </Stack>\n                  </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={2}>\n                  <div > <p align=\"left\" className=\"my-2 text-black text-small\"><small>Численность популяции</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                         Количество агентов - людей, восприимчивых к заболеванию.\n                         <hr />\n                         <small className=\"text-muted\">от 1 000 000 до 8 000 000</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={0}>\n                  <div > <p align=\"left\" className=\" text-black text-small\"><small>Начально инфицированных</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                         Количество начально инфицированных человек.\n                         <hr />\n                         <small className=\"text-muted\">от 10 до 100 человек</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={3}>\n                  <div > <p align=\"left\" className=\" my-2 text-black text-small\"><small>Дней прогнозирования</small></p></div>\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                        На сколько дней вперед строится сценарий развития заболевания.\n                        <hr />\n                        <small className=\"text-muted\">от 10 до 100 дней</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                <Row >\n                      <Col sm={6}></Col>\n                      <Col sm={6}>  <Button variant=\"secondary\" align=\"end\" className=\" my-3 text-white shadow1\" disabled={!isrunning} onClick={break_get}>Прервать</Button></Col>\n                </Row>\n                    </div>\n                  </Stack>\n              </Col>\n                  <Col sm={12} sm={12} xs={12} md={12} lg={5}>\n                  <Formik\n                        validationSchema={schema}\n                        onChange={(e) => setPopulation_data(e.target.values.population)}\n                        onSubmit={(values, actions) => {\n                            setTimeout(() => {\n                           alert(JSON.stringify(values, null, 2));\n                           actions.setSubmitting(false);\n                         }, 1000);\n                       }}\n                        initialValues={{\n                          population:  population_data,\n                          init_infected: init_inf,\n                          n_future: n_future_day,\n                          lastName: '3',\n                        }}\n                      >\n                        {({ handleSubmit, handleChange, handleBlur, values, touched, isValid, errors, resetForm, setFieldValue}) => (\n                <Form noValidate>\n                  <Stack gap={3}>\n                      <Form.Select aria-label=\"Default select example\"\n                        type=\"number\"\n                        name=\"region\"\n                        isValid={true}\n                        onChange={(e) => {\n                          const selectedRegion = e.target.value;\n                          let sregion = Number(selectedRegion)\n                          setRegion_data(sregion)\n                          if(sregion == 1){\n                            setRegion_name(\"Новосибирская область\")\n                            setPopulation_data(2798170)\n                            setFieldValue(\"population\", 2798170)\n                          } else if(sregion == 2) {\n                            setRegion_name(\"Омская область\")\n                            setPopulation_data(578698)\n                            setFieldValue(\"population\", 1879548)\n                          } else if(sregion == 3) {\n                            setRegion_name(\"Алтайский край\")\n                            setPopulation_data(2268179)\n                            setFieldValue(\"population\", 2268179)\n                          }\n                        }}\n                        >\n                            <option value=\"1\">Новосибирская область</option>\n                            <option value=\"2\">Омская область</option>\n                            <option value=\"3\">Алтайский край</option>\n                      </Form.Select>\n                      <Form.Group key={1} as={Col} controlId=\"validationFormik01\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"population\"\n                          value={values.population}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.population}\n                          isInvalid={!!errors.population}\n                          onSubmit={setPopulation_data(values.population)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={2} as={Col} controlId=\"validationFormik04\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"init_infected\"\n                          value={values.init_infected}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.init_infected}\n                          isInvalid={!!errors.init_infected}\n                          onSubmit={setInit_inf(values.init_infected)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={3} as={Col} controlId=\"validationFormik02\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"n_future\"\n                          value={values.n_future}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.n_future}\n                          isInvalid={!!errors.n_future}\n                          onSubmit={setN_future_day(values.n_future)}\n                        />\n                      </Form.Group>\n\n                        <Button  type=\"submit\"  variant=\"success\" className=\"shadow1\"\n                          disabled={!isValid || isrunning}\n                          onSubmit={handleSubmit}\n                          onClick={(e) => run_msim_(e)}\n                        >\n                        {withspinner ? <Spinner\n                          as=\"span\"\n                          animation=\"border\"\n                          size=\"sm\"\n                          role=\"status\"\n                          aria-hidden=\"true\"\n                        /> : null } Запустить</Button>\n                  </Stack>\n                  </Form>\n                )}\n\n              </Formik>\n                </Col>\n                {withspinner ? <small className=\"text-muted\"><small> ...ожидаемое время расчёта: 1 минута </small></small> : null }\n            </Row>\n            </ListGroup.Item>\n        </ListGroup>\n         </motion.div>\n            </Col>\n            <Col sm={12} xs={12} md={12} lg={8}>\n            <Container>\n            <Stack>\n      <div className=\"ms-auto\">\n              <motion.div initial=\"hidden\"\n                 custom={1}\n                variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            {chartnum == 1 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data1(e)}>Показать данные</Button> : null}\n            {chartnum == 2 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data2(e)}>Показать данные</Button> : null}\n            {chartnum == 3 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data3(e)}>Показать данные</Button> : null}\n            {chartnum == 4 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data4(e)}>Показать данные</Button> : null}\n            {chartnum == 5 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data5(e)}>Показать данные</Button> : null}\n\n            {chartnum == 6 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data6(e)}>Показать данные</Button> : null}\n            {chartnum == 7 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data7(e)}>Показать данные</Button> : null}\n            {chartnum == 8 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data8(e)}>Показать данные</Button> : null}\n            {chartnum == 9 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data9(e)}>Показать данные</Button> : null}\n            {chartnum == 10 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data10(e)}>Показать данные</Button> : null}\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">Чтобы скрыть отображаемые данные - кликните по их названиям</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n              </OverlayTrigger>\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">Для приближения - выделите необходимую область или прокрутите колесо мыши.</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\" mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n              </OverlayTrigger>\n              <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e)}><FiDownload/></Button>\n              </motion.div>\n              </div></Stack>\n              {loadingprosses ? <div style={{\n                      height: '400px'}}><Spinner style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n              someerrors ?   <div style={{\n                      height: '350px' }}><Alert variant=\"danger\" className=\"my-5\"> <Alert.Heading>Ошибка загрузки</Alert.Heading>\n              Сервер временно не отвечает, пожалуйста, <Alert.Link href=\"/modeling\">обновите страницу</Alert.Link> или повторите попытку позже.\n              <hr /> </Alert> </div> :\n\n   newChart? <div style={{ height: '25rem' }}><Line id=\"chart\" data={chartData_all} options={chartOptions} height=\"150%\" /></div> : <div ><Line id=\"chart\" options={chartOptions} data={initchartData_all} height=\"150%\" /></div>}\n   <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} animate=\"visible\" viewport={{amount: 0.1, once: true}}>\n   {newChart? <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n     <Nav.Item >\n     <Button className=\"shadow3\" size=\"sm\" variant=\"outline-info\" onClick = {chart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Заражения</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"2\">Суммарная заболеваемость</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\"  onClick = {chart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"3\">Смертность</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Выздоровления</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {chart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Критические</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav> : null} </motion.div>\n\n   {newChart? null : <Nav variant=\"pills\" defaultActiveKey=\"1\" className=\"my-2 \">\n     <Nav.Item >\n     <Button className=\"shadow3\" className=\"chart3\" size=\"sm\" variant=\"outline-info\" onClick = {initchart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Заражения</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {initchart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"2\">Суммарная заболеваемость</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\"  onClick = {initchart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"3\">Смертность</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Выздоровления</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Критические</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav>}\n            </Container>\n            </Col>\n          </Row>\n        </Card>\n          </Tab>\n          <Tab eventKey=\"SEIR-HCD\" title=\"SEIR-HCD\">\n          <p class=\"lead my-4\">Построена и проанализирована <b><u>дифференциальная SEIR-HCD модель распространения COVID-19 в регионах Российской Федерации</u></b>, описываемая 7 нелинейными обыкновенными дифференциальными уравнениями, объединенными законом действующих масс. Суть модели заключается в исследовании распространения инфекционного заболевания в замкнутой популяции, разделенной на 7 групп, связанные между собой коэффициентами (часто, вероятностями) перехода: восприимчивые (S), бессимптомные носители (E), симптомные инфицированные (I), вылеченные или имеющие иммунитет (R), госпитализированные (H), критические случаи, подключенные к аппарату искусственной вентиляции легких (ИВЛ) (C) и умершие (D). Внутри каждой группы индивидуумы однородно перемешаны. Коэффициенты перехода между состояниями характеризуются средним временем пребывания в инкубационном состоянии (t<sub>inc</sub>), среднее время инфицирования (t<sub>inf</sub>), госпитализации (t<sub>hosp</sub>), пребывания в критическом состоянии (t<sub>crit</sub>) и продолжительность иммунитета к вирусу (t<sub>imm</sub>), которые определяются из статистических оценок и распределены по лог-нормальному закону с заданными средним и дисперсией. Вектор параметров q=(<span>&alpha;</span>(t), <span>&beta;</span>(t), <span>&epsilon;</span>(t), <span>&mu;</span>(t), E<sub>0</sub>, I<sub>0</sub>) определяется в ходе решения обратной задачи, состоящей в минимизации целевого функционала, описывающего отклонение модельных данных от реальных:</p>\n          <div class=\"center\"><img src={seir1} align=\"center\" width={1000} /></div>\n          <p class=\"lead my-4\">Здесь h<sub>k</sub><sup>real</sup> – количество выявленных инфицированных COVID-19 в день k, b<sub>k</sub><sup>real</sup> – доля бессимптомных носителей из числа выявленных в день k, C<sub>k</sub><sup>real</sup> – количество критических больных в день k, g<sub>k</sub><sup>real</sup> – кумулятивное количество смертей в результате COVID-19 в день k. Параметры q кусочно-постоянны по времени, согласованные с принятыми ограничительными мерами в Новосибирской области (вертикальные пунктирные линии). Анализ чувствительности показал, что скорость формирования иммунитета <span>&beta;</span>(t) не чувствителен к измерениям, что делает обратную задачу некорректной (серая линия на рисунке). При добавлении дополнительной информации о проценте населения с поздними антителами к вирусу Sars-CoV-2 (сайт Инвитро), решение обратной задачи (красная линия) лучше описывает реальные данные с 22.05.2020 по 17.10.2021 (черные точки).</p>\n          <div class=\"center\"><img src={seir2} align=\"center\" width={600} /></div>\n          <div class=\"center\"><img src={seir3} align=\"center\" width={600} /></div>\n          <p class=\"lead my-4\">Построена и проанализирована дифференциальная математическая модель распространения ко-инфекции туберкулеза и ВИЧ в регионах Российской Федерации, описываемая системой 8 нелинейных обыкновенных дифференциальных уравнений, связанных между собой законом действующих масс (Рис. 1). Принцип построения модели основан на разделении замкнутой популяции на 8 групп: восприимчивые (S), носители латентного туберкулеза (L), больных активной формой туберкулеза (I), вылеченные от туберкулеза (T), больные ВИЧ (J<sub>1</sub>), инфицированные ВИЧ и латентным туберкулезом (J<sub>2</sub>), больные активным туберкулезом и ВИЧ (J<sub>3</sub>), СПИД больные (A). Параметры модели q = ( βc, <lambda>σ</lambda>, k, k<sup>*</sup>, r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, J<sub>1</sub>, 0) определялись как решение обратной задачи по дополнительной информации о количестве больных активной формой туберкулеза, ВИЧ-инфицированных и больных активной формой туберкулеза и ВИЧ с 2009 по 2023 гг. Наиболее неблагоприятные регионы по эпидемиологической ситуации туберкулеза в РФ на 2023 год (высокий уровень контагиозности вируса и низкий уровень лечения активной формы туберкулеза): Челябинск, Новосибирск, Тула и Удмуртия (Рис. 2 и 3).</p>\n          <div class=\"center\"><img src={seir4} align=\"center\" width={600} /><p class=\"lead my-4\">Рис. 1. Схема дифференциальной математической модели динамики ко-инфекции туберкулеза и ВИЧ в популяции.</p></div>\n          <div class=\"center\"><img src={seir5} align=\"center\" width={600} /><p class=\"lead my-4\">Рис. 2. Параметр контагиозности туберкулеза в РФ, вычисленный в рамках решения обратной задачи.</p></div>\n          <div class=\"center\"><img src={seir6} align=\"center\" width={600} /><p class=\"lead my-4\">Рис. 3. Коэффициент лечения активной формы туберкулеза в регионах РФ.</p></div>\n          <p class=\"lead my-4\"></p>\n          <p class=\"lead my-4\"></p>\n          <p class=\"lead my-4\"></p>\n         \n            <ModelingSEIR_HCD />\n          </Tab>\n          <Tab eventKey=\"field\" title=\"Модели среднего поля\">\n          <p class=\"lead my-4\"> Проведено сравнение нескольких подходов к моделированию эпидемий. Первый подход основан на известных компартментальных моделях типа SIR, представленных в виде системы обыкновенных дифференциальных уравнений. Второй и третий подходы основаны на моделях среднего поля, отличающихся между собой выбором популяцией стратегии изоляции. Сравнение проводилось с нескольких точек зрения: аналитический анализ, анализ чувствительности относительно параметров модели, численное сравнение с использованием синтетических и реальных данных, собранных во время пандемии Covid-19. Были получены ограничения на существование и единственность решения эпидемиологических задач среднего поля в разных формулировках. Проведен анализ чувствительности моделей. Решена обратная коэффициентная эпидемиологическая задача среднего поля. Проведены вычислительные эксперименты по восстановлению параметров модели на синтетических данных, зашумленных синтетических данных, реальных данных, неполных реальных данных.</p>\n          <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n    <Container align=\"left\">\n        <div>\n            <img src={field1} width={600} alt=\"Описание изображения\" />\n            <p className=\"lead my-2\" style={{ textAlign: 'left' }}>\n                Рисунок 1. Численное сравнение прогнозов численности асимптотических больных в г. Новосибирске в 2020 г., полученных (а) с помощью дифференциальной модели SEIR-HCD (синяя линия); (б) с помощью двух постановок среднего поля (красная и черные линии) со статическими данными (черные точки)\n            </p>\n        </div>\n    </Container>\n    <Container align=\"right\">\n        <div>\n            <img src={field2} width={650} alt=\"Описание изображения\" />\n            <p className=\"lead my-2\" align=\"left\">\n                Рисунок 2. Сравнение качества восстановления параметра контагиозности вируса в зависимости от полноты используемых реальных измерений численности населения в разных эпидемиологических группах\n            </p>\n        </div>\n    </Container>\n</div>\n<div class=\"center\"><img src={field3} align=\"center\" width={1000} /><p class=\"lead my-4\">Рисунок 3. Анализ чувствительности прогноза числа инфицированных, полученного по эпидемиологической модели среднего поля, к параметрам модели. Показана временная динамика изменения индексов чувствительности (1,3,7,15,30,90,150 дней).</p></div>\n          <h5 class=\"my-4\">Публикации:</h5>\n          <p class=\"lead my-4\">1.\tV. Petrakova, O. Krivorotko. Comparison of two mean field approaches to modeling. JOTA. </p>\n          <h5 class=\"my-4\">Принята к печати. WoS, Scopus, Q1-SJR</h5>\n          <p class=\"lead my-4\">2.\tV. Petrakova. Inverse coefficient problem for epidemiological mean field formulation. Mathematics. 2024, 12(22), 3581. </p>\n          <h5 class=\"my-4\">WoS, Scopus Q2-SJR</h5>\n          </Tab>\n          <Tab eventKey=\"machine\" title=\"Машинное обучение\">\n          <p className=\"lead my-4\"><u>Модель прогнозирования для временных рядов с использованием байесовского подхода и гауссовских процессов для оценки мощности группы ветроэлектрических установок</u></p>\n          <p className=\"lead my-4\">Прогнозирование временных рядов является актуальной задачей в авиации, в энергетике, в климатологии, в экономике. Временные ряды характеризуют ряд физических и экономических процессов. Методы прогнозирования бывают краткосрочные, среднесрочные, долгосрочные. Статистические модели обычно предсказывают величины на 1-3 точки вперед, что является недостаточным для многих прикладных задач. Для гарантированной точности прогноза на большое количество точек вперед целесообразно применять вероятностные модели прогноза во времени, так как они содержат доверительный интервал. Неопределенность прогнозируемых величин может быть выражена с помощью разных мер вероятности (PDF, CDF, квантили, интервалы, дисперсия, другие). </p>\n          <p className=\"lead my-4\">Во многих странах (Китай, Дания, Германия, Великобритания, США) активно ведутся работы по разработке новых ML/AI моделей для оценки работы ветроэлектрических станций (ВЭС). Существует потребность в разработке ML/AI моделей прогноза мощности и стоимости единицы электроэнергии. Как правило, краткосрочные модели нацелены на прогноз на 10-30 минут; долгосрочные модели (рынок) на 24-72 часа вперед. Для тестирования моделей имеются открытые данные по метеопараметрам и выработке мощности с различных соревнований (хакатоны): GEFCom2014, Baidu KDD Cup 2022, Zendoo UK 2022, IEEE Power and Energy Society Working Group on Energy Forecasting and Analytics 2024 </p>\n          <p className=\"lead my-4\">В проекте рассматривается постановка задачи предсказания выработки мощности электроэнергии для группы ветроэлектрических установок (ВЭУ), оснащенных системой сбора данных. Использованы исторические данные (скорость ветра, направление ветра, температура воздуха, вырабатываемая мощность P, угол поворота лопастей, угол поворота гондолы, другие параметры) за 2 года с кратностью записи в 1 час. Общее количество записей N=17250. Необходимо разработать вероятностную модель прогноза электроэнергии на 24 часа вперед с доверительным интервалом в 80%, 90%, 95%. </p>\n          <p className=\"lead my-4\">После изучения исходных данных потребовалось устранить выбросы и пропуски в данных. </p>\n          <p className=\"lead my-4\">Для построения модели прогноза использована модель гауссовской регрессии для функции мощности ВЭУ в зависимости от погодных данных при наличии величины шума.</p>\n          <p className=\"lead my-4\">Планируется использовать байесовскую теория для вычисления апостериорного распределения мощности ВЭУ, т.е. полученное значение после наблюдений, которое представляет собой произведение априорной вероятности и правдоподобия. Для удобства распределение вероятности прогноза мощности можно нормировать с помощью логит-нормаль преобразования и изменялось в диапазоне [0-1].</p>\n          <p className=\"lead my-4\">Вероятностная разреженная вариационная модель на основе гауссовского процесса включает в себя модель полносвязанной нейронной сети для нахождения средней функции и функцию ковариации. Для представления модели нейронной сети использована конечная функция, которая представляла собой композицию аффинных функций и функций активации. Функция ковариации имела квадратичное экспоненциальное ядро.</p>\n          <p className=\"lead my-4\">В процессе решения подобных задач на вычислительном сервере всегда необходимо оценивать ресурсы оперативной памяти и доступное дисковое пространство. Для понижения размерности модели задаются специальные точки модели в количестве М, которые удовлетворяют соотношению M≪N. В итоге формируется вектор набора точек Z. Апостериорное распределение мощности ВЭУ записывается относительно новых переменных. Для нахождения параметров модели решается задача о нахождении максимума целевой функции правдоподобия. Модель нейронной сети включает в себя входной слой [1,512], 2 скрытых слоя [512,512], один выходной слой [512,1]. Функция активации задается ReLu.  </p>\n          <p className=\"lead my-4\">В результате обработки исходных данных отрицательные значения и пиковые значения мощности исключаются из датасета. Для значения температуры имеется годовой тренд (Рис 1). Модель обучается на части исторических данных. Далее на вход модели подаются тестовые данные и делается прогноз значения P для одной ВЭУ. По результатам обучения и прогнозирования вычисляется среднее значение функции мощности и величина дисперсии. Модель обучается с помощью Adam оптимизатора, lr=1e-3, количество эпох 200. Количество точек модели варьируется от 600 до 1000.</p>\n          <p className=\"lead my-4\">В результате прогнозирования получены графики для значения мощности P значения метрик MAE, RMSE, CRPS для одиночной ВЭУ. Далее значения прогноза мощности P складывались для всей группы из 8 ВЭУ. Значение ошибки не превышало 6%.</p>\n          <img src={machine1} align=\"left\" width={640} />\n          <img src={machine2} align=\"right\" width={638} />\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Рис. 1 Значение скорости ветра, направления ветра, температуры, мощности ВЭУ.</p>\n          <img src={machine3} align=\"left\" width={640} />\n          <img src={machine4} align=\"right\" width={640} />\n          <br></br>\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Рис. 2. Результаты предсказания мощности на 24 и 48 часов вперед для ВЭУ в КВт</p>\n          <p className=\"lead my-4\">В проекте планируется доработать вероятностную модель прогноза электроэнергии на 24 часа вперед с доверительным интервалом в 90%, 95%. </p>\n          <p className=\"lead my-4\"><u>Модели прогнозирования временных рядов для описания процессов распространения эпидемий</u></p>\n          <p className=\"lead my-4\">Построены модели машинного обучения краткосрочного прогнозирования временных рядов, описывающие процессы распространения эпидемий в случае достаточного количества данных (эпидемия COVID-19). На рисунке приведена архитектура нейронной сети, состоящая из рекуррентных и полносвязных слоев. Рекуррентные слои нейронной сети в дополнение к анализу пространства признаков способны анализировать пространство времени в данных.</p>\n          <img src={machine5} align=\"left\" width={604} />\n          <img src={machine6} align=\"right\" width={690} />\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Для построения доверительных байесовских интервалов была построена математическая модель, основанная на условной генеративно-состязательной нейронной сети, архитектура которой приведена на рисунке ниже [ссылка на последнюю статью].</p>\n          <div class=\"center\"> <img src={machine7} align=\"center\" width={630} /></div>\n          <p className=\"lead my-4\">В результаты были получены прогнозы распространения эпидемии COVID-19 в г. Санкт-Петербург в 2024 году на 1, 3 и 5 дней вперед (красная линия) в сравнении с реальными данными количества выявленных случаев заражения (черные точки), доверительный интервал (красная полоса) и погрешность модели (правые столбчатые графики).</p>\n          <div class=\"center\"><img src={machine8} align=\"center\" width={630} /></div>\n          <p className=\"lead my-4\">Построенные модели нейронных сетей: полносвязная (фиолетовая линия), генеративно-состязательная (синяя линия, среднее) – были сравнены с дифференциальной SEIR-HCD моделью (красная линия) на реальных данных количества инфицированных в г. Санкт-Петербург в 2022-2024 гг. (черные точки). Полученные модели хорошо согласуются с реальными данными и с друг другом в том числе на краткосрочных прогнозах до 5ти дней.</p>\n          <div class=\"center\"><img src={machine9} align=\"center\" width={900} /></div>\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer />\n  </>\n)}\n\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2 from './Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport medicine1 from \"./images/directions/medicine1.png\"\nimport medicine2 from \"./images/directions/medicine2.png\"\nimport medicine3 from \"./images/directions/medicine3.png\"\nimport medicine4 from \"./images/directions/medicine4.png\"\nimport medicine5 from \"./images/directions/medicine5.png\"\nimport medicine6 from \"./images/directions/medicine6.png\"\nimport medicine7 from \"./images/directions/medicine7.png\"\n\nimport Footer from './Components/Footer'\n\n\n\nexport function Medicine(){\n\n\n  return(\n  <>\n  <NaviBarv2 />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n        <Tabs  justify defaultActiveKey=\"AI\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"AI\" title=\"ИИ сегментации патологий в головном мозге\">\n          <p class=\"lead my-4\">Была проведена сегментация аневризм сосудов головного мозга с помощью U-Net подобной модели 3D сегментации. </p>\n          <p class=\"lead my-4\">Модель имеет 180.000 обучаемых параметров, весит 0.72mb, время получения предсказания 821 ms ± 63.6 ms. Схема архитектуры представлена ниже.</p>\n          <div class=\"center my-4\"><img src={medicine1} align=\"center\" width={900} /></div>\n          <p class=\"lead my-4\">Использовалось 200 3D КТ изображений верхней части туловища пациентов с аневризмами. Изображения имели вертикальный размер от 500 до 1100 и размер 512x512 по горизонтали. Для анализа вырезали область черепа и уменьшили размер изображений до 128x128x128. Интенсивность изображений была установлена в диапазоне 50-450.</p>\n          <div class=\"center my-4\"><img src={medicine2} align=\"center\" width={700} /></div>\n          <p class=\"lead my-4\">Результаты показали высокую точность в локализации аневризм, при этом форма самой области оставалась в рамках приемлемой погрешности. Так же модель отмечала области похожие на аневризмы, которые не были отмечены врачами.</p>\n          <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n    <Container align=\"left\">\n        <div>\n            <img src={medicine3} width={638} alt=\"Описание изображения\" />\n            <p className=\"lead my-2\" style={{ textAlign: 'center' }}>\n            Исходная сегментация\n            </p>\n        </div>\n    </Container>\n    <Container align=\"right\">\n        <div>\n            <img src={medicine4} width={630} alt=\"Описание изображения\" />\n            <p className=\"lead my-2\" align=\"center\">\n            Сегментация моделью\n            </p>\n        </div>\n    </Container>\n</div>\n          </Tab>\n          <Tab eventKey=\"Nuclear\" title=\"Модели в ядерной медицине\">\n          <p class=\"lead my-4\"><b>Однофотонная эмиссионная компьютерная томография</b> (ОФЭКТ) — один из ведущих методов визуализации в ядерной медицине, применяемый для диагностики онкологических, кардиологических и неврологических заболеваний. Современные исследования в этой области смещаются от качественной интерпретации изображений к <b>точной количественной оценке накопления радиофармпрепаратов (РФП)</b> в патологических очагах. Это необходимо для дозиметрического планирования и оценки эффективности радионуклидной терапии (РТ), особенно у пациентов с метастатическим раком, где РТ демонстрирует высокую результативность. </p>\n          <p class=\"lead my-4\"><b>Проблемы точности</b> количественной оценки в ОФЭКТ связаны с математической некорректностью задач реконструкции, шумами пуассоновской природы в проекционных данных, появлением <b>краевых артефактов</b> на высококонтрастных участках (например, опухолевых очагах), которые, как выяснено, сохраняются на протяжении большого числа итераций алгоритма реконструкции (рис. 1). <b>Клинические методы</b> исследований ограничены отсутствием эталонных данных, лучевой нагрузкой и высокой стоимостью испытаний с физическими фантомами (например, NEMA IEC (рис. 2А)).</p>\n          <p class=\"lead my-4\">В лаборатории разрабатывается подход на основе <b>имитационного моделирования с использованием цифрового двойника фантома NEMA IEC</b> (рис. 2Б). Такой метод позволяет гибко варьировать параметры протокола и характеристики очагов, проводя виртуальные испытания.</p>\n          <p class=\"lead my-4\"><b>Цель</b> исследований — определение оптимальных параметров алгоритма реконструкции OSEM для получения точной количественной оценки активности РФП в патологических очагах. Имитационное моделирование показало, что оптимальное число итераций зависит от размера очага. <b>Полученные результаты</b> могут стать рекомендациями для повышения точности количественного анализа ОФЭКТ-изображений, улучшения диагностики и оптимизации планирования лечения.</p>\n          <div class=\"center\"><img src={medicine5} align=\"center\" width={700} /><p class=\"lead my-4\">Рис. 1. Реконструированные профили численного фантома NEMA IEC: синяя кривая — эталонные данные; красная — реконструированный профиль активности. Наблюдается сохранение краевых артефактов на протяжении большого числа итераций n.</p></div>\n          \n          <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n    <Container align=\"center\">\n        <div>\n            <img src={medicine6} width={300} alt=\"Описание изображения\" />\n        </div>\n    </Container>\n    <Container align=\" center\">\n        <div>\n            <img src={medicine7} width={300} alt=\"Описание изображения\" />\n        </div>\n    </Container>\n</div>\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Рис. 2. А) Изображение физического фантома NEMA IEC, Б) Поперечное сечение численного фантома NEMA IEC, проходящее через центр сфер.</p>\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer />\n  </>\n)}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2 from './Components/NaviBarv2';\nimport ModelingSEIR_HCD from './ModelingSEIR_HCD'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport pollution1 from \"./images/directions/pollution1.png\"\nimport pollution2 from \"./images/directions/pollution2.png\"\nimport pollution3 from \"./images/directions/pollution3.png\"\nimport Footer from './Components/Footer'\n\n\n\nexport function Pollution_modeling(){\n\n\n  return(\n  <>\n  <NaviBarv2 />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p class=\"lead my-4\"><u>Разработка модели прогноза значений эмиссий (СО, CO2, NOx) на российских ТЭЦ с использованием моделей машинного обучения и глубоких нейронных сетей с целью оценки региональной экологии”</u></p>\n                <p class=\"lead my-4\">Одна из актуальных тем в области энергетики связана с созданием цифровых двойников электростанций, с использованием достижений искусственного интеллекта для повышения эффективности и надежности работы теплоэнергетического оборудования (ПГУ, ГТУ). Принципиальная схема тепловой электростанции станции (ТЭЦ) показывает технологическую связь всех ее основных элементов и их роль в технологическом процессе выработки тепла и электрической энергии. На рисунке 1 представлена принципиальная тепловая схема парогазовой электростанции, мощностью 230 МВт.  </p>\n                <p class=\"lead my-4\">В области изучения работы ТЭЦ и оценки вредных выбросов за последние 5 лет можно отметить работы авторов из Турции (Namık Kemal University, Tekirdağ), Канады (Southern Alberta Institute of Technology), Китая (SJTU), Великобритании (University of Aberdeen), Siemens UK; США (Harvard University; Jet Propulsion Laboratory; California Institute of Technology, Pasadena). Данное научное направление актуально в связи с сокращением выброса вредных веществ в атмосферу, с соблюдений требований по международным нормам в области экологических стандартов.</p>\n                <p class=\"lead my-4\">Наша научная работа направлена на формирование датасетов по 3-м газотурбинным установкам (ГТУ) модели Alstom GT13E2 с номинальной мощностью P=180 МВт, которые работают в составе ТЭЦ44, в составе 3-х различных парогазовых установках (ПГУ), а также ТЭЦ11 (модели ГТУ Siemens V64.3A / SGT-1000F с номинальной мощностью P= 70 МВт и Ansaldo AE64.3А с номинальной мощностью P= 75 МВт). Значения эмиссии выбросов CO (окись углерода), CO2, NO2 (оксид азота), оцениваются в mg/m3 по историческим данным с АСУТП за 3 года (2021-2023). Кратность записи данных задается в 1 час. </p>\n                <p class=\"lead my-4\">На первом этапе для формирования датасета было выбрано 18 параметров на ТЭЦ: \n-\tтемпература, давление, влажность окружающей среды; <br></br>\n-\tтемпература на входе и на выходе из турбины; <br></br>\n-\tдавление газа на входе в турбину; <br></br>\n-\tдавление газа до и после компрессора; <br></br>\n-\tтемпература в компрессоре; <br></br>\n-\tвырабатываемая мощность ГТУ; <br></br>\n-\tзначения величин CO, 02, CO2, NOx (Рис.2, Рис.3).\n</p>\n                <p class=\"lead my-4\">Стоит отметить, что авторы из University of Aberdeen, UK выполняют в настоящее время проект по экологическому мониторингу ГТУ SGT-400 и собирают около 174 параметров. Далее количество данных сокращается до 88, применяются методы ML.</p>\n                <p class=\"lead my-4\">В качестве исходных данных для анализа значений выброса эмиссий оксида CO,CO2, NOx с российских ТЭЦ и определения положения атмосферных струй (плюмов) от дымовых труб могут быть использованы данные со спутников Sentinel-2, Sentinel-5P/TROPOMI, Landsat 7,8,9. Необходимы будут метеоданные по скорости ветра, направлению ветра, влагосодержанию из базы данных ECMWF’s ERA5. Планируется применение моделей для инверсии гауссовского плюма, для учета влияния поперечного потока, интегрального увеличения массы и метода дивергенции.</p>\n                <p class=\"lead my-4\">В проекте планируется разработать математическую модель прогноза выброса вредных веществ и реализовать ее в виде программы на языке Python.</p>\n                <p class=\"lead my-4\">В проекте будут рассмотрены современные модели машинного обучения (eXtreme Gradient Boosting – GBDT XGBoost; LightGBM; SVGP – Sparce Variational Gaussian Processes), модели глубоких нейронных сетей: LSTM, Extreme learning machine (ELM) regressor; трансформеров (Self-Attention and Intersample Attention Transformer- SAINT; FT-Transformer, TabTransformer, MiniRocket). Планируется использовать библиотеки для фреймворка машинного обучения PyTorch: tsai, pytorch_tabular, tab-transformer-pytorch.</p>\n                <div class=\"center my-4\"><img src={pollution1} align=\"center\" width={700} /></div>\n                <div class=\"center\"><img src={pollution2} align=\"center\" width={850} /><p class=\"lead my-4\">Рис. 2. Пример временного рядя для выбросов NOx в мг/м3 с российской электростанции ТЭЦ44 на основе наблюдений с кратностью записи в 1 час за 2022-2023 г.</p></div>\n                <div class=\"center\"><img src={pollution3} align=\"center\" width={850} /><p class=\"lead my-4\">Рис. 3. Пример временного рядя для выбросов CO2 в мг/м3 с российской электростанции ТЭЦ44 на основе наблюдений с кратностью записи в 1 час за 2022-2023 г.</p></div>\n                \n    </Container>\n    <Footer />\n  </>\n)}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2 from './Components/NaviBarv2';\nimport ModelingSEIR_HCD from './ModelingSEIR_HCD'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport social1 from \"./images/directions/social1.png\"\n\nimport Footer from './Components/Footer'\n\n\n\nexport function Social_processes(){\n\n\n  return(\n  <>\n  <NaviBarv2 />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p class=\"lead my-4\">Построена и проанализирована модель среднего поля, которая описывает процесс распространения информации в онлайн социальных сетях с учетом внешнего воздействия. При этом под расстоянием понимается минимальное количество связей между источником и пользователем, и в модели учитываются процессы распространения информации с увеличением расстояния до источника (контент-ориентированный процесс) и при одинаковом расстоянии до источника (структурно-ориентированный процесс).</p>\n         <div class=\"center\"><img src={social1} align=\"center\" width={600} /></div>\n         <p class=\"lead my-4\">Определена оптимальная стратегия поведения пользователей, вовлеченных в процесс распространения информации, при условии ограничений на распространения информации. Изучена чувствительность параметров модели, влияющих на управление, и начальных условий. </p>\n         <p class=\"lead my-4\">Сформулированы обратные задачи определения начального условия по дополнительной информации о процессе распространения информации при добавлении управления. Обратные задачи отличались между собой функцией управления и были сведены к задаче минимизации функционалов невязки. С помощью байесовской оптимизации численно исследованы решения полученных обратных задач для синтетических данных. </p>\n    </Container>\n    <Footer />\n  </>\n)}","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\n\nvar ATTRIBUTE_NAMES = {\n    BODY: \"bodyAttributes\",\n    HTML: \"htmlAttributes\",\n    TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = {\n    BASE: \"base\",\n    BODY: \"body\",\n    HEAD: \"head\",\n    HTML: \"html\",\n    LINK: \"link\",\n    META: \"meta\",\n    NOSCRIPT: \"noscript\",\n    SCRIPT: \"script\",\n    STYLE: \"style\",\n    TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n    return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = {\n    CHARSET: \"charset\",\n    CSS_TEXT: \"cssText\",\n    HREF: \"href\",\n    HTTPEQUIV: \"http-equiv\",\n    INNER_HTML: \"innerHTML\",\n    ITEM_PROP: \"itemprop\",\n    NAME: \"name\",\n    PROPERTY: \"property\",\n    REL: \"rel\",\n    SRC: \"src\",\n    TARGET: \"target\"\n};\n\nvar REACT_TAG_MAP = {\n    accesskey: \"accessKey\",\n    charset: \"charSet\",\n    class: \"className\",\n    contenteditable: \"contentEditable\",\n    contextmenu: \"contextMenu\",\n    \"http-equiv\": \"httpEquiv\",\n    itemprop: \"itemProp\",\n    tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = {\n    DEFAULT_TITLE: \"defaultTitle\",\n    DEFER: \"defer\",\n    ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n    ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n    TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n    obj[REACT_TAG_MAP[key]] = key;\n    return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n  return typeof obj;\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar inherits = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n    var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n    if (encode === false) {\n        return String(str);\n    }\n\n    return String(str).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#x27;\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n    var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n    var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n    if (innermostTemplate && innermostTitle) {\n        // use function arg to avoid need to escape $ characters\n        return innermostTemplate.replace(/%s/g, function () {\n            return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n        });\n    }\n\n    var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n    return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n    return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n    return propsList.filter(function (props) {\n        return typeof props[tagType] !== \"undefined\";\n    }).map(function (props) {\n        return props[tagType];\n    }).reduce(function (tagAttrs, current) {\n        return _extends({}, tagAttrs, current);\n    }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n    return propsList.filter(function (props) {\n        return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n    }).map(function (props) {\n        return props[TAG_NAMES.BASE];\n    }).reverse().reduce(function (innermostBaseTag, tag) {\n        if (!innermostBaseTag.length) {\n            var keys = Object.keys(tag);\n\n            for (var i = 0; i < keys.length; i++) {\n                var attributeKey = keys[i];\n                var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n                if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n                    return innermostBaseTag.concat(tag);\n                }\n            }\n        }\n\n        return innermostBaseTag;\n    }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n    // Calculate list of tags, giving priority innermost component (end of the propslist)\n    var approvedSeenTags = {};\n\n    return propsList.filter(function (props) {\n        if (Array.isArray(props[tagName])) {\n            return true;\n        }\n        if (typeof props[tagName] !== \"undefined\") {\n            warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n        }\n        return false;\n    }).map(function (props) {\n        return props[tagName];\n    }).reverse().reduce(function (approvedTags, instanceTags) {\n        var instanceSeenTags = {};\n\n        instanceTags.filter(function (tag) {\n            var primaryAttributeKey = void 0;\n            var keys = Object.keys(tag);\n            for (var i = 0; i < keys.length; i++) {\n                var attributeKey = keys[i];\n                var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n                // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n                if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n                    primaryAttributeKey = lowerCaseAttributeKey;\n                }\n                // Special case for innerHTML which doesn't work lowercased\n                if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n                    primaryAttributeKey = attributeKey;\n                }\n            }\n\n            if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n                return false;\n            }\n\n            var value = tag[primaryAttributeKey].toLowerCase();\n\n            if (!approvedSeenTags[primaryAttributeKey]) {\n                approvedSeenTags[primaryAttributeKey] = {};\n            }\n\n            if (!instanceSeenTags[primaryAttributeKey]) {\n                instanceSeenTags[primaryAttributeKey] = {};\n            }\n\n            if (!approvedSeenTags[primaryAttributeKey][value]) {\n                instanceSeenTags[primaryAttributeKey][value] = true;\n                return true;\n            }\n\n            return false;\n        }).reverse().forEach(function (tag) {\n            return approvedTags.push(tag);\n        });\n\n        // Update seen tags with tags from this instance\n        var keys = Object.keys(instanceSeenTags);\n        for (var i = 0; i < keys.length; i++) {\n            var attributeKey = keys[i];\n            var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n            approvedSeenTags[attributeKey] = tagUnion;\n        }\n\n        return approvedTags;\n    }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n    for (var i = propsList.length - 1; i >= 0; i--) {\n        var props = propsList[i];\n\n        if (props.hasOwnProperty(property)) {\n            return props[property];\n        }\n    }\n\n    return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n    return {\n        baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n        bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n        defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n        encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n        htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n        linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n        metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n        noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n        onChangeClientState: getOnChangeClientState(propsList),\n        scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n        styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n        title: getTitleFromPropsList(propsList),\n        titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n    };\n};\n\nvar rafPolyfill = function () {\n    var clock = Date.now();\n\n    return function (callback) {\n        var currentTime = Date.now();\n\n        if (currentTime - clock > 16) {\n            clock = currentTime;\n            callback(currentTime);\n        } else {\n            setTimeout(function () {\n                rafPolyfill(callback);\n            }, 0);\n        }\n    };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n    return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n    return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n    if (_helmetCallback) {\n        cancelAnimationFrame(_helmetCallback);\n    }\n\n    if (newState.defer) {\n        _helmetCallback = requestAnimationFrame(function () {\n            commitTagChanges(newState, function () {\n                _helmetCallback = null;\n            });\n        });\n    } else {\n        commitTagChanges(newState);\n        _helmetCallback = null;\n    }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n    var baseTag = newState.baseTag,\n        bodyAttributes = newState.bodyAttributes,\n        htmlAttributes = newState.htmlAttributes,\n        linkTags = newState.linkTags,\n        metaTags = newState.metaTags,\n        noscriptTags = newState.noscriptTags,\n        onChangeClientState = newState.onChangeClientState,\n        scriptTags = newState.scriptTags,\n        styleTags = newState.styleTags,\n        title = newState.title,\n        titleAttributes = newState.titleAttributes;\n\n    updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n    updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n    updateTitle(title, titleAttributes);\n\n    var tagUpdates = {\n        baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n        linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n        metaTags: updateTags(TAG_NAMES.META, metaTags),\n        noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n        scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n        styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n    };\n\n    var addedTags = {};\n    var removedTags = {};\n\n    Object.keys(tagUpdates).forEach(function (tagType) {\n        var _tagUpdates$tagType = tagUpdates[tagType],\n            newTags = _tagUpdates$tagType.newTags,\n            oldTags = _tagUpdates$tagType.oldTags;\n\n\n        if (newTags.length) {\n            addedTags[tagType] = newTags;\n        }\n        if (oldTags.length) {\n            removedTags[tagType] = tagUpdates[tagType].oldTags;\n        }\n    });\n\n    cb && cb();\n\n    onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n    return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n    if (typeof title !== \"undefined\" && document.title !== title) {\n        document.title = flattenArray(title);\n    }\n\n    updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n    var elementTag = document.getElementsByTagName(tagName)[0];\n\n    if (!elementTag) {\n        return;\n    }\n\n    var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n    var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n    var attributesToRemove = [].concat(helmetAttributes);\n    var attributeKeys = Object.keys(attributes);\n\n    for (var i = 0; i < attributeKeys.length; i++) {\n        var attribute = attributeKeys[i];\n        var value = attributes[attribute] || \"\";\n\n        if (elementTag.getAttribute(attribute) !== value) {\n            elementTag.setAttribute(attribute, value);\n        }\n\n        if (helmetAttributes.indexOf(attribute) === -1) {\n            helmetAttributes.push(attribute);\n        }\n\n        var indexToSave = attributesToRemove.indexOf(attribute);\n        if (indexToSave !== -1) {\n            attributesToRemove.splice(indexToSave, 1);\n        }\n    }\n\n    for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n        elementTag.removeAttribute(attributesToRemove[_i]);\n    }\n\n    if (helmetAttributes.length === attributesToRemove.length) {\n        elementTag.removeAttribute(HELMET_ATTRIBUTE);\n    } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n        elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n    }\n};\n\nvar updateTags = function updateTags(type, tags) {\n    var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n    var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n    var oldTags = Array.prototype.slice.call(tagNodes);\n    var newTags = [];\n    var indexToDelete = void 0;\n\n    if (tags && tags.length) {\n        tags.forEach(function (tag) {\n            var newElement = document.createElement(type);\n\n            for (var attribute in tag) {\n                if (tag.hasOwnProperty(attribute)) {\n                    if (attribute === TAG_PROPERTIES.INNER_HTML) {\n                        newElement.innerHTML = tag.innerHTML;\n                    } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n                        if (newElement.styleSheet) {\n                            newElement.styleSheet.cssText = tag.cssText;\n                        } else {\n                            newElement.appendChild(document.createTextNode(tag.cssText));\n                        }\n                    } else {\n                        var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n                        newElement.setAttribute(attribute, value);\n                    }\n                }\n            }\n\n            newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n            // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n            if (oldTags.some(function (existingTag, index) {\n                indexToDelete = index;\n                return newElement.isEqualNode(existingTag);\n            })) {\n                oldTags.splice(indexToDelete, 1);\n            } else {\n                newTags.push(newElement);\n            }\n        });\n    }\n\n    oldTags.forEach(function (tag) {\n        return tag.parentNode.removeChild(tag);\n    });\n    newTags.forEach(function (tag) {\n        return headElement.appendChild(tag);\n    });\n\n    return {\n        oldTags: oldTags,\n        newTags: newTags\n    };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n    return Object.keys(attributes).reduce(function (str, key) {\n        var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n        return str ? str + \" \" + attr : attr;\n    }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n    var attributeString = generateElementAttributesAsString(attributes);\n    var flattenedTitle = flattenArray(title);\n    return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n    return tags.reduce(function (str, tag) {\n        var attributeHtml = Object.keys(tag).filter(function (attribute) {\n            return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n        }).reduce(function (string, attribute) {\n            var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n            return string ? string + \" \" + attr : attr;\n        }, \"\");\n\n        var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n        var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n        return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n    }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n    var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    return Object.keys(attributes).reduce(function (obj, key) {\n        obj[REACT_TAG_MAP[key] || key] = attributes[key];\n        return obj;\n    }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n    var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    return Object.keys(props).reduce(function (obj, key) {\n        obj[HTML_TAG_MAP[key] || key] = props[key];\n        return obj;\n    }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n    var _initProps;\n\n    // assigning into an array to define toString function on it\n    var initProps = (_initProps = {\n        key: title\n    }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n    var props = convertElementAttributestoReactProps(attributes, initProps);\n\n    return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n    return tags.map(function (tag, i) {\n        var _mappedTag;\n\n        var mappedTag = (_mappedTag = {\n            key: i\n        }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n\n        Object.keys(tag).forEach(function (attribute) {\n            var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n            if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n                var content = tag.innerHTML || tag.cssText;\n                mappedTag.dangerouslySetInnerHTML = { __html: content };\n            } else {\n                mappedTag[mappedAttribute] = tag[attribute];\n            }\n        });\n\n        return React.createElement(type, mappedTag);\n    });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n    switch (type) {\n        case TAG_NAMES.TITLE:\n            return {\n                toComponent: function toComponent() {\n                    return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n                },\n                toString: function toString() {\n                    return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n                }\n            };\n        case ATTRIBUTE_NAMES.BODY:\n        case ATTRIBUTE_NAMES.HTML:\n            return {\n                toComponent: function toComponent() {\n                    return convertElementAttributestoReactProps(tags);\n                },\n                toString: function toString() {\n                    return generateElementAttributesAsString(tags);\n                }\n            };\n        default:\n            return {\n                toComponent: function toComponent() {\n                    return generateTagsAsReactComponent(type, tags);\n                },\n                toString: function toString() {\n                    return generateTagsAsString(type, tags, encode);\n                }\n            };\n    }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n    var baseTag = _ref.baseTag,\n        bodyAttributes = _ref.bodyAttributes,\n        encode = _ref.encode,\n        htmlAttributes = _ref.htmlAttributes,\n        linkTags = _ref.linkTags,\n        metaTags = _ref.metaTags,\n        noscriptTags = _ref.noscriptTags,\n        scriptTags = _ref.scriptTags,\n        styleTags = _ref.styleTags,\n        _ref$title = _ref.title,\n        title = _ref$title === undefined ? \"\" : _ref$title,\n        titleAttributes = _ref.titleAttributes;\n    return {\n        base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n        bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n        htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n        link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n        meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n        noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n        script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n        style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n        title: getMethodsForTag(TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n    };\n};\n\nvar Helmet = function Helmet(Component) {\n    var _class, _temp;\n\n    return _temp = _class = function (_React$Component) {\n        inherits(HelmetWrapper, _React$Component);\n\n        function HelmetWrapper() {\n            classCallCheck(this, HelmetWrapper);\n            return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n        }\n\n        HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n            return !isEqual(this.props, nextProps);\n        };\n\n        HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n            if (!nestedChildren) {\n                return null;\n            }\n\n            switch (child.type) {\n                case TAG_NAMES.SCRIPT:\n                case TAG_NAMES.NOSCRIPT:\n                    return {\n                        innerHTML: nestedChildren\n                    };\n\n                case TAG_NAMES.STYLE:\n                    return {\n                        cssText: nestedChildren\n                    };\n            }\n\n            throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n        };\n\n        HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n            var _babelHelpers$extends;\n\n            var child = _ref.child,\n                arrayTypeChildren = _ref.arrayTypeChildren,\n                newChildProps = _ref.newChildProps,\n                nestedChildren = _ref.nestedChildren;\n\n            return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n        };\n\n        HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n            var _babelHelpers$extends2, _babelHelpers$extends3;\n\n            var child = _ref2.child,\n                newProps = _ref2.newProps,\n                newChildProps = _ref2.newChildProps,\n                nestedChildren = _ref2.nestedChildren;\n\n            switch (child.type) {\n                case TAG_NAMES.TITLE:\n                    return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n                case TAG_NAMES.BODY:\n                    return _extends({}, newProps, {\n                        bodyAttributes: _extends({}, newChildProps)\n                    });\n\n                case TAG_NAMES.HTML:\n                    return _extends({}, newProps, {\n                        htmlAttributes: _extends({}, newChildProps)\n                    });\n            }\n\n            return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n        };\n\n        HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n            var newFlattenedProps = _extends({}, newProps);\n\n            Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n                var _babelHelpers$extends4;\n\n                newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n            });\n\n            return newFlattenedProps;\n        };\n\n        HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n            if (process.env.NODE_ENV !== \"production\") {\n                if (!VALID_TAG_NAMES.some(function (name) {\n                    return child.type === name;\n                })) {\n                    if (typeof child.type === \"function\") {\n                        return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n                    }\n\n                    return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n                }\n\n                if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n                    return typeof nestedChild !== \"string\";\n                }))) {\n                    throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n                }\n            }\n\n            return true;\n        };\n\n        HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n            var _this2 = this;\n\n            var arrayTypeChildren = {};\n\n            React.Children.forEach(children, function (child) {\n                if (!child || !child.props) {\n                    return;\n                }\n\n                var _child$props = child.props,\n                    nestedChildren = _child$props.children,\n                    childProps = objectWithoutProperties(_child$props, [\"children\"]);\n\n                var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n                _this2.warnOnInvalidChildren(child, nestedChildren);\n\n                switch (child.type) {\n                    case TAG_NAMES.LINK:\n                    case TAG_NAMES.META:\n                    case TAG_NAMES.NOSCRIPT:\n                    case TAG_NAMES.SCRIPT:\n                    case TAG_NAMES.STYLE:\n                        arrayTypeChildren = _this2.flattenArrayTypeChildren({\n                            child: child,\n                            arrayTypeChildren: arrayTypeChildren,\n                            newChildProps: newChildProps,\n                            nestedChildren: nestedChildren\n                        });\n                        break;\n\n                    default:\n                        newProps = _this2.mapObjectTypeChildren({\n                            child: child,\n                            newProps: newProps,\n                            newChildProps: newChildProps,\n                            nestedChildren: nestedChildren\n                        });\n                        break;\n                }\n            });\n\n            newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n            return newProps;\n        };\n\n        HelmetWrapper.prototype.render = function render() {\n            var _props = this.props,\n                children = _props.children,\n                props = objectWithoutProperties(_props, [\"children\"]);\n\n            var newProps = _extends({}, props);\n\n            if (children) {\n                newProps = this.mapChildrenToProps(children, newProps);\n            }\n\n            return React.createElement(Component, newProps);\n        };\n\n        createClass(HelmetWrapper, null, [{\n            key: \"canUseDOM\",\n\n\n            // Component.peek comes from react-side-effect:\n            // For testing, you may use a static peek() method available on the returned component.\n            // It lets you get the current state without resetting the mounted instance stack.\n            // Don’t use it for anything other than testing.\n\n            /**\n             * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n             * @param {Object} bodyAttributes: {\"className\": \"root\"}\n             * @param {String} defaultTitle: \"Default Title\"\n             * @param {Boolean} defer: true\n             * @param {Boolean} encodeSpecialCharacters: true\n             * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n             * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n             * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n             * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n             * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n             * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n             * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n             * @param {String} title: \"Title\"\n             * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n             * @param {String} titleTemplate: \"MySite.com - %s\"\n             */\n            set: function set$$1(canUseDOM) {\n                Component.canUseDOM = canUseDOM;\n            }\n        }]);\n        return HelmetWrapper;\n    }(React.Component), _class.propTypes = {\n        base: PropTypes.object,\n        bodyAttributes: PropTypes.object,\n        children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n        defaultTitle: PropTypes.string,\n        defer: PropTypes.bool,\n        encodeSpecialCharacters: PropTypes.bool,\n        htmlAttributes: PropTypes.object,\n        link: PropTypes.arrayOf(PropTypes.object),\n        meta: PropTypes.arrayOf(PropTypes.object),\n        noscript: PropTypes.arrayOf(PropTypes.object),\n        onChangeClientState: PropTypes.func,\n        script: PropTypes.arrayOf(PropTypes.object),\n        style: PropTypes.arrayOf(PropTypes.object),\n        title: PropTypes.string,\n        titleAttributes: PropTypes.object,\n        titleTemplate: PropTypes.string\n    }, _class.defaultProps = {\n        defer: true,\n        encodeSpecialCharacters: true\n    }, _class.peek = Component.peek, _class.rewind = function () {\n        var mappedState = Component.rewind();\n        if (!mappedState) {\n            // provide fallback if mappedState is undefined\n            mappedState = mapStateOnServer({\n                baseTag: [],\n                bodyAttributes: {},\n                encodeSpecialCharacters: true,\n                htmlAttributes: {},\n                linkTags: [],\n                metaTags: [],\n                noscriptTags: [],\n                scriptTags: [],\n                styleTags: [],\n                title: \"\",\n                titleAttributes: {}\n            });\n        }\n\n        return mappedState;\n    }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n    return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexport default HelmetExport;\nexport { HelmetExport as Helmet };\n","import React, {useState, forwardRef} from \"react\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Stack, Spinner} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\n\nconst StaticCovidDataItem_En = forwardRef((props, ref) => {\n\n    return (\n      <Col xs= {12} md={4} ref={ref}>\n      <Card border=\"light\" style={{ width: '5rem' }, {height: '8rem'}} className=\"mx-2 my-2 shadow1\">\n        <Card.Body>\n        <Card.Title className=\"text-center text-info\">{props.last.lastData ? <div>{ isNaN(props.last.lastData) ? <p>no data available</p> : <h3>{props.last.lastData}</h3> }</div> : <Spinner style={{position: 'absolute', top: '10%'}} size=\"sm\" animation=\"border\" variant=\"info\" />}</Card.Title>\n        <Card.Text className=\"text-center\">\n        <small>{props.last.name}</small>\n        </Card.Text>\n        </Card.Body>\n      <Card.Footer className=\"bg-white shadow1 mx-3 \" style={{ width: '12rem' }}>\n      <small className=\"text-muted\"><small className=\"text-center\">According to the data on {props.last.lastDatadate? props.last.lastDatadate : <div></div>}</small></small>\n      </Card.Footer>\n      </Card></Col>\n    )\n})\nconst MSCDItem = motion(StaticCovidDataItem_En);\nexport default MSCDItem;\nexport {StaticCovidDataItem_En}","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem_En'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst StaticCovidData_En = (props) => {\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const download_chart3=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart3')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const [lastData, setLastsData] = useState(0)\n  const [lastDatadate, setLastsDatadate] = useState(0)\n  const [last_ndeaths, setlast_ndeaths] = useState(0)\n  const [last_nrec, setlast_nrec] = useState(0)\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n\n  const [chartOptions, setChartOptions] = useState({})\n\n  const chart = () => {\n    setLoadingprosses(true)\n    let cov_nd = [];\n    let cov_data = [];\n    let cov_last_nd = [];\n    let cov_last_date = [];\n    let cov_last_ndeaths = [];\n    let cov_last_nrec = [];\n\n    let cov_ndeaths = [];\n    let cov_nd_all = [];\n    let cov_nrec = [];\n    let cov_ncrit = []\n    let cov_cumchild = []\n    let url = props.region.hr\n    axios\n    .get(url)\n    .then(res => {\n      setLoadingprosses(false)\n      setSomeerrors(false)\n      cov_last_nd.push(parseInt(res.data[res.data.length-1].new_diagnoses))\n      cov_last_date.push(res.data[res.data.length-1].date)\n      cov_last_ndeaths.push(parseInt(res.data[res.data.length-1].new_deaths)) //\n      cov_last_nrec.push(parseInt(res.data[res.data.length-1].new_recoveries))\n\n      for (const dataObj of res.data) {\n        cov_nd.push(parseInt(dataObj.new_diagnoses));\n        cov_data.push(dataObj.date);\n        cov_ndeaths.push(parseInt(dataObj.cum_deaths));\n        cov_nd_all.push(parseInt(dataObj.cum_diagnoses));\n        cov_nrec.push(parseInt(dataObj.cum_recoveries));\n        cov_ncrit.push(parseInt(dataObj.n_critical));\n        cov_cumchild.push(parseInt(dataObj.cum_children));\n      }\n      setChartData({\n        labels: cov_data,\n        datasets: [\n          {\n            label: \"new cases, scale 1\",\n            data: cov_nd,\n            fill: false,\n            borderColor: \"rgba(0, 191, 255, 1)\",\n            backgroundColor: \"rgba(0, 191, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'quantity'\n          },\n          {\n            label: \"deaths, scale 2\",\n            data: cov_ndeaths,\n            borderColor: \"rgb(255,0,0)\",\n            backgroundColor: \"rgb(255,0,0, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'y'\n          },\n          {\n          label: \"total morbidity, scale 2\",\n          data: cov_nd_all,\n          borderColor: \"rgb(0, 0, 0)\",\n          backgroundColor: \"rgb(0, 0, 0)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          yAxisID: 'y'\n        },\n        {\n        label: \"infecting children, scale 2\",\n        data: cov_cumchild,\n        borderColor: \"rgb(255, 192, 203)\",\n        backgroundColor: \"rgb(255, 192, 203)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'y'\n      },\n        {\n        label: \"Recovery, scale 2\",\n        data: cov_nrec,\n        borderColor: \"rgb(252,141,214)\",\n        backgroundColor: \"rgb(252,141,214)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'y'\n      },\n      {\n        label: \"critical, scale 1\",\n        data: cov_ncrit,\n        borderColor: \"rgb(128, 0, 255)\",\n        backgroundColor: \"rgb(128,0,255)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'quantity'\n      },\n        ],\n      });\n\n      setChartOptions({\n         maintainAspectRatio : false,\n        responsive: true,\n        plugins: {\n          zoom: {\n            pan: {\n              enabled: true,\n              mode: 'xy',\n            },\n           zoom: {\n             wheel: {\n               enabled: true,\n               speed: 0.1,\n             },\n             drag: {\n              enabled: true,\n            },\n             pan: {enabled: true},\n             pinch: {\n               enabled: true\n             },\n             mode: 'xy',\n           },\n        },\n          legend: {\n            position: \"top\",\n          },\n          title: {\n            display: true,\n            text: \"Statistical data\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'scale 1'\n            },\n            position:'left',\n            type: 'linear',\n          },\n          y: {\n            title: {\n              display: true,\n              text: 'scale 2'\n            },\n            position:'right',\n            beginAtZero: true,\n            type: 'linear',\n            grid: {\n              drawOnChartArea: false\n            }\n          }\n        }\n      });\n      setLastsData(cov_last_nd)\n      setLastsDatadate(cov_last_date)\n      setlast_ndeaths(cov_last_ndeaths)\n      setlast_nrec(cov_last_nrec)\n    })\n    .catch(err => {\n      setLoadingprosses(false)\n      setSomeerrors(true)\n      console.log(err);\n    });\n  };\n\n  useEffect(() => {\n    chart();\n  }, [])\n\n  const [loadingprosses, setLoadingprosses] = useState(true)\n  const [someerrors, setSomeerrors] = useState(false)\n\n  const lasts = [\n    {id: 1, lastData: lastData, lastDatadate: lastDatadate, name: \"cases of infection\"},\n    {id: 2, lastData: last_nrec, lastDatadate: lastDatadate, name: \"cases of recovery\"},\n    {id: 3, lastData: last_ndeaths, lastDatadate: lastDatadate, name: \"deaths\"},\n  ]\n\n  return (\n    <Tab.Pane eventKey={props.region.eventKey}>\n      <div className=\"mx-3 my-3\">\n      <div>\n      <Container>\n        <Row style={{\n                width: \"100%\" }}>\n                {lasts.map((last,index) =>\n                    <MSCDItem initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05}}\n                       custom={index + 1}\n                      variants={variants} key = {last.id} last = {last}/>\n                )}\n        </Row>\n      </Container>\n    <div  align=\"center\" className =\"my-4\">\n    <Row className=\"my-2\">\n      <Col  xs={12} sm={9}>\n     </Col>\n    <Col xs={12} sm={3}>\n    <motion.div initial=\"hidden\"\n         custom={2}\n        variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n      </OverlayTrigger>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n      </OverlayTrigger>\n       <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={chart}><BsZoomOut/></Button>\n      <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart3(e)}><FiDownload/></Button>\n      </motion.div>\n    </Col>\n    </Row>\n    {loadingprosses ? <div style={{\n            height: '400px'}}><Spinner relative=\"true\" style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n    someerrors ?  <div style={{\n            height: '350px' }}><Alert relative=\"true\" variant=\"danger\" className=\"my-5\"> <Alert.Heading>Download error</Alert.Heading>\n    The server is temporarily not responding, please, <Alert.Link href=\"/modeling\">refresh the page</Alert.Link> or try again later.\n    <hr /> </Alert> </div> :\n    <div style={{ height: '25rem' }}><Line id=\"chart3\" data={chartData} options={chartOptions}  height=\"90%\" /></div> }\n\n\n     </div>\n    </div>\n    </div>\n  </Tab.Pane>\n  );\n};\nexport default StaticCovidData_En;","import React, {useState} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport Footer_En from './Components/Footer_En'\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\nimport StaticCovidData_En from './Components/StaticCovidData_En'\nimport { useSearchParams } from \"react-router-dom\";\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 30,\n },\n}\nconst getRegionData = (id, hr, eventKey, title, title2, district, center, population, area, density) => ({ id, hr, eventKey, title, title2, district, center, population, area, density });\n\nconst regions = [\n // getRegionData(1, \"http://localhost:4000/api/csvCovid/nd\", \"nd\", \"Новосибирская область\", \"Белгородская область белгородская область\",\"Центральный федеральный округ\",\"Белгород\", \"1 514 500 ч.\", \"27 100 км²\", \"55,31 чел./км²\"),\n // getRegionData(2, \"http://localhost:4000/api/csvCovid/altay\", \"altay\", \"Алтайский край\", \"Брянская область брянская область\",\"Центральный федеральный округ\",\"Брянск\", \"1 168 800 ч.\", \"34 900 км²\", \"32,77 чел./км²\"),\n // getRegionData(3, \"http://localhost:4000/api/csvCovid/omsk\", \"omsk\", \"Омская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n // getRegionData(4, \"http://localhost:4000/api/csvCovid/tomsk\", \"tomsk\", \"Томская область\", \"Владимирская область владимирская область\",\"Центральный федеральный округ\",\"Владимир\", \"1 342 099 ч.\", \"29 000 км²\", \"46,15 чел./км²\"),\n getRegionData(1, \"https://server.ai-biolab.ru/api/csvCovid/belgorod\", \"belgorod\", \"Belgorod region\", \"Belgorod region belgorod region\",\"Central Federal District\",\"Belgorod\", \"1,514,500 people\", \"27,100 km²\", \"55.31 people/km²\"),\n getRegionData(2, \"https://server.ai-biolab.ru/api/csvCovid/bryansk\", \"bryansk\", \"Bryansk region\", \"Bryansk region bryansk region\",\"Central Federal District\",\"Bryansk\", \"1 168 800 people\", \"34 900 km²\", \"32,77 people/km²\"),\n getRegionData(3, \"https://server.ai-biolab.ru/api/csvCovid/vladimir\", \"vladimir\", \"Vladimir region\", \"Vladimir region vladimir region\",\"Central Federal District\",\"Vladimir\", \"1 342 099 people\", \"29 000 km²\", \"46,15 people/km²\"),\n getRegionData(4, \"https://server.ai-biolab.ru/api/csvCovid/voronezh\", \"voronezh\", \"Voronezh region\", \"Voronezh region voronezh region\",\"Central Federal District\",\"Voronezh\", \"2 273 417 people\", \"52 216 km²\", \"43,54 people/km²\"),\n getRegionData(5, \"https://server.ai-biolab.ru/api/csvCovid/ivanovsk\", \"ivanovsk\", \"Ivanovo region\", \"Ivanovo region ivanovo region\",\"Central Federal District\",\"Ivanovo\", \"905 900 people\", \"21 437 km²\", \"42,26 people/km²\"),\n getRegionData(6, \"https://server.ai-biolab.ru/api/csvCovid/kaluga\", \"kaluga\", \"Kaluga region\", \"Kaluga region kaluga region\",\"Central Federal District\",\"Kaluga\", \"1 068 410 people\", \"29 777 km²\", \"35,88 people/km²\"),\n getRegionData(7, \"https://server.ai-biolab.ru/api/csvCovid/kostroma\", \"kostroma\", \"Kostroma region\", \"Kostroma region kostroma region\",\"Central Federal District\",\"Kostroma\", \"566 266 people\", \"60 211 km²\", \"9,4 people/km²\"),\n getRegionData(8, \"https://server.ai-biolab.ru/api/csvCovid/kursk\", \"kursk\", \"Kursk region\", \"Kursk region kursk region\",\"Central Federal District\",\"Kursk\", \"1 060 892 people\", \"29 997 km²\", \"35,37 people/km²\"),\n getRegionData(9, \"https://server.ai-biolab.ru/api/csvCovid/lipeck\", \"lipeck\", \"Lipetsk region\", \"Lipetsk region lipetsk region\",\"Central Federal District\",\"Lipetsk\", \"1 116 265 people\", \"24 047 km²\", \"46,42 people/km²\"),\n getRegionData(10, \"https://server.ai-biolab.ru/api/csvCovid/moscow\", \"moscow\", \"Moscow region\", \"Moscow region moscow region\",\"Central Federal District\",\"Moscow\", \"8 651 260 people\", \"44 329 km²\", \"195,16 people/km²\"),\n getRegionData(11, \"https://server.ai-biolab.ru/api/csvCovid/orel\", \"orel\", \"Oryol region\", \"Oryol region oryol region\",\"Central Federal District\",\"Orel\", \"724 686 people\", \"24 700 km²\", \"29,4 people/km²\"),\n getRegionData(12, \"https://server.ai-biolab.ru/api/csvTub/ryazun\", \"ryazun\", \"Ryazan region\", \"Ryazan region ryazan region\",\"Central Federal District\",\"Ryazan\", \"1 082 231 people\", \"44 329 km²\", \"27,33 people/km²\"),\n getRegionData(13, \"https://server.ai-biolab.ru/api/csvCovid/smolensk\", \"smolensk\", \"Smolensk region\", \"Smolensk region smolensk region\",\"Central Federal District\",\"Smolensk\", \"863 987 people\", \"49 779 km²\", \"17,36 people/km²\"),\n getRegionData(14, \"https://server.ai-biolab.ru/api/csvCovid/tambov\", \"tambov\", \"Tambov region\", \"Tambov region tambov region\",\"Central Federal District\",\"Tambov\", \"956 292 people\", \"34 462 km²\", \"27,75 people/km²\"),\n getRegionData(15, \"https://server.ai-biolab.ru/api/csvCovid/tver\", \"tver\", \"Tver region\", \"Tver region tver region\",\"Central Federal District\",\"Tver\", \"1 199 747 people\", \"84 100 km²\", \"14,25 people/km²\"),\n getRegionData(16, \"https://server.ai-biolab.ru/api/csvCovid/tula\", \"tula\", \"Tula region\", \"Tula region tula region\",\"Central Federal District\",\"Tula\", \"1 471 140 people\", \"25 679 km²\", \"57,29 people/km²\"),\n getRegionData(17, \"https://server.ai-biolab.ru/api/csvCovid/yaroslavl\", \"yaroslavl\",\"Yaroslavl region\", \"Yaroslavl region yaroslavl region\",\"Central Federal District\",\"Yaroslavl\", \"1 187 558 people\", \"36 400 km²\", \"32,83 people/km²\"),\n getRegionData(18, \"https://server.ai-biolab.ru/api/csvCovid/kareliya\", \"kareliya\", \"Republic of Karelia\", \"Republic of Karelia republic of karelia\",\"North-Western Federal District\",\"Petrozavodsk\", \"523 856 people\", \"172 400 km²\", \"2,9 people/km²\"),\n getRegionData(19, \"https://server.ai-biolab.ru/api/csvCovid/komi\", \"komi\", \"Komi Republic\", \"Komi Republic, komi republic\",\"North-Western Federal District\",\"Syktyvkar\", \"720 610 people\", \"415 900 km²\", \"1,73 people/km²\"),\n getRegionData(20, \"https://server.ai-biolab.ru/api/csvCovid/arhangelsk\", \"arhangelsk\", \"Arkhangelsk region\", \"Arkhangelsk region arkhangelsk region\",\"North-Western Federal District\",\"Arkhangelsk\", \"998 072 people\", \"587 400 km²\", \"1,69 people/km²\"),\n getRegionData(21, \"https://server.ai-biolab.ru/api/csvCovid/vologda\", \"vologda\", \"Vologda region\", \"Vologda region vologda region\",\"North-Western Federal District\",\"Vologda\", \"1 121 343 people\", \"144 527 km²\", \"8,5 people/km²\"),\n getRegionData(22, \"https://server.ai-biolab.ru/api/csvCovid/kaliningrad\", \"kaliningrad\", \"Kaliningrad region\", \"Kaliningrad region kaliningrad region\",\"North-Western Federal District\",\"Kaliningrad\", \"1 033 914 people\", \"15 125 km²\", \"68,36 people/km²\"),\n getRegionData(23, \"https://server.ai-biolab.ru/api/csvCovid/leningrad\", \"leningrad\", \"Leningrad region\", \"Leningrad region leningrad region\",\"North-Western Federal District\",\"Gatchina\", \"2 035 762 people\", \"83 908 km²\", \"24,26 people/km²\"),\n getRegionData(24, \"https://server.ai-biolab.ru/api/csvCovid/murmansk\", \"murmansk\", \"Murmansk region\", \"Murmansk region murmansk region\",\"North-Western Federal District\",\"Murmansk\", \"656 438 people\", \"144 902 km²\", \"4,53 people/km²\"),\n getRegionData(25, \"https://server.ai-biolab.ru/api/csvCovid/novgorod\", \"novgorod\", \"Novgorod region\", \"Novgorod region novgorod region\",\"North-Western Federal District\",\"Veliky Novgorod\", \"571 447 people\", \"54 501 km²\", \"10,49 people/km²\"),\n getRegionData(26, \"https://server.ai-biolab.ru/api/csvCovid/pskov\", \"pskov\", \"Pskov region\", \"Pskov region pskov region\",\"North-Western Federal District\",\"Pskov\", \"581 147 people\", \"55 399 km²\", \"10,49 people/km²\"),\n getRegionData(27, \"https://server.ai-biolab.ru/api/csvCovid/adygea\", \"adygea\", \"Republic of Adygea\", \"Republic of Adygea republic of adygea\",\"Southern Federal District\",\"Maykop\", \"500 591 people\", \"7 792 km²\", \"64,24 people/km²\"),\n getRegionData(28, \"https://server.ai-biolab.ru/api/csvCovid/kalmykia\", \"kalmykia\", \"Republic of Kalmykia\", \"Republic of Kalmykia republic of kKalmykia\",\"Southern Federal District\",\"Elista\", \"266 770 people\", \"74 731 km²\", \"5,57 people/km²\"),\n getRegionData(29, \"https://server.ai-biolab.ru/api/csvCovid/krasnodar\", \"krasnodar\", \"Krasnodar Territory\", \"Krasnodar Territory kKrasnodar territory\",\"Southern Federal District\",\"Krasnodar\", \"5 833 002 people\", \"76 005 km²\", \"77,27 people/km²\"),\n getRegionData(30, \"https://server.ai-biolab.ru/api/csvCovid/volgograd\", \"volgograd\", \"Volgograd region\", \"Volgograd region volgograd region\",\"Southern Federal District\",\"Volgograd\", \"2 453 898 people\", \"113 900 km²\", \"21,74 people/km²\"),\n getRegionData(31, \"https://server.ai-biolab.ru/api/csvCovid/rostov\", \"rostov\", \"Rostov region\", \"Rostov region Rostov region\",\"Southern Federal District\",\"Rostov\", \"4 152 518 people\", \"100 967 km²\", \"41,13 people/km²\"),\n getRegionData(32, \"https://server.ai-biolab.ru/api/csvCovid/dagestan\", \"dagestan\", \"Republic of Dagestan\", \"Republic of Dagestan republic of dagestan\",\"Southern Federal District\",\"Makhachkala\", \"3 232 224 people\", \"50 270 km²\", \"64,3 people/km²\"),\n getRegionData(33, \"https://server.ai-biolab.ru/api/csvCovid/ingushetia\", \"ingushetia\", \"Republic of Ingushetia\", \"Republic of Ingushetia republic of ingushetia\",\"Southern Federal District\",\"Magas\", \"509 541 people\", \"3 685 km²\", \"147,7 people/km²\"),\n getRegionData(34, \"https://server.ai-biolab.ru/api/csvCovid/kabarbalkar\", \"kabarbalkar\", \"Kabardino-Balkarian Republic\", \"Kabardino-Balkarian Republic kabardino-balkarian republic\",\"Southern Federal District\",\"Nalchik\", \"905 464 people\", \"76 005 km²\", \"72,61 people/km²\"),\n getRegionData(35, \"https://server.ai-biolab.ru/api/csvCovid/karcherk\", \"karcherk\",\"Karachay-Cherkess Republic\", \"Karachay-Cherkess Republic of karachay-cherkess republic\",\"Southern Federal District\",\"Cherkessk\", \"468 322 people\", \"14 100 km²\", \"32,8 people/km²\"),\n getRegionData(36, \"https://server.ai-biolab.ru/api/csvCovid/sevosetiaalania\", \"sevosetiaalania\", \"Republic of North Ossetia-Alania\", \"Republic of North Ossetia-Alania republic of north ossetia-alania\",\"North Caucasus Federal District\",\"Vladikavkaz\", \"678 879 people\", \"8 000 km²\", \"85,00 people/km²\"),\n getRegionData(37, \"https://server.ai-biolab.ru/api/csvCovid/chechnya\", \"chechnya\",\"Chechen Republic\", \"Chechen Republic cechen republic\",\"North Caucasus Federal District\",\"Grozny\", \"1 552 866 people\", \"16 171 km²\", \"96,03 people/km²\"),\n getRegionData(38, \"https://server.ai-biolab.ru/api/csvCovid/stavrapol\", \"stavrapol\", \"Stavropol Territory\", \"Stavropol Territory stavropol territory\",\"North Caucasian Federal District\",\"Stavropol\", \"2 886 108 people\", \"66 160 km²\", \"43,62 people/km²\"),\n getRegionData(39, \"https://server.ai-biolab.ru/api/csvCovid/bashkortostan\", \"bashkortostan\", \"Republic of Bashkortostan\", \"Republic of Bashkortostan republic of bashkortostan\",\"Volga Federal District\",\"Ufa\", \"4 064 361 people\", \"142 947 km²\", \"28,4 people/km²\"),\n getRegionData(40, \"https://server.ai-biolab.ru/api/csvCovid/maryal\", \"maryal\", \"Republic of Mari El\", \"Republic of Mari El republic of mari el\",\"Volga Federal District\",\"Yoshkar-Ola\", \"696 459 people\", \"23 375 km²\", \"29,5 people/km²\"),\n getRegionData(41, \"https://server.ai-biolab.ru/api/csvCovid/mordovia\", \"mordovia\",\"Republic of Mordovia\",\"Republic of Mordovia republic of mordovia\", \"Volga Federal District\", \"Saransk\", \"765 891  people\", \"26 128 km²\", \"29,31 people/km²\"),\n getRegionData(42, \"https://server.ai-biolab.ru/api/csvCovid/tatarstan\", \"tatarstan\", \"Republic of Tatarstan\",\"Republic of Tatarstan republic of tatarstan\", \"Volga Federal District\", \"Kazan\", \"4 003 016 people\", \"67 847 km²\", \"56,57 people/km²\"),\n getRegionData(43, \"https://server.ai-biolab.ru/api/csvCovid/udmurtia\", \"udmurtia\", \"Udmurt Republic\", \"Udmurt Republic udmurt republic\",\"Volga Federal District\",\"Izhevsk\", \"1 434 557  people\", \"42 061 km²\", \"34,11 people/km²\"),\n getRegionData(44, \"https://server.ai-biolab.ru/api/csvCovid/chuvashia\", \"chuvashia\", \"Chuvash Republic\", \"Chuvash Republic chuvash republic\",\"Volga Federal District\",\"Cheboksary\", \"1 167 061 people\", \"18 343 km²\", \"63,62 people/km²\"),\n getRegionData(45, \"https://server.ai-biolab.ru/api/csvCovid/perm\", \"perm\", \"Perm Krai\", \"Perm Krai perm krai\",\"Volga Federal District\",\"Perm\", \"2 495 266 people\", \"160 236 km²\", \"15,57 people/km²\"),\n getRegionData(46, \"https://server.ai-biolab.ru/api/csvCovid/kirov\", \"kirov\", \"Kirov region\", \"Kirov region kirov region\",\"North Caucasus Federal District\",\"Kirov\", \"1 129 935 people\", \"120 400 km²\", \"9,39 people/km²\"),\n getRegionData(47, \"https://server.ai-biolab.ru/api/csvCovid/nizhniynovgorod\", \"nizhniynovgorod\", \"Nizhny Novgorod region\", \"Nizhny Novgorod region nizhny novgorod region\",\"North Caucasus Federal District\",\"Nizhny Novgorod\", \"3 060 335 people\", \"76 624 km²\", \"39,94 people/km²\"),\n getRegionData(48, \"https://server.ai-biolab.ru/api/csvCovid/orenburg\", \"orenburg\", \"Orenburg region\", \"Orenburg region oenburg region\",\"North Caucasus Federal District\",\"Orenburg\", \"1 828 656 people\", \"123 702 km²\", \"14,78 people/km²\"),\n getRegionData(49, \"https://server.ai-biolab.ru/api/csvCovid/penza\", \"penza\", \"Penza region\", \"Penza region penza region\",\"Volga Federal District\",\"Penza\", \"1 236 113 people\", \"43 352 km²\", \"28,51 people/km²\"),\n getRegionData(50, \"https://server.ai-biolab.ru/api/csvCovid/samara\", \"samara\", \"Samara region\", \"Samara region samara region\",\"Volga Federal District\",\"Samara\", \"3 127 842 people\", \"53 565 km²\", \"58,39 people/km²\"),\n getRegionData(51, \"https://server.ai-biolab.ru/api/csvCovid/saratov\", \"saratov\", \"Saratov region\", \"Saratov region saratov region\",\"Volga Federal District\",\"Saratov\", \"2 385 163  people\", \"101 240 km²\", \"23,56 people/km²\"),\n getRegionData(52, \"https://server.ai-biolab.ru/api/csvCovid/ulyanovsk\", \"ulyanovsk\", \"Ulyanovsk region\", \"Ulyanovsk region ulyanovsk region\",\"Volga Federal District\",\"Ulyanovsk\", \"1 172 782 people\", \"37 181 km²\", \"31,54 people/km²\"),\n getRegionData(53, \"https://server.ai-biolab.ru/api/csvCovid/kurgan\", \"kurgan\", \"Kurgan region\", \"Kurgan region kurgan region\",\"Ural Federal District\",\"Kurgan\", \"753 002  people\", \"71 488 km²\", \"10,53 people/km²\"),\n getRegionData(54, \"https://server.ai-biolab.ru/api/csvCovid/sverdlov\", \"sverdlov\", \"Sverdlovsk region\", \"Sverdlovsk region sverdlovsk region\",\"Ural Federal District\",\"Yekaterinburg\", \"4 222 695 people\", \"194 226 km²\", \"21,73 people/km²\"),\n getRegionData(55, \"https://server.ai-biolab.ru/api/csvCovid/tumen\", \"tumen\", \"Tyumen region\", \"Tyumen region tyumen region\",\"Ural Federal District\",\"Tyumen\", \"3 890 800 people\", \"160 122 km²\", \"2,66 people/km²\"),\n getRegionData(56, \"https://server.ai-biolab.ru/api/csvCovid/chelyabinsk\", \"chelyabinsk\", \"Chelyabinsk region\", \"Chelyabinsk region chelyabinsk region\",\"Ural Federal District\",\"Chelyabinsk\", \"3 395 798 people\", \"88 529 km²\", \"38,36 people/km²\"),\n getRegionData(57, \"https://server.ai-biolab.ru/api/csvCovid/respaltay\", \"respaltay\", \"Altai Republic\", \"Altai Republic, altai republic\",\"Siberian Federal District\",\"Gorno-Altaysk\", \"210 765 people\", \"92 903 km²\", \"2,27 people/km²\"),\n getRegionData(58, \"https://server.ai-biolab.ru/api/csvCovid/resptyva\", \"resptyva\", \"Republic of Tyva\", \"Republic of Tyva republic of tyva\",\"Siberian Federal District\",\"Kyzyl\", \"337 544 people\", \"168 604 km²\", \"2,0 people/km²\"),\n getRegionData(59, \"https://server.ai-biolab.ru/api/csvCovid/resphakasia\", \"resphakasia\", \"Republic of Khakassia\", \"Republic of Khakassia republic of khakassia\",\"Siberian Federal District\",\"Abakan\", \"528 175 people\", \"61 569 km²\", \"8,58 people/km²\"),\n getRegionData(60, \"https://server.ai-biolab.ru/api/csvCovid/altay\", \"altay\", \"Altai Territory\" , \"Altai Territory altai territory\",\"Siberian Federal District\",\"Barnaul\", \"2 268 179 people\", \"167 996 km²\", \"13,5 people/km²\"),\n getRegionData(61, \"https://server.ai-biolab.ru/api/csvCovid/krasnoyarsk\", \"krasnoyarsk\", \"Krasnoyarsk Territory\", \"Krasnoyarsk Territory krasnoyarsk territory\",\"Siberian Federal District\",\"Krasnoyarsk\", \"2 846 120 people\", \"2 366 797  km²\", \"1,2 people/km²\"),\n getRegionData(62, \"https://server.ai-biolab.ru/api/csvCovid/irkutsk\", \"irkutsk\", \"Irkutsk region\", \"Irkutsk region irkutsk region\",\"Siberian Federal District\",\"Irkutsk\", \"2 330 537 people\", \"774 846 km²\", \"3,01 people/km²\"),\n getRegionData(63, \"https://server.ai-biolab.ru/api/csvCovid/kemerovo\", \"kemerovo\", \"Kemerovo region\", \"Kemerovo region kemerovo region\",\"Siberian Federal District\",\"Kemerovo\", \"2 547 684 people\", \"95 725 km²\", \"26,61 people/km²\"),\n getRegionData(64, \"https://server.ai-biolab.ru/api/csvCovid/novosibirsk\", \"novosibirsk\", \"Novosibirsk region\", \"Novosibirsk region novosibirsk region\",\"Siberian Federal District\",\"Novosibirsk\", \"2 779 375 people\", \"177 756 km²\", \"15,64 people/km²\"),\n getRegionData(65, \"https://server.ai-biolab.ru/api/csvCovid/omsk\", \"omsk\", \"Omsk region\", \"Omsk region omsk region\",\"Siberian Federal District\",\"Omsk\", \"1 879 548 people\", \"141 140 km²\", \"13,32 people/km²\"),\n getRegionData(66, \"https://server.ai-biolab.ru/api/csvCovid/tomsk\", \"tomsk\", \"Tomsk region\", \"Tomsk region tomsk region\",\"Siberian Federal District\",\"Tomsk\", \"1 043 385 people\", \"314 391 km²\", \"3,32 people/km²\"),\n getRegionData(67, \"https://server.ai-biolab.ru/api/csvCovid/buryatia\", \"buryatia\", \"Republic of Buryatia\", \"Republic of Buryatia republic of buryatia\",\"Far Eastern Federal District\",\"Ulan-Ude\", \"971 922 people\", \"351 334 km²\", \"2,73 people/km²\"),\n getRegionData(68, \"https://server.ai-biolab.ru/api/csvCovid/saha\", \"saha\", \"Republic of Sakha\", \"Republic of Sakha republic of sakha\",\"Far Eastern Federal District\",\"Yakutsk\", \"1 001 664 people\", \"3 083 523 km²\", \"0,32 people/km²\"),\n getRegionData(69, \"https://server.ai-biolab.ru/api/csvCovid/zabaikalsky\", \"zabaikalsky\", \"Zabaikalsky Krai\", \"Zabaikalsky Krai zabaikalsky krai\",\"Far Eastern Federal District\",\"Chita\", \"984 395 people\", \"168 604 km²\", \"2,28 people/km²\"),\n getRegionData(70, \"https://server.ai-biolab.ru/api/csvCovid/kamchatsky\", \"kamchatsky\", \"Kamchatka Territory\", \"Kamchatka Territory kamchatka territory\",\"Far Eastern Federal District\",\"Petropavlovsk-Kamchatsky\", \"288 947 people\", \"464 300 km²\", \"0,62 people/km²\"),\n getRegionData(71, \"https://server.ai-biolab.ru/api/csvCovid/primorsk\", \"primorsk\", \"Primorsky Krai\" , \"Primorsky Krai primorsky krai\",\"Far Eastern Federal District\",\"Vladivostok\", \"1 806 393 people\", \"164 673 km²\", \"10,97 people/km²\"),\n getRegionData(72, \"https://server.ai-biolab.ru/api/csvCovid/habarovsk\", \"habarovsk\", \"Khabarovsk Territory\", \"Khabarovsk Territory khabarovsk territory\",\"Far Eastern Federal District\",\"Khabarovsk\", \"1 278 132 people\", \"787 633  km²\", \"1,62 people/km²\"),\n getRegionData(73, \"https://server.ai-biolab.ru/api/csvCovid/amursk\", \"amursk\", \"Amur region\", \"Amur region amur region\",\"Far Eastern Federal District\",\"Blagoveshchensk\", \"750 083 people\", \"361 908 km²\", \"2,20 people/km²\"),\n getRegionData(74, \"https://server.ai-biolab.ru/api/csvCovid/magadan\", \"magadan\", \"Magadan region\", \"Magadan region magadan region\",\"Far Eastern Federal District\",\"Magadan\", \"133 387 people\", \"462 464 km²\", \"0,29 people/km²\"),\n getRegionData(75, \"https://server.ai-biolab.ru/api/csvCovid/sahalin\", \"sahalin\", \"Sakhalin Region\", \"Sakhalin region sakhalin region\",\"Far Eastern Federal District\",\"Yuzhno-Sakhalinsk\", \"457 590 people\", \"87 101 km²\", \"5,25 people/km²\"),\n getRegionData(76, \"https://server.ai-biolab.ru/api/csvCovid/evreiskaya\", \"evreiskaya\", \"Jewish Autonomous Region\", \"Jewish Autonomous Region jewish autonomous Region\",\"Far Eastern Federal District\",\"Birobidzhan\", \"145 802 people\", \"36 300 km²\", \"4,02 people/km²\"),\n getRegionData(77, \"https://server.ai-biolab.ru/api/csvCovid/chukotsk\", \"chukotsk\", \"Chukotka Autonomous Okrug\", \"Chukotka Autonomous Okrug cukotka autonomous okrug\",\"Far Eastern Federal District\",\"Anadyr\", \"48 029 people\", \"721 481 km²\", \"0,07 people/km²\"),\n \n\n]\nexport function Covid_En(){\n  const [searchParams, setSearchParams] = useSearchParams();\n  const postQuery = searchParams.get('post') || '';\n  const [noResults, setNoResults] = useState(false);\n  const [showAllRegions, setShowAllRegions] = useState(false);\n\n  const handleSubmit = (e) => {\n    e.preventDefault();\n    const query = e.target.search.value;\n    setSearchParams({ post: query });\n  };\n\n  const filteredRegions = regions.filter(region => region.title2.includes(postQuery));\n\n  React.useEffect(() => {\n    setNoResults(filteredRegions.length === 0 );\n  }, [filteredRegions]);\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container className=\"my-3\" style={{ height: \"120%\", width: \"100%\" }}>\n        <Container>\n          <motion.h3\n            initial=\"hidden\"\n            custom={1}\n            variants={variants}\n            whileInView=\"visible\"\n            viewport={{ amount: 0.1, once: true }}\n            className=\"my-3 text-secondary\"\n          >\n            <div>\n              <h4 className=\"mx-5 text-secondary\">Coronavirus</h4>\n            </div>\n            <hr />\n            <form className=\"form\" autoComplete=\"off\" onSubmit={handleSubmit}>\n              <input type=\"search\" name=\"search\" />\n              <input type=\"submit\" value=\"Search\" />\n            </form>\n          </motion.h3>\n        </Container>\n        <Button className=\"my-2 all-region\" onClick={() => setShowAllRegions(!showAllRegions)}>\n        {showAllRegions ? \"Hide Regions\" : \"Show all regions\"}\n      </Button>\n        {noResults && (\n          <div className=\"text-center text-danger my-3\">\n           The region was not found according to your request\n          </div>\n        )}\n              \n        <Tab.Container id=\"left-tabs-example\" defaultActiveKey={filteredRegions.length > 0 ? filteredRegions[0].eventKey : \"\"}>\n          <div className=\"horizontal-scroll\">\n            <Nav variant=\"pills\" defaultActiveKey=\"/home\" className=\"d-flex\">\n              {showAllRegions ?\n                filteredRegions.map((region, index) => (\n                  <Nav.Item key={region.id} className=\"region-button\">\n                    <OverlayTrigger\n                      placement=\"bottom\"\n                      overlay={\n                        <Popover>\n                          <Popover.Body>\n                            <div>{region.district}</div>\n                            <div>The administrative center is a city {region.center}</div>\n                            <div>Population: {region.population}</div>\n                            <div>Area: {region.area}</div>\n                            <div>Density: {region.density}</div>\n                          </Popover.Body>\n                        </Popover>\n                      }\n                    >\n                      <motion.div\n                        initial=\"hidden\"\n                        custom={index + 1}\n                        variants={variants}\n                        whileInView=\"visible\"\n                        viewport={{ amount: 0.1, once: true }}\n                      >\n                        <Button\n                          className=\"shadow3\"\n                          size=\"sm\"\n                          variant=\"outline-info\"\n                          style={{ color: \"#FFFFFF\" }}\n                        >\n                          <Nav.Link eventKey={region.eventKey}>\n                            {region.title}\n                          </Nav.Link>\n                        </Button>\n                      </motion.div>\n                    </OverlayTrigger>\n                  </Nav.Item>\n                )) :\n                <Nav.Item key={filteredRegions[0].id} className=\"region-button\">\n                  {/* Отображаем только первый регион */}\n                </Nav.Item>\n              }\n            </Nav>\n          </div>\n          <Tab.Content>\n            {filteredRegions.map(region => (\n              <StaticCovidData_En key={region.id} region={region} />\n            ))}\n          </Tab.Content>\n        </Tab.Container>\n      </Container>\n      <Footer_En />\n    </>\n  );\n}\n","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem_En'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst StaticTubData_En = (props) => {\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const download_chart3=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart3')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const [lastDatadate, setLastsDatadate] = useState(0)\n  const [lastData, setLastsData] = useState(0)\n  const [last_ndeaths, setlast_ndeaths] = useState(0)\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n\n  const [chartOptions, setChartOptions] = useState({})\n\n  const chart = () => {\n    setLoadingprosses(true)\n    let tub_nd = [];\n    let tub_data = [];\n    let tub_last_ndeaths = [];\n    let tub_last_nd = [];\n    let tub_last_date = [];\n    let tub_ndeaths = [];\n\n    let url = props.region.hr\n    axios\n    .get(url)\n    .then(res => {\n      setLoadingprosses(false)\n      setSomeerrors(false)\n      tub_last_nd.push(parseInt(res.data[res.data.length-1].diagnoses))\n      tub_last_ndeaths.push(parseInt(res.data[res.data.length-1].deaths)) //\n      tub_last_date.push(res.data[res.data.length-1].date)\n            for (const dataObj of res.data) {\n        tub_nd.push(parseInt(dataObj.diagnoses));\n        tub_data.push(dataObj.date);\n        tub_ndeaths.push(parseInt(dataObj.deaths));\n      }\n      setChartData({\n        labels: tub_data,\n        datasets: [\n          {\n            label: \"new cases, scale 1\",\n            data: tub_nd,\n            fill: false,\n            borderColor: \"rgba(0, 191, 255, 1)\",\n            backgroundColor: \"rgba(0, 191, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'quantity'\n          },\n          \n      {\n        label: \"deaths, scale 1\",\n        data: tub_ndeaths,\n        borderColor: \"rgb(128, 0, 255)\",\n        backgroundColor: \"rgb(128,0,255)\",\n        tension: 0.9,\n        borderWidth: 4,\n        pointRadius: 0.3,\n        pointHoverRadius: 5,\n        pointHitRadius: 30,\n        pointBorderWidth: 0.1,\n        yAxisID: 'quantity'\n      },\n        ],\n      });\n\n      setChartOptions({\n         maintainAspectRatio : false,\n        responsive: true,\n        plugins: {\n          zoom: {\n            pan: {\n              enabled: true,\n              mode: 'xy',\n            },\n           zoom: {\n             wheel: {\n               enabled: true,\n               speed: 0.1,\n             },\n             drag: {\n              enabled: true,\n            },\n             pan: {enabled: true},\n             pinch: {\n               enabled: true\n             },\n             mode: 'xy',\n           },\n        },\n          legend: {\n            position: \"top\",\n          },\n          title: {\n            display: true,\n            text: \"Epidemiological data\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'scale 1'\n            },\n            position:'left',\n            type: 'linear',\n          },\n          y: {\n            title: {\n              display: true,\n              text: 'scale 2'\n            },\n            position:'right',\n            beginAtZero: true,\n            type: 'linear',\n            grid: {\n              drawOnChartArea: false\n            }\n          }\n        }\n      });\n      setLastsData(tub_last_nd)\n      setlast_ndeaths(tub_last_ndeaths)\n            setLastsDatadate(tub_last_date)\n    })\n    .catch(err => {\n      setLoadingprosses(false)\n      setSomeerrors(true)\n      console.log(err);\n    });\n  };\n\n  useEffect(() => {\n    chart();\n  }, [])\n\n  const [loadingprosses, setLoadingprosses] = useState(true)\n  const [someerrors, setSomeerrors] = useState(false)\n\n  const lasts = [\n    {id: 1, lastData: lastData, lastDatadate: lastDatadate, name: \"cases of infection\"},\n    {id: 3, lastData: last_ndeaths, lastDatadate: lastDatadate, name: \"deaths\"},\n  ]\n\n\n  return (\n    <Tab.Pane eventKey={props.region.eventKey}>\n      <div className=\"mx-3 my-3\">\n      <div>\n      <Container>\n        <Row style={{\n                width: \"100%\" }}>\n                {lasts.map((last,index) =>\n                    <MSCDItem initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05}}\n                       custom={index + 1}\n                      variants={variants} key = {last.id} last = {last}/>\n                )}\n        </Row>\n      </Container>\n    <div  align=\"center\" className =\"my-4\">\n    <Row className=\"my-2\">\n      <Col  xs={12} sm={9}>\n     </Col>\n    <Col xs={12} sm={3}>\n    <motion.div initial=\"hidden\"\n         custom={2}\n        variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n      </OverlayTrigger>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n      </OverlayTrigger>\n       <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={chart}><BsZoomOut/></Button>\n      <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart3(e)}><FiDownload/></Button>\n      </motion.div>\n    </Col>\n    </Row>\n    {loadingprosses ? <div style={{\n            height: '400px'}}><Spinner relative=\"true\" style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n    someerrors ?  <div style={{\n            height: '350px' }}><Alert relative=\"true\" variant=\"danger\" className=\"my-5\"> <Alert.Heading>Download error</Alert.Heading>\n    The server is temporarily not responding, please <Alert.Link href=\"/modeling\">refresh the page</Alert.Link> or try again later.\n    <hr /> </Alert> </div> :\n    <div style={{ height: '25rem' }}><Line id=\"chart3\" data={chartData} options={chartOptions}  height=\"90%\" /></div> }\n\n\n     </div>\n    </div>\n    </div>\n  </Tab.Pane>\n  );\n};\nexport default StaticTubData_En;","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {FiDownload } from 'react-icons/fi'\nimport {Container, Row, Col, Card, Button,\n  Image, Dropdown, OverlayTrigger, Popover, Spinner, Alert, Placeholder, Tab} from 'react-bootstrap';\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\nimport MSCDItem from './StaticCovidDataItem_En'\nimport { motion } from \"framer-motion\"\n\nimport {\n    Chart as ChartJS,\n    PointElement,\n    Filler,\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n  } from 'chart.js';\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\nimport scales from 'chartjs-plugin-zoom';\n\n\n  ChartJS.register(\n    CategoryScale,\n    LinearScale,\n    BarElement,\n    LineElement,\n    Title,\n    SubTitle,\n    Tooltip,\n    Legend,\n    PointElement,\n    Filler,\n  );\n\n  ChartJS.register(zoomPlugin,  scales);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\nconst StaticTubDataSoc_En = (props) => {\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const download_chart3=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart3')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const [lastDatadate, setLastsDatadate] = useState(0)\n  const [last_unemployment, setlast_unemployment] = useState(0)\n  const [last_poverty, setlast_poverty] = useState(0)\n  const [last_income, setlast_income] = useState(0)\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n\n  const [chartOptions, setChartOptions] = useState({})\n\n  const chart = () => {\n    setLoadingprosses(true)\n    let soc_data = [];\n    let soc_unempl = [];\n    let soc_pov = [];\n    let soc_income = [];\n    let soc_last_unempl = [];\n    let soc_last_pov = [];\n    let soc_last_income = [];\n    let tub_last_date = [];\n\n    let url = props.region.hr\n    axios\n    .get(url)\n    .then(res => {\n      setLoadingprosses(false)\n      setSomeerrors(false)\n      soc_last_unempl.push(parseInt(res.data[res.data.length-1].unemployment))\n      soc_last_pov.push(parseInt(res.data[res.data.length-1].poverty)) \n      soc_last_income.push(res.data[res.data.length-1].income)\n      tub_last_date.push(res.data[res.data.length-1].date)\n\n      for (const dataObj of res.data) {\n        soc_unempl.push(parseInt(dataObj.unemployment));\n        soc_pov.push(parseInt(dataObj.poverty));\n        soc_income.push(parseInt(dataObj.income));\n        soc_data.push(dataObj.date);\n      }\n      setChartData({\n        labels: soc_data,\n        datasets: [\n            {\n                label: \"unemployment , scale 2 (%)\",\n                data: soc_unempl,\n                fill: false,\n                borderColor: \"rgba(0, 191, 255, 1)\",\n                backgroundColor: \"rgba(0, 191, 255, 1)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                yAxisID: 'y'\n              },\n              \n          {\n            label: \"the proportion of the population with incomes below the subsistence level , scale 2 (%)\",\n            data: soc_pov,\n            borderColor: \"rgb(255,0,0)\",\n            backgroundColor: \"rgb(255,0,0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'y'\n          },\n          {\n            label: \"per capita income of the population , scale.1\",\n            data: soc_income,\n            borderColor: \"rgb(128, 0, 255)\",\n            backgroundColor: \"rgb(128,0,255)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            yAxisID: 'quantity'\n          },\n            ],\n          });\n\n      setChartOptions({\n        maintainAspectRatio : false,\n       responsive: true,\n       plugins: {\n         zoom: {\n           pan: {\n             enabled: true,\n             mode: 'xy',\n           },\n          zoom: {\n            wheel: {\n              enabled: true,\n              speed: 0.1,\n            },\n            drag: {\n             enabled: true,\n           },\n            pan: {enabled: true},\n            pinch: {\n              enabled: true\n            },\n            mode: 'xy',\n          },\n       },\n         legend: {\n           position: \"top\",\n         },\n         title: {\n           display: true,\n           text: \"Socio-economic data\",\n         },\n       },\n       scales: {\n         quantity: {\n           title: {\n             display: true,\n             text: 'scale 1'\n           },\n           position:'left',\n           type: 'linear',\n         },\n         y: {\n           title: {\n             display: true,\n             text: 'scale 2'\n           },\n           position:'right',\n           beginAtZero: true,\n           type: 'linear',\n           grid: {\n             drawOnChartArea: false\n           }\n         }\n       }\n     });\n     setlast_unemployment(soc_last_unempl)\n     setlast_poverty(soc_last_pov)\n     setlast_income(soc_last_income)\n     setLastsDatadate(tub_last_date)\n    })\n    .catch(err => {\n      setLoadingprosses(false)\n      setSomeerrors(true)\n      console.log(err);\n    });\n  };\n\n  useEffect(() => {\n    chart();\n  }, [])\n\n  const [loadingprosses, setLoadingprosses] = useState(true)\n  const [someerrors, setSomeerrors] = useState(false)\n\n  const lasts = [\n    {id: 1, lastData: last_unemployment, lastDatadate: lastDatadate, name: \"unemployment\"},\n    {id: 2, lastData: last_poverty, lastDatadate: lastDatadate, name: \"the proportion of the population with incomes below the subsistence level\"},\n    {id: 3, lastData: last_income, lastDatadate: lastDatadate, name: \"per capita income of the population\"},\n  ]\n\n\n  return (\n    <Tab.Pane eventKey={props.region.eventKey}>\n      <div className=\"mx-3 my-3\">\n      <div>\n      <Container>\n        <Row style={{\n                width: \"100%\" }}>\n                {lasts.map((last,index) =>\n                    <MSCDItem initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05}}\n                       custom={index + 1}\n                      variants={variants} key = {last.id} last = {last}/>\n                )}\n        </Row>\n      </Container>\n    <div  align=\"center\" className =\"my-4\">\n    <Row className=\"my-2\">\n      <Col  xs={12} sm={9}>\n     </Col>\n    <Col xs={12} sm={3}>\n    <motion.div initial=\"hidden\"\n         custom={2}\n        variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n      </OverlayTrigger>\n    <OverlayTrigger\n     placement=\"left\"\n     overlay={\n       <Popover>\n         <Popover.Body>\n          <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n         </Popover.Body>\n       </Popover>\n     }\n     >\n      <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n      </OverlayTrigger>\n       <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={chart}><BsZoomOut/></Button>\n      <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart3(e)}><FiDownload/></Button>\n      </motion.div>\n    </Col>\n    </Row>\n    {loadingprosses ? <div style={{\n            height: '400px'}}><Spinner relative=\"true\" style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n    someerrors ?  <div style={{\n            height: '350px' }}><Alert relative=\"true\" variant=\"danger\" className=\"my-5\"> <Alert.Heading>Download error</Alert.Heading>\n    The server is temporarily not responding, please <Alert.Link href=\"/modeling\">refresh the page</Alert.Link> or try again later.\n    <hr /> </Alert> </div> :\n    <div style={{ height: '25rem' }}><Line id=\"chart3\" data={chartData} options={chartOptions}  height=\"90%\" /></div> }\n\n\n     </div>\n    </div>\n    </div>\n  </Tab.Pane>\n  );\n};\nexport default StaticTubDataSoc_En;\n\n","import React, {useState} from \"react\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./styles.css\";\nimport NaviBarv2_En from \"./Components/NaviBarv2_En\";\nimport Footer_En from \"./Components/Footer_En\";\nimport {\n  Container,\n  Button,\n  Tab,\n  Nav,\n  OverlayTrigger,\n  Popover,\n} from \"react-bootstrap\";\nimport { motion } from \"framer-motion\";\nimport StaticTubData_En from \"./Components/StaticTubData_En\";\nimport StaticTubDataSoc_En from \"./Components/StaticTubDataSoc_En\";\nimport { useSearchParams } from \"react-router-dom\";\n\nconst getRegionData = (id, hr, eventKey, title, title2, district, center, population, area, density) => ({ id, hr, eventKey, title, title2, district, center, population, area, density });\n\nconst regions = [\n\n  getRegionData(1, \"https://server.ai-biolab.ru/api/csvTub/belgorod\", \"belgorod\", \"Belgorod region\", \"Belgorod region belgorod region\",\"Central Federal District\",\"Belgorod\", \"1,514,500 people\", \"27,100 km²\", \"55.31 people/km²\"),\n  getRegionData(2, \"https://server.ai-biolab.ru/api/csvTub/bryansk\", \"bryansk\", \"Bryansk region\", \"Bryansk region bryansk region\",\"Central Federal District\",\"Bryansk\", \"1 168 800 people\", \"34 900 km²\", \"32,77 people/km²\"),\n  getRegionData(3, \"https://server.ai-biolab.ru/api/csvTub/vladimir\", \"vladimir\", \"Vladimir region\", \"Vladimir region vladimir region\",\"Central Federal District\",\"Vladimir\", \"1 342 099 people\", \"29 000 km²\", \"46,15 people/km²\"),\n  getRegionData(4, \"https://server.ai-biolab.ru/api/csvTub/voronezh\", \"voronezh\", \"Voronezh region\", \"Voronezh region voronezh region\",\"Central Federal District\",\"Voronezh\", \"2 273 417 people\", \"52 216 km²\", \"43,54 people/km²\"),\n  getRegionData(5, \"https://server.ai-biolab.ru/api/csvTub/ivanovsk\", \"ivanovsk\", \"Ivanovo region\", \"Ivanovo region ivanovo region\",\"Central Federal District\",\"Ivanovo\", \"905 900 people\", \"21 437 km²\", \"42,26 people/km²\"),\n  getRegionData(6, \"https://server.ai-biolab.ru/api/csvTub/kaluga\", \"kaluga\", \"Kaluga region\", \"Kaluga region kaluga region\",\"Central Federal District\",\"Kaluga\", \"1 068 410 people\", \"29 777 km²\", \"35,88 people/km²\"),\n  getRegionData(7, \"https://server.ai-biolab.ru/api/csvTub/kostroma\", \"kostroma\", \"Kostroma region\", \"Kostroma region kostroma region\",\"Central Federal District\",\"Kostroma\", \"566 266 people\", \"60 211 km²\", \"9,4 people/km²\"),\n  getRegionData(8, \"https://server.ai-biolab.ru/api/csvTub/kursk\", \"kursk\", \"Kursk region\", \"Kursk region kursk region\",\"Central Federal District\",\"Kursk\", \"1 060 892 people\", \"29 997 km²\", \"35,37 people/km²\"),\n  getRegionData(9, \"https://server.ai-biolab.ru/api/csvTub/lipeck\", \"lipeck\", \"Lipetsk region\", \"Lipetsk region lipetsk region\",\"Central Federal District\",\"Lipetsk\", \"1 116 265 people\", \"24 047 km²\", \"46,42 people/km²\"),\n  getRegionData(10, \"https://server.ai-biolab.ru/api/csvTub/moscow\", \"moscow\", \"Moscow region\", \"Moscow region moscow region\",\"Central Federal District\",\"Moscow\", \"8 651 260 people\", \"44 329 km²\", \"195,16 people/km²\"),\n  getRegionData(11, \"https://server.ai-biolab.ru/api/csvTub/orel\", \"orel\", \"Oryol region\", \"Oryol region oryol region\",\"Central Federal District\",\"Orel\", \"724 686 people\", \"24 700 km²\", \"29,4 people/km²\"),\n  getRegionData(12, \"https://server.ai-biolab.ru/api/csvTub/ryazun\", \"ryazun\", \"Ryazan region\", \"Ryazan region ryazan region\",\"Central Federal District\",\"Ryazan\", \"1 082 231 people\", \"44 329 km²\", \"27,33 people/km²\"),\n  getRegionData(13, \"https://server.ai-biolab.ru/api/csvTub/smolensk\", \"smolensk\", \"Smolensk region\", \"Smolensk region smolensk region\",\"Central Federal District\",\"Smolensk\", \"863 987 people\", \"49 779 km²\", \"17,36 people/km²\"),\n  getRegionData(14, \"https://server.ai-biolab.ru/api/csvTub/tambov\", \"tambov\", \"Tambov region\", \"Tambov region tambov region\",\"Central Federal District\",\"Tambov\", \"956 292 people\", \"34 462 km²\", \"27,75 people/km²\"),\n  getRegionData(15, \"https://server.ai-biolab.ru/api/csvTub/tver\", \"tver\", \"Tver region\", \"Tver region tver region\",\"Central Federal District\",\"Tver\", \"1 199 747 people\", \"84 100 km²\", \"14,25 people/km²\"),\n  getRegionData(16, \"https://server.ai-biolab.ru/api/csvTub/tula\", \"tula\", \"Tula region\", \"Tula region tula region\",\"Central Federal District\",\"Tula\", \"1 471 140 people\", \"25 679 km²\", \"57,29 people/km²\"),\n  getRegionData(17, \"https://server.ai-biolab.ru/api/csvTub/yaroslavl\", \"yaroslavl\",\"Yaroslavl region\", \"Yaroslavl region yaroslavl region\",\"Central Federal District\",\"Yaroslavl\", \"1 187 558 people\", \"36 400 km²\", \"32,83 people/km²\"),\n  getRegionData(18, \"https://server.ai-biolab.ru/api/csvTub/kareliya\", \"kareliya\", \"Republic of Karelia\", \"Republic of Karelia republic of karelia\",\"North-Western Federal District\",\"Petrozavodsk\", \"523 856 people\", \"172 400 km²\", \"2,9 people/km²\"),\n  getRegionData(19, \"https://server.ai-biolab.ru/api/csvTub/komi\", \"komi\", \"Komi Republic\", \"Komi Republic, komi republic\",\"North-Western Federal District\",\"Syktyvkar\", \"720 610 people\", \"415 900 km²\", \"1,73 people/km²\"),\n  getRegionData(20, \"https://server.ai-biolab.ru/api/csvTub/arhangelsk\", \"arhangelsk\", \"Arkhangelsk region\", \"Arkhangelsk region arkhangelsk region\",\"North-Western Federal District\",\"Arkhangelsk\", \"998 072 people\", \"587 400 km²\", \"1,69 people/km²\"),\n  getRegionData(21, \"https://server.ai-biolab.ru/api/csvTub/vologda\", \"vologda\", \"Vologda region\", \"Vologda region vologda region\",\"North-Western Federal District\",\"Vologda\", \"1 121 343 people\", \"144 527 km²\", \"8,5 people/km²\"),\n  getRegionData(22, \"https://server.ai-biolab.ru/api/csvTub/kaliningrad\", \"kaliningrad\", \"Kaliningrad region\", \"Kaliningrad region kaliningrad region\",\"North-Western Federal District\",\"Kaliningrad\", \"1 033 914 people\", \"15 125 km²\", \"68,36 people/km²\"),\n  getRegionData(23, \"https://server.ai-biolab.ru/api/csvTub/leningrad\", \"leningrad\", \"Leningrad region\", \"Leningrad region leningrad region\",\"North-Western Federal District\",\"Gatchina\", \"2 035 762 people\", \"83 908 km²\", \"24,26 people/km²\"),\n  getRegionData(24, \"https://server.ai-biolab.ru/api/csvTub/murmansk\", \"murmansk\", \"Murmansk region\", \"Murmansk region murmansk region\",\"North-Western Federal District\",\"Murmansk\", \"656 438 people\", \"144 902 km²\", \"4,53 people/km²\"),\n  getRegionData(25, \"https://server.ai-biolab.ru/api/csvTub/novgorod\", \"novgorod\", \"Novgorod region\", \"Novgorod region novgorod region\",\"North-Western Federal District\",\"Veliky Novgorod\", \"571 447 people\", \"54 501 km²\", \"10,49 people/km²\"),\n  getRegionData(26, \"https://server.ai-biolab.ru/api/csvTub/pskov\", \"pskov\", \"Pskov region\", \"Pskov region pskov region\",\"North-Western Federal District\",\"Pskov\", \"581 147 people\", \"55 399 km²\", \"10,49 people/km²\"),\n  getRegionData(27, \"https://server.ai-biolab.ru/api/csvTub/adygea\", \"adygea\", \"Republic of Adygea\", \"Republic of Adygea republic of adygea\",\"Southern Federal District\",\"Maykop\", \"500 591 people\", \"7 792 km²\", \"64,24 people/km²\"),\n  getRegionData(28, \"https://server.ai-biolab.ru/api/csvTub/kalmykia\", \"kalmykia\", \"Republic of Kalmykia\", \"Republic of Kalmykia republic of kKalmykia\",\"Southern Federal District\",\"Elista\", \"266 770 people\", \"74 731 km²\", \"5,57 people/km²\"),\n  getRegionData(29, \"https://server.ai-biolab.ru/api/csvTub/krasnodar\", \"krasnodar\", \"Krasnodar Territory\", \"Krasnodar Territory kKrasnodar territory\",\"Southern Federal District\",\"Krasnodar\", \"5 833 002 people\", \"76 005 km²\", \"77,27 people/km²\"),\n  getRegionData(30, \"https://server.ai-biolab.ru/api/csvTub/volgograd\", \"volgograd\", \"Volgograd region\", \"Volgograd region volgograd region\",\"Southern Federal District\",\"Volgograd\", \"2 453 898 people\", \"113 900 km²\", \"21,74 people/km²\"),\n  getRegionData(31, \"https://server.ai-biolab.ru/api/csvTub/rostov\", \"rostov\", \"Rostov region\", \"Rostov region Rostov region\",\"Southern Federal District\",\"Rostov\", \"4 152 518 people\", \"100 967 km²\", \"41,13 people/km²\"),\n  getRegionData(32, \"https://server.ai-biolab.ru/api/csvTub/dagestan\", \"dagestan\", \"Republic of Dagestan\", \"Republic of Dagestan republic of dagestan\",\"Southern Federal District\",\"Makhachkala\", \"3 232 224 people\", \"50 270 km²\", \"64,3 people/km²\"),\n  getRegionData(33, \"https://server.ai-biolab.ru/api/csvTub/ingushetia\", \"ingushetia\", \"Republic of Ingushetia\", \"Republic of Ingushetia republic of ingushetia\",\"Southern Federal District\",\"Magas\", \"509 541 people\", \"3 685 km²\", \"147,7 people/km²\"),\n  getRegionData(34, \"https://server.ai-biolab.ru/api/csvTub/kabarbalkar\", \"kabarbalkar\", \"Kabardino-Balkarian Republic\", \"Kabardino-Balkarian Republic kabardino-balkarian republic\",\"Southern Federal District\",\"Nalchik\", \"905 464 people\", \"76 005 km²\", \"72,61 people/km²\"),\n  getRegionData(35, \"https://server.ai-biolab.ru/api/csvTub/karcherk\", \"karcherk\",\"Karachay-Cherkess Republic\", \"Karachay-Cherkess Republic of karachay-cherkess republic\",\"Southern Federal District\",\"Cherkessk\", \"468 322 people\", \"14 100 km²\", \"32,8 people/km²\"),\n  getRegionData(36, \"https://server.ai-biolab.ru/api/csvTub/sevosetiaalania\", \"sevosetiaalania\", \"Republic of North Ossetia-Alania\", \"Republic of North Ossetia-Alania republic of north ossetia-alania\",\"North Caucasus Federal District\",\"Vladikavkaz\", \"678 879 people\", \"8 000 km²\", \"85,00 people/km²\"),\n  getRegionData(37, \"https://server.ai-biolab.ru/api/csvTub/chechnya\", \"chechnya\",\"Chechen Republic\", \"Chechen Republic cechen republic\",\"North Caucasus Federal District\",\"Grozny\", \"1 552 866 people\", \"16 171 km²\", \"96,03 people/km²\"),\n  getRegionData(38, \"https://server.ai-biolab.ru/api/csvTub/stavrapol\", \"stavrapol\", \"Stavropol Territory\", \"Stavropol Territory stavropol territory\",\"North Caucasian Federal District\",\"Stavropol\", \"2 886 108 people\", \"66 160 km²\", \"43,62 people/km²\"),\n  getRegionData(39, \"https://server.ai-biolab.ru/api/csvTub/bashkortostan\", \"bashkortostan\", \"Republic of Bashkortostan\", \"Republic of Bashkortostan republic of bashkortostan\",\"Volga Federal District\",\"Ufa\", \"4 064 361 people\", \"142 947 km²\", \"28,4 people/km²\"),\n  getRegionData(40, \"https://server.ai-biolab.ru/api/csvTub/maryal\", \"maryal\", \"Republic of Mari El\", \"Republic of Mari El republic of mari el\",\"Volga Federal District\",\"Yoshkar-Ola\", \"696 459 people\", \"23 375 km²\", \"29,5 people/km²\"),\n  getRegionData(41, \"https://server.ai-biolab.ru/api/csvTub/mordovia\", \"mordovia\",\"Republic of Mordovia\",\"Republic of Mordovia republic of mordovia\", \"Volga Federal District\", \"Saransk\", \"765 891  people\", \"26 128 km²\", \"29,31 people/km²\"),\n  getRegionData(42, \"https://server.ai-biolab.ru/api/csvTub/tatarstan\", \"tatarstan\", \"Republic of Tatarstan\",\"Republic of Tatarstan republic of tatarstan\", \"Volga Federal District\", \"Kazan\", \"4 003 016 people\", \"67 847 km²\", \"56,57 people/km²\"),\n  getRegionData(43, \"https://server.ai-biolab.ru/api/csvTub/udmurtia\", \"udmurtia\", \"Udmurt Republic\", \"Udmurt Republic udmurt republic\",\"Volga Federal District\",\"Izhevsk\", \"1 434 557  people\", \"42 061 km²\", \"34,11 people/km²\"),\n  getRegionData(44, \"https://server.ai-biolab.ru/api/csvTub/chuvashia\", \"chuvashia\", \"Chuvash Republic\", \"Chuvash Republic chuvash republic\",\"Volga Federal District\",\"Cheboksary\", \"1 167 061 people\", \"18 343 km²\", \"63,62 people/km²\"),\n  getRegionData(45, \"https://server.ai-biolab.ru/api/csvTub/perm\", \"perm\", \"Perm Krai\", \"Perm Krai perm krai\",\"Volga Federal District\",\"Perm\", \"2 495 266 people\", \"160 236 km²\", \"15,57 people/km²\"),\n  getRegionData(46, \"https://server.ai-biolab.ru/api/csvTub/kirov\", \"kirov\", \"Kirov region\", \"Kirov region kirov region\",\"North Caucasus Federal District\",\"Kirov\", \"1 129 935 people\", \"120 400 km²\", \"9,39 people/km²\"),\n  getRegionData(47, \"https://server.ai-biolab.ru/api/csvTub/nizhniynovgorod\", \"nizhniynovgorod\", \"Nizhny Novgorod region\", \"Nizhny Novgorod region nizhny novgorod region\",\"North Caucasus Federal District\",\"Nizhny Novgorod\", \"3 060 335 people\", \"76 624 km²\", \"39,94 people/km²\"),\n  getRegionData(48, \"https://server.ai-biolab.ru/api/csvTub/orenburg\", \"orenburg\", \"Orenburg region\", \"Orenburg region oenburg region\",\"North Caucasus Federal District\",\"Orenburg\", \"1 828 656 people\", \"123 702 km²\", \"14,78 people/km²\"),\n  getRegionData(49, \"https://server.ai-biolab.ru/api/csvTub/penza\", \"penza\", \"Penza region\", \"Penza region penza region\",\"Volga Federal District\",\"Penza\", \"1 236 113 people\", \"43 352 km²\", \"28,51 people/km²\"),\n  getRegionData(50, \"https://server.ai-biolab.ru/api/csvTub/samara\", \"samara\", \"Samara region\", \"Samara region samara region\",\"Volga Federal District\",\"Samara\", \"3 127 842 people\", \"53 565 km²\", \"58,39 people/km²\"),\n  getRegionData(51, \"https://server.ai-biolab.ru/api/csvTub/saratov\", \"saratov\", \"Saratov region\", \"Saratov region saratov region\",\"Volga Federal District\",\"Saratov\", \"2 385 163  people\", \"101 240 km²\", \"23,56 people/km²\"),\n  getRegionData(52, \"https://server.ai-biolab.ru/api/csvTub/ulyanovsk\", \"ulyanovsk\", \"Ulyanovsk region\", \"Ulyanovsk region ulyanovsk region\",\"Volga Federal District\",\"Ulyanovsk\", \"1 172 782 people\", \"37 181 km²\", \"31,54 people/km²\"),\n  getRegionData(53, \"https://server.ai-biolab.ru/api/csvTub/kurgan\", \"kurgan\", \"Kurgan region\", \"Kurgan region kurgan region\",\"Ural Federal District\",\"Kurgan\", \"753 002  people\", \"71 488 km²\", \"10,53 people/km²\"),\n  getRegionData(54, \"https://server.ai-biolab.ru/api/csvTub/sverdlov\", \"sverdlov\", \"Sverdlovsk region\", \"Sverdlovsk region sverdlovsk region\",\"Ural Federal District\",\"Yekaterinburg\", \"4 222 695 people\", \"194 226 km²\", \"21,73 people/km²\"),\n  getRegionData(55, \"https://server.ai-biolab.ru/api/csvTub/tumen\", \"tumen\", \"Tyumen region\", \"Tyumen region tyumen region\",\"Ural Federal District\",\"Tyumen\", \"3 890 800 people\", \"160 122 km²\", \"2,66 people/km²\"),\n  getRegionData(56, \"https://server.ai-biolab.ru/api/csvTub/chelyabinsk\", \"chelyabinsk\", \"Chelyabinsk region\", \"Chelyabinsk region chelyabinsk region\",\"Ural Federal District\",\"Chelyabinsk\", \"3 395 798 people\", \"88 529 km²\", \"38,36 people/km²\"),\n  getRegionData(57, \"https://server.ai-biolab.ru/api/csvTub/respaltay\", \"respaltay\", \"Altai Republic\", \"Altai Republic, altai republic\",\"Siberian Federal District\",\"Gorno-Altaysk\", \"210 765 people\", \"92 903 km²\", \"2,27 people/km²\"),\n  getRegionData(58, \"https://server.ai-biolab.ru/api/csvTub/resptyva\", \"resptyva\", \"Republic of Tyva\", \"Republic of Tyva republic of tyva\",\"Siberian Federal District\",\"Kyzyl\", \"337 544 people\", \"168 604 km²\", \"2,0 people/km²\"),\n  getRegionData(59, \"https://server.ai-biolab.ru/api/csvTub/resphakasia\", \"resphakasia\", \"Republic of Khakassia\", \"Republic of Khakassia republic of khakassia\",\"Siberian Federal District\",\"Abakan\", \"528 175 people\", \"61 569 km²\", \"8,58 people/km²\"),\n  getRegionData(60, \"https://server.ai-biolab.ru/api/csvTub/altay\", \"altay\", \"Altai Territory\" , \"Altai Territory altai territory\",\"Siberian Federal District\",\"Barnaul\", \"2 268 179 people\", \"167 996 km²\", \"13,5 people/km²\"),\n  getRegionData(61, \"https://server.ai-biolab.ru/api/csvTub/krasnoyarsk\", \"krasnoyarsk\", \"Krasnoyarsk Territory\", \"Krasnoyarsk Territory krasnoyarsk territory\",\"Siberian Federal District\",\"Krasnoyarsk\", \"2 846 120 people\", \"2 366 797  km²\", \"1,2 people/km²\"),\n  getRegionData(62, \"https://server.ai-biolab.ru/api/csvTub/irkutsk\", \"irkutsk\", \"Irkutsk region\", \"Irkutsk region irkutsk region\",\"Siberian Federal District\",\"Irkutsk\", \"2 330 537 people\", \"774 846 km²\", \"3,01 people/km²\"),\n  getRegionData(63, \"https://server.ai-biolab.ru/api/csvTub/kemerovo\", \"kemerovo\", \"Kemerovo region\", \"Kemerovo region kemerovo region\",\"Siberian Federal District\",\"Kemerovo\", \"2 547 684 people\", \"95 725 km²\", \"26,61 people/km²\"),\n  getRegionData(64, \"https://server.ai-biolab.ru/api/csvTub/novosibirsk\", \"novosibirsk\", \"Novosibirsk region\", \"Novosibirsk region novosibirsk region\",\"Siberian Federal District\",\"Novosibirsk\", \"2 779 375 people\", \"177 756 km²\", \"15,64 people/km²\"),\n  getRegionData(65, \"https://server.ai-biolab.ru/api/csvTub/omsk\", \"omsk\", \"Omsk region\", \"Omsk region omsk region\",\"Siberian Federal District\",\"Omsk\", \"1 879 548 people\", \"141 140 km²\", \"13,32 people/km²\"),\n  getRegionData(66, \"https://server.ai-biolab.ru/api/csvTub/tomsk\", \"tomsk\", \"Tomsk region\", \"Tomsk region tomsk region\",\"Siberian Federal District\",\"Tomsk\", \"1 043 385 people\", \"314 391 km²\", \"3,32 people/km²\"),\n  getRegionData(67, \"https://server.ai-biolab.ru/api/csvTub/buryatia\", \"buryatia\", \"Republic of Buryatia\", \"Republic of Buryatia republic of buryatia\",\"Far Eastern Federal District\",\"Ulan-Ude\", \"971 922 people\", \"351 334 km²\", \"2,73 people/km²\"),\n  getRegionData(68, \"https://server.ai-biolab.ru/api/csvTub/saha\", \"saha\", \"Republic of Sakha\", \"Republic of Sakha republic of sakha\",\"Far Eastern Federal District\",\"Yakutsk\", \"1 001 664 people\", \"3 083 523 km²\", \"0,32 people/km²\"),\n  getRegionData(69, \"https://server.ai-biolab.ru/api/csvTub/zabaikalsky\", \"zabaikalsky\", \"Zabaikalsky Krai\", \"Zabaikalsky Krai zabaikalsky krai\",\"Far Eastern Federal District\",\"Chita\", \"984 395 people\", \"168 604 km²\", \"2,28 people/km²\"),\n  getRegionData(70, \"https://server.ai-biolab.ru/api/csvTub/kamchatsky\", \"kamchatsky\", \"Kamchatka Territory\", \"Kamchatka Territory kamchatka territory\",\"Far Eastern Federal District\",\"Petropavlovsk-Kamchatsky\", \"288 947 people\", \"464 300 km²\", \"0,62 people/km²\"),\n  getRegionData(71, \"https://server.ai-biolab.ru/api/csvTub/primorsk\", \"primorsk\", \"Primorsky Krai\" , \"Primorsky Krai primorsky krai\",\"Far Eastern Federal District\",\"Vladivostok\", \"1 806 393 people\", \"164 673 km²\", \"10,97 people/km²\"),\n  getRegionData(72, \"https://server.ai-biolab.ru/api/csvTub/habarovsk\", \"habarovsk\", \"Khabarovsk Territory\", \"Khabarovsk Territory khabarovsk territory\",\"Far Eastern Federal District\",\"Khabarovsk\", \"1 278 132 people\", \"787 633  km²\", \"1,62 people/km²\"),\n  getRegionData(73, \"https://server.ai-biolab.ru/api/csvTub/amursk\", \"amursk\", \"Amur region\", \"Amur region amur region\",\"Far Eastern Federal District\",\"Blagoveshchensk\", \"750 083 people\", \"361 908 km²\", \"2,20 people/km²\"),\n  getRegionData(74, \"https://server.ai-biolab.ru/api/csvTub/magadan\", \"magadan\", \"Magadan region\", \"Magadan region magadan region\",\"Far Eastern Federal District\",\"Magadan\", \"133 387 people\", \"462 464 km²\", \"0,29 people/km²\"),\n  getRegionData(75, \"https://server.ai-biolab.ru/api/csvTub/sahalin\", \"sahalin\", \"Sakhalin Region\", \"Sakhalin region sakhalin region\",\"Far Eastern Federal District\",\"Yuzhno-Sakhalinsk\", \"457 590 people\", \"87 101 km²\", \"5,25 people/km²\"),\n  getRegionData(76, \"https://server.ai-biolab.ru/api/csvTub/evreiskaya\", \"evreiskaya\", \"Jewish Autonomous Region\", \"Jewish Autonomous Region jewish autonomous Region\",\"Far Eastern Federal District\",\"Birobidzhan\", \"145 802 people\", \"36 300 km²\", \"4,02 people/km²\"),\n  getRegionData(77, \"https://server.ai-biolab.ru/api/csvTub/chukotsk\", \"chukotsk\", \"Chukotka Autonomous Okrug\", \"Chukotka Autonomous Okrug cukotka autonomous okrug\",\"Far Eastern Federal District\",\"Anadyr\", \"48 029 people\", \"721 481 km²\", \"0,07 people/km²\"),\n  \n\n];\n\nconst regionsSoc = [\n  \n    getRegionData(1, \"https://server.ai-biolab.ru/api/csvSocTub/belgorod\", \"belgorod\", \"Belgorod region\", \"Belgorod region belgorod region\",\"Central Federal District\",\"Belgorod\", \"1,514,500 people\", \"27,100 km²\", \"55.31 people/km²\"),\n  getRegionData(2, \"https://server.ai-biolab.ru/api/csvSocTub/bryansk\", \"bryansk\", \"Bryansk region\", \"Bryansk region bryansk region\",\"Central Federal District\",\"Bryansk\", \"1 168 800 people\", \"34 900 km²\", \"32,77 people/km²\"),\n  getRegionData(3, \"https://server.ai-biolab.ru/api/csvSocTub/vladimir\", \"vladimir\", \"Vladimir region\", \"Vladimir region vladimir region\",\"Central Federal District\",\"Vladimir\", \"1 342 099 people\", \"29 000 km²\", \"46,15 people/km²\"),\n  getRegionData(4, \"https://server.ai-biolab.ru/api/csvSocTub/voronezh\", \"voronezh\", \"Voronezh region\", \"Voronezh region voronezh region\",\"Central Federal District\",\"Voronezh\", \"2 273 417 people\", \"52 216 km²\", \"43,54 people/km²\"),\n  getRegionData(5, \"https://server.ai-biolab.ru/api/csvSocTub/ivanovsk\", \"ivanovsk\", \"Ivanovo region\", \"Ivanovo region ivanovo region\",\"Central Federal District\",\"Ivanovo\", \"905 900 people\", \"21 437 km²\", \"42,26 people/km²\"),\n  getRegionData(6, \"https://server.ai-biolab.ru/api/csvSocTub/kaluga\", \"kaluga\", \"Kaluga region\", \"Kaluga region kaluga region\",\"Central Federal District\",\"Kaluga\", \"1 068 410 people\", \"29 777 km²\", \"35,88 people/km²\"),\n  getRegionData(7, \"https://server.ai-biolab.ru/api/csvSocTub/kostroma\", \"kostroma\", \"Kostroma region\", \"Kostroma region kostroma region\",\"Central Federal District\",\"Kostroma\", \"566 266 people\", \"60 211 km²\", \"9,4 people/km²\"),\n  getRegionData(8, \"https://server.ai-biolab.ru/api/csvSocTub/kursk\", \"kursk\", \"Kursk region\", \"Kursk region kursk region\",\"Central Federal District\",\"Kursk\", \"1 060 892 people\", \"29 997 km²\", \"35,37 people/km²\"),\n  getRegionData(9, \"https://server.ai-biolab.ru/api/csvSocTub/lipeck\", \"lipeck\", \"Lipetsk region\", \"Lipetsk region lipetsk region\",\"Central Federal District\",\"Lipetsk\", \"1 116 265 people\", \"24 047 km²\", \"46,42 people/km²\"),\n  getRegionData(10, \"https://server.ai-biolab.ru/api/csvSocTub/moscow\", \"moscow\", \"Moscow region\", \"Moscow region moscow region\",\"Central Federal District\",\"Moscow\", \"8 651 260 people\", \"44 329 km²\", \"195,16 people/km²\"),\n  getRegionData(11, \"https://server.ai-biolab.ru/api/csvSocTub/orel\", \"orel\", \"Oryol region\", \"Oryol region oryol region\",\"Central Federal District\",\"Orel\", \"724 686 people\", \"24 700 km²\", \"29,4 people/km²\"),\n  getRegionData(12, \"https://server.ai-biolab.ru/api/csvSocTub/ryazun\", \"ryazun\", \"Ryazan region\", \"Ryazan region ryazan region\",\"Central Federal District\",\"Ryazan\", \"1 082 231 people\", \"44 329 km²\", \"27,33 people/km²\"),\n  getRegionData(13, \"https://server.ai-biolab.ru/api/csvSocTub/smolensk\", \"smolensk\", \"Smolensk region\", \"Smolensk region smolensk region\",\"Central Federal District\",\"Smolensk\", \"863 987 people\", \"49 779 km²\", \"17,36 people/km²\"),\n  getRegionData(14, \"https://server.ai-biolab.ru/api/csvSocTub/tambov\", \"tambov\", \"Tambov region\", \"Tambov region tambov region\",\"Central Federal District\",\"Tambov\", \"956 292 people\", \"34 462 km²\", \"27,75 people/km²\"),\n  getRegionData(15, \"https://server.ai-biolab.ru/api/csvSocTub/tver\", \"tver\", \"Tver region\", \"Tver region tver region\",\"Central Federal District\",\"Tver\", \"1 199 747 people\", \"84 100 km²\", \"14,25 people/km²\"),\n  getRegionData(16, \"https://server.ai-biolab.ru/api/csvSocTub/tula\", \"tula\", \"Tula region\", \"Tula region tula region\",\"Central Federal District\",\"Tula\", \"1 471 140 people\", \"25 679 km²\", \"57,29 people/km²\"),\n  getRegionData(17, \"https://server.ai-biolab.ru/api/csvSocTub/yaroslavl\", \"yaroslavl\",\"Yaroslavl region\", \"Yaroslavl region yaroslavl region\",\"Central Federal District\",\"Yaroslavl\", \"1 187 558 people\", \"36 400 km²\", \"32,83 people/km²\"),\n  getRegionData(18, \"https://server.ai-biolab.ru/api/csvSocTub/kareliya\", \"kareliya\", \"Republic of Karelia\", \"Republic of Karelia republic of karelia\",\"North-Western Federal District\",\"Petrozavodsk\", \"523 856 people\", \"172 400 km²\", \"2,9 people/km²\"),\n  getRegionData(19, \"https://server.ai-biolab.ru/api/csvSocTub/komi\", \"komi\", \"Komi Republic\", \"Komi Republic, komi republic\",\"North-Western Federal District\",\"Syktyvkar\", \"720 610 people\", \"415 900 km²\", \"1,73 people/km²\"),\n  getRegionData(20, \"https://server.ai-biolab.ru/api/csvSocTub/arhangelsk\", \"arhangelsk\", \"Arkhangelsk region\", \"Arkhangelsk region arkhangelsk region\",\"North-Western Federal District\",\"Arkhangelsk\", \"998 072 people\", \"587 400 km²\", \"1,69 people/km²\"),\n  getRegionData(21, \"https://server.ai-biolab.ru/api/csvSocTub/vologda\", \"vologda\", \"Vologda region\", \"Vologda region vologda region\",\"North-Western Federal District\",\"Vologda\", \"1 121 343 people\", \"144 527 km²\", \"8,5 people/km²\"),\n  getRegionData(22, \"https://server.ai-biolab.ru/api/csvSocTub/kaliningrad\", \"kaliningrad\", \"Kaliningrad region\", \"Kaliningrad region kaliningrad region\",\"North-Western Federal District\",\"Kaliningrad\", \"1 033 914 people\", \"15 125 km²\", \"68,36 people/km²\"),\n  getRegionData(23, \"https://server.ai-biolab.ru/api/csvSocTub/leningrad\", \"leningrad\", \"Leningrad region\", \"Leningrad region leningrad region\",\"North-Western Federal District\",\"Gatchina\", \"2 035 762 people\", \"83 908 km²\", \"24,26 people/km²\"),\n  getRegionData(24, \"https://server.ai-biolab.ru/api/csvSocTub/murmansk\", \"murmansk\", \"Murmansk region\", \"Murmansk region murmansk region\",\"North-Western Federal District\",\"Murmansk\", \"656 438 people\", \"144 902 km²\", \"4,53 people/km²\"),\n  getRegionData(25, \"https://server.ai-biolab.ru/api/csvSocTub/novgorod\", \"novgorod\", \"Novgorod region\", \"Novgorod region novgorod region\",\"North-Western Federal District\",\"Veliky Novgorod\", \"571 447 people\", \"54 501 km²\", \"10,49 people/km²\"),\n  getRegionData(26, \"https://server.ai-biolab.ru/api/csvSocTub/pskov\", \"pskov\", \"Pskov region\", \"Pskov region pskov region\",\"North-Western Federal District\",\"Pskov\", \"581 147 people\", \"55 399 km²\", \"10,49 people/km²\"),\n  getRegionData(27, \"https://server.ai-biolab.ru/api/csvSocTub/adygea\", \"adygea\", \"Republic of Adygea\", \"Republic of Adygea republic of adygea\",\"Southern Federal District\",\"Maykop\", \"500 591 people\", \"7 792 km²\", \"64,24 people/km²\"),\n  getRegionData(28, \"https://server.ai-biolab.ru/api/csvSocTub/kalmykia\", \"kalmykia\", \"Republic of Kalmykia\", \"Republic of Kalmykia republic of kKalmykia\",\"Southern Federal District\",\"Elista\", \"266 770 people\", \"74 731 km²\", \"5,57 people/km²\"),\n  getRegionData(29, \"https://server.ai-biolab.ru/api/csvSocTub/krasnodar\", \"krasnodar\", \"Krasnodar Territory\", \"Krasnodar Territory kKrasnodar territory\",\"Southern Federal District\",\"Krasnodar\", \"5 833 002 people\", \"76 005 km²\", \"77,27 people/km²\"),\n  getRegionData(30, \"https://server.ai-biolab.ru/api/csvSocTub/volgograd\", \"volgograd\", \"Volgograd region\", \"Volgograd region volgograd region\",\"Southern Federal District\",\"Volgograd\", \"2 453 898 people\", \"113 900 km²\", \"21,74 people/km²\"),\n  getRegionData(31, \"https://server.ai-biolab.ru/api/csvSocTub/rostov\", \"rostov\", \"Rostov region\", \"Rostov region Rostov region\",\"Southern Federal District\",\"Rostov\", \"4 152 518 people\", \"100 967 km²\", \"41,13 people/km²\"),\n  getRegionData(32, \"https://server.ai-biolab.ru/api/csvSocTub/dagestan\", \"dagestan\", \"Republic of Dagestan\", \"Republic of Dagestan republic of dagestan\",\"Southern Federal District\",\"Makhachkala\", \"3 232 224 people\", \"50 270 km²\", \"64,3 people/km²\"),\n  getRegionData(33, \"https://server.ai-biolab.ru/api/csvSocTub/ingushetia\", \"ingushetia\", \"Republic of Ingushetia\", \"Republic of Ingushetia republic of ingushetia\",\"Southern Federal District\",\"Magas\", \"509 541 people\", \"3 685 km²\", \"147,7 people/km²\"),\n  getRegionData(34, \"https://server.ai-biolab.ru/api/csvSocTub/kabarbalkar\", \"kabarbalkar\", \"Kabardino-Balkarian Republic\", \"Kabardino-Balkarian Republic kabardino-balkarian republic\",\"Southern Federal District\",\"Nalchik\", \"905 464 people\", \"76 005 km²\", \"72,61 people/km²\"),\n  getRegionData(35, \"https://server.ai-biolab.ru/api/csvSocTub/karcherk\", \"karcherk\",\"Karachay-Cherkess Republic\", \"Karachay-Cherkess Republic of karachay-cherkess republic\",\"Southern Federal District\",\"Cherkessk\", \"468 322 people\", \"14 100 km²\", \"32,8 people/km²\"),\n  getRegionData(36, \"https://server.ai-biolab.ru/api/csvSocTub/sevosetiaalania\", \"sevosetiaalania\", \"Republic of North Ossetia-Alania\", \"Republic of North Ossetia-Alania republic of north ossetia-alania\",\"North Caucasus Federal District\",\"Vladikavkaz\", \"678 879 people\", \"8 000 km²\", \"85,00 people/km²\"),\n  getRegionData(37, \"https://server.ai-biolab.ru/api/csvSocTub/chechnya\", \"chechnya\",\"Chechen Republic\", \"Chechen Republic cechen republic\",\"North Caucasus Federal District\",\"Grozny\", \"1 552 866 people\", \"16 171 km²\", \"96,03 people/km²\"),\n  getRegionData(38, \"https://server.ai-biolab.ru/api/csvSocTub/stavrapol\", \"stavrapol\", \"Stavropol Territory\", \"Stavropol Territory stavropol territory\",\"North Caucasian Federal District\",\"Stavropol\", \"2 886 108 people\", \"66 160 km²\", \"43,62 people/km²\"),\n  getRegionData(39, \"https://server.ai-biolab.ru/api/csvSocTub/bashkortostan\", \"bashkortostan\", \"Republic of Bashkortostan\", \"Republic of Bashkortostan republic of bashkortostan\",\"Volga Federal District\",\"Ufa\", \"4 064 361 people\", \"142 947 km²\", \"28,4 people/km²\"),\n  getRegionData(40, \"https://server.ai-biolab.ru/api/csvSocTub/maryal\", \"maryal\", \"Republic of Mari El\", \"Republic of Mari El republic of mari el\",\"Volga Federal District\",\"Yoshkar-Ola\", \"696 459 people\", \"23 375 km²\", \"29,5 people/km²\"),\n  getRegionData(41, \"https://server.ai-biolab.ru/api/csvSocTub/mordovia\", \"mordovia\",\"Republic of Mordovia\",\"Republic of Mordovia republic of mordovia\", \"Volga Federal District\", \"Saransk\", \"765 891  people\", \"26 128 km²\", \"29,31 people/km²\"),\n  getRegionData(42, \"https://server.ai-biolab.ru/api/csvSocTub/tatarstan\", \"tatarstan\", \"Republic of Tatarstan\",\"Republic of Tatarstan republic of tatarstan\", \"Volga Federal District\", \"Kazan\", \"4 003 016 people\", \"67 847 km²\", \"56,57 people/km²\"),\n  getRegionData(43, \"https://server.ai-biolab.ru/api/csvSocTub/udmurtia\", \"udmurtia\", \"Udmurt Republic\", \"Udmurt Republic udmurt republic\",\"Volga Federal District\",\"Izhevsk\", \"1 434 557  people\", \"42 061 km²\", \"34,11 people/km²\"),\n  getRegionData(44, \"https://server.ai-biolab.ru/api/csvSocTub/chuvashia\", \"chuvashia\", \"Chuvash Republic\", \"Chuvash Republic chuvash republic\",\"Volga Federal District\",\"Cheboksary\", \"1 167 061 people\", \"18 343 km²\", \"63,62 people/km²\"),\n  getRegionData(45, \"https://server.ai-biolab.ru/api/csvSocTub/perm\", \"perm\", \"Perm Krai\", \"Perm Krai perm krai\",\"Volga Federal District\",\"Perm\", \"2 495 266 people\", \"160 236 km²\", \"15,57 people/km²\"),\n  getRegionData(46, \"https://server.ai-biolab.ru/api/csvSocTub/kirov\", \"kirov\", \"Kirov region\", \"Kirov region kirov region\",\"North Caucasus Federal District\",\"Kirov\", \"1 129 935 people\", \"120 400 km²\", \"9,39 people/km²\"),\n  getRegionData(47, \"https://server.ai-biolab.ru/api/csvSocTub/nizhniynovgorod\", \"nizhniynovgorod\", \"Nizhny Novgorod region\", \"Nizhny Novgorod region nizhny novgorod region\",\"North Caucasus Federal District\",\"Nizhny Novgorod\", \"3 060 335 people\", \"76 624 km²\", \"39,94 people/km²\"),\n  getRegionData(48, \"https://server.ai-biolab.ru/api/csvSocTub/orenburg\", \"orenburg\", \"Orenburg region\", \"Orenburg region oenburg region\",\"North Caucasus Federal District\",\"Orenburg\", \"1 828 656 people\", \"123 702 km²\", \"14,78 people/km²\"),\n  getRegionData(49, \"https://server.ai-biolab.ru/api/csvSocTub/penza\", \"penza\", \"Penza region\", \"Penza region penza region\",\"Volga Federal District\",\"Penza\", \"1 236 113 people\", \"43 352 km²\", \"28,51 people/km²\"),\n  getRegionData(50, \"https://server.ai-biolab.ru/api/csvSocTub/samara\", \"samara\", \"Samara region\", \"Samara region samara region\",\"Volga Federal District\",\"Samara\", \"3 127 842 people\", \"53 565 km²\", \"58,39 people/km²\"),\n  getRegionData(51, \"https://server.ai-biolab.ru/api/csvSocTub/saratov\", \"saratov\", \"Saratov region\", \"Saratov region saratov region\",\"Volga Federal District\",\"Saratov\", \"2 385 163  people\", \"101 240 km²\", \"23,56 people/km²\"),\n  getRegionData(52, \"https://server.ai-biolab.ru/api/csvSocTub/ulyanovsk\", \"ulyanovsk\", \"Ulyanovsk region\", \"Ulyanovsk region ulyanovsk region\",\"Volga Federal District\",\"Ulyanovsk\", \"1 172 782 people\", \"37 181 km²\", \"31,54 people/km²\"),\n  getRegionData(53, \"https://server.ai-biolab.ru/api/csvSocTub/kurgan\", \"kurgan\", \"Kurgan region\", \"Kurgan region kurgan region\",\"Ural Federal District\",\"Kurgan\", \"753 002  people\", \"71 488 km²\", \"10,53 people/km²\"),\n  getRegionData(54, \"https://server.ai-biolab.ru/api/csvSocTub/sverdlov\", \"sverdlov\", \"Sverdlovsk region\", \"Sverdlovsk region sverdlovsk region\",\"Ural Federal District\",\"Yekaterinburg\", \"4 222 695 people\", \"194 226 km²\", \"21,73 people/km²\"),\n  getRegionData(55, \"https://server.ai-biolab.ru/api/csvSocTub/tumen\", \"tumen\", \"Tyumen region\", \"Tyumen region tyumen region\",\"Ural Federal District\",\"Tyumen\", \"3 890 800 people\", \"160 122 km²\", \"2,66 people/km²\"),\n  getRegionData(56, \"https://server.ai-biolab.ru/api/csvSocTub/chelyabinsk\", \"chelyabinsk\", \"Chelyabinsk region\", \"Chelyabinsk region chelyabinsk region\",\"Ural Federal District\",\"Chelyabinsk\", \"3 395 798 people\", \"88 529 km²\", \"38,36 people/km²\"),\n  getRegionData(57, \"https://server.ai-biolab.ru/api/csvSocTub/respaltay\", \"respaltay\", \"Altai Republic\", \"Altai Republic, altai republic\",\"Siberian Federal District\",\"Gorno-Altaysk\", \"210 765 people\", \"92 903 km²\", \"2,27 people/km²\"),\n  getRegionData(58, \"https://server.ai-biolab.ru/api/csvSocTub/resptyva\", \"resptyva\", \"Republic of Tyva\", \"Republic of Tyva republic of tyva\",\"Siberian Federal District\",\"Kyzyl\", \"337 544 people\", \"168 604 km²\", \"2,0 people/km²\"),\n  getRegionData(59, \"https://server.ai-biolab.ru/api/csvSocTub/resphakasia\", \"resphakasia\", \"Republic of Khakassia\", \"Republic of Khakassia republic of khakassia\",\"Siberian Federal District\",\"Abakan\", \"528 175 people\", \"61 569 km²\", \"8,58 people/km²\"),\n  getRegionData(60, \"https://server.ai-biolab.ru/api/csvSocTub/altay\", \"altay\", \"Altai Territory\" , \"Altai Territory altai territory\",\"Siberian Federal District\",\"Barnaul\", \"2 268 179 people\", \"167 996 km²\", \"13,5 people/km²\"),\n  getRegionData(61, \"https://server.ai-biolab.ru/api/csvSocTub/krasnoyarsk\", \"krasnoyarsk\", \"Krasnoyarsk Territory\", \"Krasnoyarsk Territory krasnoyarsk territory\",\"Siberian Federal District\",\"Krasnoyarsk\", \"2 846 120 people\", \"2 366 797  km²\", \"1,2 people/km²\"),\n  getRegionData(62, \"https://server.ai-biolab.ru/api/csvSocTub/irkutsk\", \"irkutsk\", \"Irkutsk region\", \"Irkutsk region irkutsk region\",\"Siberian Federal District\",\"Irkutsk\", \"2 330 537 people\", \"774 846 km²\", \"3,01 people/km²\"),\n  getRegionData(63, \"https://server.ai-biolab.ru/api/csvSocTub/kemerovo\", \"kemerovo\", \"Kemerovo region\", \"Kemerovo region kemerovo region\",\"Siberian Federal District\",\"Kemerovo\", \"2 547 684 people\", \"95 725 km²\", \"26,61 people/km²\"),\n  getRegionData(64, \"https://server.ai-biolab.ru/api/csvSocTub/novosibirsk\", \"novosibirsk\", \"Novosibirsk region\", \"Novosibirsk region novosibirsk region\",\"Siberian Federal District\",\"Novosibirsk\", \"2 779 375 people\", \"177 756 km²\", \"15,64 people/km²\"),\n  getRegionData(65, \"https://server.ai-biolab.ru/api/csvSocTub/omsk\", \"omsk\", \"Omsk region\", \"Omsk region omsk region\",\"Siberian Federal District\",\"Omsk\", \"1 879 548 people\", \"141 140 km²\", \"13,32 people/km²\"),\n  getRegionData(66, \"https://server.ai-biolab.ru/api/csvSocTub/tomsk\", \"tomsk\", \"Tomsk region\", \"Tomsk region tomsk region\",\"Siberian Federal District\",\"Tomsk\", \"1 043 385 people\", \"314 391 km²\", \"3,32 people/km²\"),\n  getRegionData(67, \"https://server.ai-biolab.ru/api/csvSocTub/buryatia\", \"buryatia\", \"Republic of Buryatia\", \"Republic of Buryatia republic of buryatia\",\"Far Eastern Federal District\",\"Ulan-Ude\", \"971 922 people\", \"351 334 km²\", \"2,73 people/km²\"),\n  getRegionData(68, \"https://server.ai-biolab.ru/api/csvSocTub/saha\", \"saha\", \"Republic of Sakha\", \"Republic of Sakha republic of sakha\",\"Far Eastern Federal District\",\"Yakutsk\", \"1 001 664 people\", \"3 083 523 km²\", \"0,32 people/km²\"),\n  getRegionData(69, \"https://server.ai-biolab.ru/api/csvSocTub/zabaikalsky\", \"zabaikalsky\", \"Zabaikalsky Krai\", \"Zabaikalsky Krai zabaikalsky krai\",\"Far Eastern Federal District\",\"Chita\", \"984 395 people\", \"168 604 km²\", \"2,28 people/km²\"),\n  getRegionData(70, \"https://server.ai-biolab.ru/api/csvSocTub/kamchatsky\", \"kamchatsky\", \"Kamchatka Territory\", \"Kamchatka Territory kamchatka territory\",\"Far Eastern Federal District\",\"Petropavlovsk-Kamchatsky\", \"288 947 people\", \"464 300 km²\", \"0,62 people/km²\"),\n  getRegionData(71, \"https://server.ai-biolab.ru/api/csvSocTub/primorsk\", \"primorsk\", \"Primorsky Krai\" , \"Primorsky Krai primorsky krai\",\"Far Eastern Federal District\",\"Vladivostok\", \"1 806 393 people\", \"164 673 km²\", \"10,97 people/km²\"),\n  getRegionData(72, \"https://server.ai-biolab.ru/api/csvSocTub/habarovsk\", \"habarovsk\", \"Khabarovsk Territory\", \"Khabarovsk Territory khabarovsk territory\",\"Far Eastern Federal District\",\"Khabarovsk\", \"1 278 132 people\", \"787 633  km²\", \"1,62 people/km²\"),\n  getRegionData(73, \"https://server.ai-biolab.ru/api/csvSocTub/amursk\", \"amursk\", \"Amur region\", \"Amur region amur region\",\"Far Eastern Federal District\",\"Blagoveshchensk\", \"750 083 people\", \"361 908 km²\", \"2,20 people/km²\"),\n  getRegionData(74, \"https://server.ai-biolab.ru/api/csvSocTub/magadan\", \"magadan\", \"Magadan region\", \"Magadan region magadan region\",\"Far Eastern Federal District\",\"Magadan\", \"133 387 people\", \"462 464 km²\", \"0,29 people/km²\"),\n  getRegionData(75, \"https://server.ai-biolab.ru/api/csvSocTub/sahalin\", \"sahalin\", \"Sakhalin Region\", \"Sakhalin region sakhalin region\",\"Far Eastern Federal District\",\"Yuzhno-Sakhalinsk\", \"457 590 people\", \"87 101 km²\", \"5,25 people/km²\"),\n  getRegionData(76, \"https://server.ai-biolab.ru/api/csvSocTub/evreiskaya\", \"evreiskaya\", \"Jewish Autonomous Region\", \"Jewish Autonomous Region jewish autonomous Region\",\"Far Eastern Federal District\",\"Birobidzhan\", \"145 802 people\", \"36 300 km²\", \"4,02 people/km²\"),\n  getRegionData(77, \"https://server.ai-biolab.ru/api/csvSocTub/chukotsk\", \"chukotsk\", \"Chukotka Autonomous Okrug\", \"Chukotka Autonomous Okrug cukotka autonomous okrug\",\"Far Eastern Federal District\",\"Anadyr\", \"48 029 people\", \"721 481 km²\", \"0,07 people/km²\"),\n\n//getRegionData(11, \"http://localhost:4000/api/csvSocTub/lipeck\", \"lipeck\", \"Липецкая область\", \"Липецкая область липецкая область\",\"Центральный федеральный округ\",\"Липецк\", \"1 116 265 ч.\", \"24 047 км²\", \"46,42 чел./км²\"),\n];\n\nconst variants = {\n  visible: (custom) => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2,\n    },\n  }),\n  hidden: {\n    opacity: 0,\n    y: 30,\n  },\n};\n\n\n\nexport function Tub_En() {\n  const [searchParams, setSearchParams] = useSearchParams();\n  const postQuery = searchParams.get('post') || '';\n  const [noResults, setNoResults] = useState(false);\n  const [showAllRegions, setShowAllRegions] = useState(false);\n\n  const handleSubmit = (e) => {\n    e.preventDefault();\n    const query = e.target.search.value;\n    setSearchParams({ post: query });\n  };\n\n  const filteredRegions = regions.filter(region => region.title2.includes(postQuery));\n  const filteredRegionsSoc = regionsSoc.filter(region => region.title2.includes(postQuery));\n\n  React.useEffect(() => {\n    setNoResults(filteredRegions.length === 0 && filteredRegionsSoc.length === 0);\n  }, [filteredRegions, filteredRegionsSoc]);\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container className=\"my-3\" style={{ height: \"120%\", width: \"100%\" }}>\n        <Container>\n          <motion.h3\n            initial=\"hidden\"\n            custom={1}\n            variants={variants}\n            whileInView=\"visible\"\n            viewport={{ amount: 0.1, once: true }}\n            className=\"my-3 text-secondary\"\n          >\n            <div>\n              <h4 className=\"mx-5 text-secondary\">Tuberculosis</h4>\n            </div>\n            <hr />\n            <form className=\"form\" autoComplete=\"off\" onSubmit={handleSubmit}>\n              <input type=\"search\" name=\"search\" />\n              <input type=\"submit\" value=\"Search\" />\n            </form>\n          </motion.h3>\n        </Container>\n        <Button className=\"my-2 all-region\" onClick={() => setShowAllRegions(!showAllRegions)}>\n        {showAllRegions ? \"Hide Regions\" : \"Show all regions\"}\n      </Button>\n        {noResults && (\n          <div className=\"text-center text-danger my-3\">\n            The region was not found according to your request\n          </div>\n        )}\n              \n        <Tab.Container id=\"left-tabs-example\" defaultActiveKey={filteredRegions.length > 0 ? filteredRegions[0].eventKey : \"\"}>\n          <div className=\"horizontal-scroll\">\n            <Nav variant=\"pills\" defaultActiveKey=\"/home\" className=\"d-flex\">\n              {showAllRegions ?\n                filteredRegions.map((region, index) => (\n                  <Nav.Item key={region.id} className=\"region-button\">\n                    <OverlayTrigger\n                      placement=\"bottom\"\n                      overlay={\n                        <Popover>\n                          <Popover.Body>\n                            <div>{region.district}</div>\n                            <div>The administrative center is a city {region.center}</div>\n                            <div>Population: {region.population}</div>\n                            <div>Square: {region.area}</div>\n                            <div>Density: {region.density}</div>\n                          </Popover.Body>\n                        </Popover>\n                      }\n                    >\n                      <motion.div\n                        initial=\"hidden\"\n                        custom={index + 1}\n                        variants={variants}\n                        whileInView=\"visible\"\n                        viewport={{ amount: 0.1, once: true }}\n                      >\n                        <Button\n                          className=\"shadow3\"\n                          size=\"sm\"\n                          variant=\"outline-info\"\n                          style={{ color: \"#FFFFFF\" }}\n                        >\n                          <Nav.Link eventKey={region.eventKey}>\n                            {region.title}\n                          </Nav.Link>\n                        </Button>\n                      </motion.div>\n                    </OverlayTrigger>\n                  </Nav.Item>\n                )) :\n                <Nav.Item key={filteredRegions[0].id} className=\"region-button\">\n                  {/* Отображаем только первый регион */}\n                </Nav.Item>\n              }\n            </Nav>\n          </div>\n          <Tab.Content>\n            {filteredRegions.map(region => (\n              <StaticTubData_En key={region.id} region={region} />\n            ))}\n            {filteredRegionsSoc.map(region => (\n              <StaticTubDataSoc_En key={region.id} region={region} />\n            ))}\n          </Tab.Content>\n        </Tab.Container>\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React from \"react\";\nimport {Navbar, Nav, Button, Container, NavDropdown, OverlayTrigger, Tooltip, Modal, Image, Stack} from 'react-bootstrap';\nimport {NavLink} from \"react-router-dom\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \".././styles.css\";\nimport ip_head from \"../images/ip_head.png\"\nimport logo_nav from \"../images/logo_nav.png\"\n\nconst setActive=({isActive}) => isActive ? 'active-link' : 'non-active';\nexport default function NaviBar_En() {\n\n  return (\n\n    <>\n      <Navbar collapseOnSelect expand=\"lg\" bg=\"\" variant=\"\" >\n        <Container className=\"py-1\">\n        <Navbar.Brand className=\"text-white \">\n        <Stack direction=\"horizontal\" gap={3}>\n        <Image variant=\"bottom\" className = \"\"\n        src={logo_nav}\n\n        fluid\n        style={{ width: '9rem' }, {height: '9rem'}}\n        />{' '}\n      <h3></h3></Stack></Navbar.Brand>\n        <Navbar.Toggle aria-controls=\"responsive-navbar-nav\" />\n        <Navbar.Collapse id=\"responsive-navbar-nav\">\n          <Nav className=\"me-auto\" className=\"justify-content-end flex-grow-1 pe-2\" >\n          <Nav.Link><NavLink to=\"/news/En\" className={setActive} ><h5>News</h5></NavLink></Nav.Link>\n            <h5><NavDropdown title={<span className=\"fdrop\">Scientific directions</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/data_processing_and_analysis/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Data processing and analysis</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/the_spread_of_epidemics/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling and scenarios of epidemic spread</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/social_processes/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling of social processes</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/pollution_modeling/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling of pollution in the regions of the Russian Federation</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/medicine/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Modeling in medicine</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n                      <h5><NavDropdown title={<span className=\"fdrop\">Data</span>} id=\"collasible-nav-dropdown\">\n            <NavDropdown.Item> <NavLink to=\"/data/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Download data</NavLink></NavDropdown.Item>\n            <NavDropdown.Item> <NavLink to=\"/links/En\" className={({isActive}) => isActive ? 'active-dropdown' : 'non-active-dropdown'} >Useful links</NavLink></NavDropdown.Item>\n          </NavDropdown></h5>\n            <h5><NavDropdown title={<span className=\"fdrop\">Statistics</span>} id=\"collasible-nav-dropdown\">\n              <NavDropdown.Item> <NavLink to=\"/statistics/En\" className={({isActive}) => isActive ? 'active-link' : 'text-secondary'}>Coronavirus</NavLink></NavDropdown.Item>\n              <NavDropdown.Item> <NavLink to=\"/tub/En\" className={({isActive}) => isActive ? 'active-link' : 'text-secondary'}>Tuberculosis</NavLink></NavDropdown.Item>\n            </NavDropdown></h5>\n            <div class=\"header__lang\">\n                    <a href=\"/\" class=\"header__lang-link \">RU</a>\n                    <span>|</span>\n                    <a href=\"/EN/\" class=\"header__lang-link active\">EN</a>\n                </div>\n          </Nav>\n        </Navbar.Collapse>\n        </Container>\n      </Navbar>\n    </>\n  )\n}\n\n","import React from \"react\";\nimport {Container, Card, Image, Col, Row, Button} from 'react-bootstrap';\nimport NaviBar_En from './NaviBar_En';\nimport { motion } from \"framer-motion\"\nimport back_1 from \"../images/back_1.jpg\"\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nconst Main_picture_En = () => {\n    return (\n<Card\n  border=\"light\"\n  style={{\n    backgroundImage: `url(${back_1})`, \n    backgroundSize: 'cover', \n    height: '500px',\n    backgroundPosition: 'center', \n  }}\n>\n      <NaviBar_En />\n      <div align=\"left\" className=\"my-auto mx-auto\">\n        <b>\n        <motion.div initial=\"hidden\"\n          animate=\"visible\" custom={1}\n          variants={variants}>\n          <h2 className=\"text-white mp_info\"><b>AI technologies for mathematical modeling of biological,</b></h2>\n          <h2 className=\"text-white mp_info\"><b>socio-economic and ecological processes</b></h2>\n          </motion.div>\n          </b>\n          <Button href=\"/modeling/En\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n          <div style={{ fontSize: 16 }}><b>Modeling</b></div>\n        </Button>\n        \n      </div>\n      <Container>\n      <motion.div animate={{ opacity: 1 }} initial={{ opacity: 0 }} transition={{ duration: 3 }} className=\"support text-white\" align=\"center\"><i><b><h6>The project is supported by the Ministry of Science and Higher Education of the Russian Federation (project FWNF-2024-0002) and the Russian Science Foundation (project № 23-71-10068)</h6></b></i></motion.div>\n      </Container>\n    </Card>\n    )\n}\n\nexport default Main_picture_En;\n","import React from \"react\";\nimport {Container, Card, Image, Col, Row} from 'react-bootstrap';\nimport { YMaps, Map, Placemark, ZoomControl} from 'react-yandex-maps';\nimport { BsFillTelephoneFill, BsFillEnvelopeFill, BsFillGeoAltFill} from \"react-icons/bs\";\n\nconst Main_contacts_En = () => {\n    return (\n      <Card border=\"light\" className=\"text-center bg-secondary text-white my-3 shadow1\">\n      <Card.Body>\n        <Row className=\"justify-content-md-center\" style={{\n                width: \"100%\" }}>\n          <Col xs= {6} md={4}>\n          <Container  className=\"\">\n          < BsFillGeoAltFill size={25} className=\"my-1\"/>\n            <h5 className=\"text-center\"> Address</h5>\n          </Container>\n            <p className=\"text-center\"> Akademika Koptyuga Avenue, 4,\n             IM SB RAS,Novosibirsk </p>\n          </Col>\n          <Col xs= {6} md={4}>\n          <Container  className=\"\">\n          <BsFillTelephoneFill size={25} className=\"my-1\"/>\n            <h5 className=\"text-center\"> Phone number</h5>\n            </Container>\n            <p className=\"text-center\"> +7 (383) 329-76-10 </p>\n          </Col>\n          <Col xs= {6} md={4}>\n          <Container  className=\"\">\n          <BsFillEnvelopeFill size={25} className=\"my-1\"/>\n            <h5 className=\"text-center\"> Email</h5>\n            </Container>\n            <p className=\"text-center\"> info@ai-biolab.ru </p>\n          </Col>\n        </Row>\n      </Card.Body>\n\n      <YMaps >\n        <div >\n          <Map defaultState={{ center: [54.8463754, 83.1039456], zoom: 15, controls: []}} width='100%'>\n          <ZoomControl options={{ float: 'right' }} />\n          <Placemark geometry={[54.8463754, 83.1039456]} />\n          </Map>\n\n        </div>\n      </YMaps>\n      </Card>\n\n    )\n}\n\nexport default Main_contacts_En;\n","import React from \"react\";\nimport { Container, Card, ListGroup } from 'react-bootstrap';\n\nconst Main_publications_En = () => {\n    const publications = [\n        {\n            year: 2024,\n            items: [\n                {\n                    title: \"S. Kabanikhin, O. Krivorotko, A. Neverov, G. Kaminskiy, O. Semenova. Identification of the mathematical model of Tuberculosis and HIV co-infection dynamics.\",\n                    journal: \"Mathematics. 2024.\",\n                    volume: \"V. 12. Article 3636.\",\n                    doi: \"10.3390/math12233636\",\n                    link: \"https://ai-biolab.ru/data/mathematics-12-03636.pdf\"\n                },\n                {\n                    title: \"V. Petrakova. Inverse coefficient problem for epidemiological mean field formulation.\",\n                    journal: \"Mathematics 2024,\",\n                    volume: \"12(22), 3581;\",\n                    doi: \"10.3390/math12223581\",\n                    link: \"https://ai-biolab.ru/data/mathematics-12-03581-v2.pdf\"\n                },\n                {\n                    title: \"O. Krivorotko, N. Zyatkov. The Forecasting of the Spread of Infectious Diseases Based on Conditional Generative Adversarial Networks.\",\n                    journal: \"Mathematics 2024,\",\n                    volume: \"12, 3044.\",\n                    link: \"https://ai-biolab.ru/data/mathematics-12-03044.pdf\"\n                },\n                {\n                    title: \"O. Krivorotko, S. Kabanikhin. Artificial intelligence for COVID-19 spread modeling.\",\n                    journal: \"Journal of Inverse and Ill-Posed Problems.\",\n                    volume: \"Vol. 32, No.2.\",\n                    doi: \"10.1515/jiip-2024-0013\",\n                    link: \"https://ai-biolab.ru/data/COVID_review_10.1515_jiip-2024-0013.pdf\"\n                },\n                {\n                    title: \"G. Akindinov, O. Krivorotko, V. Matyukhin. Numerical solution of an inverse problem for a general hyperbolic heat equation.\",\n                    journal: \"In: Olenev, N., Evtushenko, Y., Jacimovic, M., Khachay, M., Malkova, V. (eds) Advances in Optimization and Applications.\",\n                    volume: \"OPTIMA 2023. Communications in Computer and Information Science, vol 1913.\",\n                    publisher: \"Springer, Cham.\",\n                    year: 2024,\n                    pages: \"P. 47-60.\"\n                }\n            ]\n        },\n        \n    ];\n\n    return (\n        <Container style={{ padding: 0, margin: 0 }}>\n            {publications.map((pubYear) => (\n                <div key={pubYear.year} className=\"my-4\">\n                    <h3>{pubYear.year}</h3>\n                    <ListGroup as=\"ol\" variant=\"flush\" className=\"p-0 m-0\">\n                        {pubYear.items.map((item, index) => (\n                            <ListGroup.Item as=\"li\" key={index} className=\"p-0 m-0\">\n                                <a href={item.link} style={{ textDecoration: 'none' }}>\n                                    <Card className=\"pubcardcol\" style={{ margin: 0, padding: 0 }}>\n                                        <Card.Body>\n                                            <Card.Title>\n                                                <h5 align='left'>{item.title}</h5>\n                                            </Card.Title>\n                                            <Card.Text align='left'>\n                                                {item.journal && <span>{item.journal} </span>}\n                                                {item.volume && <span>{item.volume} </span>}\n                                                {item.pages && <span>{item.pages} </span>}\n                                                {item.details && <span>{item.details} </span>}\n                                                {item.conference && <span>{item.conference} </span>}\n                                                {item.doi && <span>DOI: {item.doi}</span>}\n                                            </Card.Text>\n                                        </Card.Body>\n                                    </Card>\n                                </a>\n                            </ListGroup.Item>\n                        ))}\n                    </ListGroup>\n                </div>\n            ))}\n        </Container>\n    );\n};\n\nexport default Main_publications_En;\n\n","import React from \"react\";\nimport Footer_En from './Footer_En'\nimport NaviBarv2_En from './NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\nimport PublicationsData from './PublicationsData'\nimport { FaFilePdf } from \"react-icons/fa6\"\n\n\nexport function Main_publications_more_detailed_En () {\n    const postsA1 = [\n\n    ]\n    const postsA2 = [\n\n    ]\n    const postsQ1 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2022 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a href=\"https://arxiv.org/pdf/2112.12313.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Mean field game for modeling of COVID-19 spread. Journal of Mathematical Analysis and Application, 2022, V. 514, 126271. DOI: 10.1016/j.jmaa.2022.126271 </h5></a>,eventKey: \"Q1\",eventKey: \"all\"},\n      {id: 3, name: <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798?ref=pdf_download&fr=RR-2&rr=88d87946aecb0c42\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Sosnovskaia M., Vashchenko I., Kerr C., Lesnic D. Agent-based modeling of COVID-19 outbreaks for New York state and UK: parameter identification algorithm. Infectious Disease Modelling, 2022, V. 7, pp. 30-44. </h5></a>,eventKey: \"Q1\",eventKey: \"all\"}\n    ]\n    const postsQ2 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a href=\"https://ai-biolab.ru/data/S199508022307034X.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Sensitivity of MFG SEIR-HCD Epidemiological Model. Lobachevskii Journal of Mathematics. 2023. Vol. 44, No. 7, pp. 2856–2869. DOI: 10.1134/S199508022307034X </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 3, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S. On mathematical modeling of COVID-19. Siberian Electronic Mathematical News. 2023. V. 20, № 2. P. 1211-1268. DOI: 10.33048/semi.2023.20.075 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 4, name: <a href=\"https://ai-biolab.ru/data/JIIP_ident_AMB_COVID_Nsk.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O. , Sosnovskaia M., Kabanikhin S. Agent-based mathematical model of COVID-19 spread in Novosibirsk region: Identifiability, optimization and forecasting. Journal of Inverse and Ill-posed Problems. 2023. DOI: 10.1515/jiip-2021-0038 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 5, name: <a href=\"https://ai-biolab.ru/data/DAIO_2023_COVID_Kazakhstan.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Bektemesov M., Sosnovskaya M., Neverov A. Modeling scenarios for the spread of COVID-19 in the Republic of Kazakhstan based on the regularization of the agent model. Discrete analysis and operations research, 2023, V. 30, №1, 40-67. DOI: 10.33048/daio.2023.30.746 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2021 </h5></a>,eventKey: \"all\"},\n      {id: 7, name: <a href=\"https://ai-biolab.ru/data/JIIP2020_Geo-information_system.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O., Takuadina A., Andornaya D., Zhang S. Geo-information system of tuberculosis spread based on inversion and prediction. Journal of Inverse and Ill-Posed Problems, 2021, V. 29 (1), pp. 65-79 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 8, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2020 </h5></a>,eventKey: \"all\"},\n      {id: 9, name: <a href=\"https://arxiv.org/pdf/1904.10627v1.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> Kabanikhin S., Krivorotko O., Bektemessov Z., Bektemessov M., Zhang S. Differential evolution algorithm of solving an inverse problem for the spatial Solow mathematical model. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (5), pp. 761-774</h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 10, name: <a href=\"https://ai-biolab.ru/data/JIIP_Global_and_local_optimization_in_identification_of_parabolic.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zhang S., Kashtanova V. Global and local optimization in identification of parabolic systems. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (6), pp. 899-913 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n      {id: 11, name: <a href=\"https://ai-biolab.ru/data/Krivorot-ko_et_al-2020-Numerical_Analysis_and_Applications.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zyatkov N., Prikhodko A., Prokhoshin N., Shishlenin M.A. Mathematical modeling and forecasting of COVID-19 in Moscow and Novosibirsk region. Siberian Journal of Computational Mathematics, 2020, V. 23, № 4, P. 395-414 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"}\n    ]\n    const postsQ3 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> Krivorotko O., Kabanikhin S., Zyatkov N.  Neural network modeling of COVID-19 spread taking into account socio-economic processes // World Congress (June 26-30, 2023, Moscow). Systems theory, algebraic biology, artificial intelligence: mathematical foundations and applications: Abstracts. М., 2023. С. 787-789. DOI 10.18699/sblai2023-22</h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 3, name: <a href=\"https://ai-biolab.ru/data/_Numerical Modelling of Mean-Field .pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Neverov A., Krivorotko O. Numerical Modelling of Mean-Field Game Epidemic. Lecture Notes in Computer Science. 2023. V.14395 - Optimization and Applications: 14th International Conference, OPTIMA 2023, Petrovac, Montenegro, September 18–22, 2023. P.207-217. DOI: 10.1007/978-3-031-47859-8_15</h5></a>,eventKey: \"Q3\",eventKey: \"all\" },\n      {id: 4, name: <a href=\"https://ai-biolab.ru/data/COVID-19_NN_eng.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Zyatkov N., Kabanikhin S. Epidemic modeling: a neural network based on data and SIR models. Journal of Computational Mathematics and Mathematical Physics. 2023. V. 63, № 10. P. 1733-1746. DOI: 10.31857/S0044466923100095 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 5, name: <a href=\"https://ai-biolab.ru/data/CMMP1654.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Zvonareva T., Kabanikhin S., Krivorotko O. Numerical algorithm for determining the source of a diffusion-logistic model based on integral type data based on tensor optimization. Journal of Computational Mathematics and Mathematical Physics. 2023. V. 63, № 9. P. 1513-1523. DOI: 10.31857/S0044466923090193 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Several approaches to modeling the dynamics of income of the population in the context of the epidemic. The successes of cybernetics. 2023;4(1):24–32. DOI: 10.51790/2712-9942-2023-4-1-04 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 7, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2022 </h5></a>,eventKey: \"all\"},\n      {id: 8, name: <a href=\"https://drive.google.com/file/d/11uUdZ7lUkaPN6Ghs_PQyP-ZxPMVeuuK-/view\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Zyatkov N. Data-driven regularization of inverse problem for SEIR-HCD model of COVID-19 propagation in Novosibirsk region. Eurasian Journal of Mathematical and Computer Applications, 2022, V. 10, iss. 1, pp. 51-68. DOI: 10.32523/2306-6172-2022-10-1-51-68 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 9, name: <a href=\"https://ai-biolab.ru/data/ComMat2204014Zvonareva.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Zvonareva T., Krivorotko O. Comparative analysis of gradient methods for determining the source of the diffusion-logistic model. Journal of Computational Mathematics and Mathematical Physics, 2022, V. 62, № 4, P. 694-704 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 10, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2020 </h5></a>,eventKey: \"all\"},\n      {id: 11, name: <a href=\"https://ai-biolab.ru/data/Kabanikhin_Krivorotko2020_Article_MathematicalModelingOfTheWuhan.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O. Mathematical modeling of the Wuhan COVID-2019 epidemic and inverse problems. Journal of Computational Mathematics and Mathematical Physics, 2020, V. 60, № 11, P. 1950-1961 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n      {id: 12, name: <a href=\"https://ai-biolab.ru/data/S0965542520040107.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O. Optimization methods for solving inverse problems of immunology and epidemiology. Journal of Computational Mathematics and Mathematical Physics, 2020, V. 60, № 4, P. 590-600 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"}\n    ]\n    const postsQ4 = [\n      {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2024 </h5></a>,eventKey: \"all\"},\n      {id: 2, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>  Akindinov G., Krivorotko O., Matyukhin V. Numerical solution of an inverse problem for a general hyperbolic heat equation // In: Olenev, N., Evtushenko, Y., Jacimovic, M., Khachay, M., Malkova, V. (eds) Advances in Optimization and Applications. OPTIMA 2023. Communications in Computer and Information Science, vol 1913. Springer, Cham. 2024. P. 47-60. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 3, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n      {id: 4, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Petrakova V. Identifiability of mathematical models of epidemiology: tuberculosis, HIV, COVID-19. Mathematical biology and bioinformatics. 2023. V. 18, № 1. P. 177-214. DOI: 10.17537/2022.18.177 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 5, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Akindinov G., Matyukhin V.,  Krivorotko O. Numerical solving of an inverse problem of a hyperbolic heat equation with small parameter. Computer Research and Modeling, 2023, vol. 15, no. 2, pp. 245–258 (Russian). </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2021 </h5></a>,eventKey: \"all\"},\n      {id: 7, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012014/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Bektemesov M., Krivorotko O., Bektemessov Z. Practical identifiability of mathematical models of biomedical processes. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012014 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 8, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012012/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Andornaya D. Sensitivity analysis and practical identifiability of the mathematical model for partial differential equations. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012012. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n      {id: 9, name: <a href=\"https://ai-biolab.ru/data/VJ_Krivorotko Engl.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Sosnovskaya M., Andornaya D. Sensitivity and identifiability analysis of mathematical models of the spread of the COVID-19 epidemic. Vavilov Journal of Genetics and Breeding, 2021, V. 25(1), P. 82-91 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n\n    ]  \nconst postsall = [\n  {id: 1, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2024 </h5></a>,eventKey: \"all\"},\n  {id: 2, name: <a href=\"https://ai-biolab.ru/data/mathematics-12-03044.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, N. Zyatkov. The Forecasting of the Spread of Infectious Diseases Based on Conditional Generative Adversarial Networks. Mathematics 2024, 12, 3044.</h5></a>,eventKey: \"all\"},\n  {id: 3, name: <a href=\"https://ai-biolab.ru/data/COVID_review_10.1515_jiip-2024-0013.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, S. Kabanikhin. Artificial intelligence for COVID-19 spread modeling. Journal of Inverse and Ill-Posed Problems. Vol. 32, No.2. DOI: 10.1515/jiip-2024-0013.</h5></a>,eventKey: \"all\"},\n  {id: 4, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> G. Akindinov, O. Krivorotko, V. Matyukhin. Numerical solution of an inverse problem for a general hyperbolic heat equation // In: Olenev, N., Evtushenko, Y., Jacimovic, M., Khachay, M., Malkova, V. (eds) Advances in Optimization and Applications. OPTIMA 2023. Communications in Computer and Information Science, vol 1913. Springer, Cham. 2024. P. 47-60. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 5, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2023 </h5></a>,eventKey: \"all\"},\n  {id: 6, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zyatkov N.  Neural network modeling of COVID-19 spread taking into account socio-economic processes // World Congress (June 26-30, 2023, Moscow). Systems theory, algebraic biology, artificial intelligence: mathematical foundations and applications: Abstracts. М., 2023. С. 787-789. DOI 10.18699/sblai2023-22</h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 7, name: <a href=\"https://ai-biolab.ru/data/Proc_Petrakova_Krivorotko_CSGB-23.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko, A. Neverov. Review of the mean field models for predicting the spread of viral infections. 2023 IEEE CSGB.2023. P. 45-50. DOI: 10.1109/CSGB60362.2023</h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 8, name: <a href=\"https://ai-biolab.ru/data/_Numerical Modelling of Mean-Field .pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Neverov A., Krivorotko O. Numerical Modelling of Mean-Field Game Epidemic. Lecture Notes in Computer Science. 2023. V.14395 - Optimization and Applications: 14th International Conference, OPTIMA 2023, Petrovac, Montenegro, September 18–22, 2023. P.207-217. DOI: 10.1007/978-3-031-47859-8_15</h5></a>,eventKey: \"Q3\",eventKey: \"all\" },\n  {id: 9, name: <a href=\"https://ai-biolab.ru/data/PCI_2023_paper_146.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>T. Zvonareva, O. Krivorotko. Identifiability analysis for source problem of quasi-hyperbolic equation // IEEE Proceedings of 5th International Conference on Problems of Cybernetics and Informatics (PCI 2023), Baku, August 28-30, 2023. P. 1-4. DOI: 10.1109/PCI60110.2023.10325964 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 10, name: <a href=\"https://ai-biolab.ru/data/PCI_2023_paper_158.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>O. Krivorotko, N. Zyatkov. Modeling of the COVID-19 epidemic in the Russian regions based on deep learning // IEEE Proceedings of 5th International Conference on Problems of Cybernetics and Informatics (PCI 2023), Baku, August 28-30, 2023. P. 1-5. DOI: 10.1109/PCI60110.2023.10325993 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 11, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko. Mean Field Optimal Control Problem for Predicting the Spread of Viral Infections. 2023 19th International Asian School-Seminar on Optimization Problems of Complex Systems (OPCS), Novosibirsk, Moscow, Russian Federation. 2023. P. 79-84. DOI: 10.1109/OPCS59592.2023.10275759 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 12, name: <a href=\"https://ai-biolab.ru/data/COVID-19_NN_eng.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Zyatkov N., Kabanikhin S. Epidemic modeling: a neural network based on data and SIR models. Journal of Computational Mathematics and Mathematical Physics. 2023. V. 63, № 10. P. 1733-1746. DOI: 10.31857/S0044466923100095 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 13, name: <a href=\"https://ai-biolab.ru/data/S199508022307034X.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>V. Petrakova, O. Krivorotko. Sensitivity of MFG SEIR-HCD Epidemiological Model. Lobachevskii Journal of Mathematics. 2023. Vol. 44, No. 7, pp. 2856–2869. DOI: 10.1134/S199508022307034X </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 14, name: <a href=\"https://ai-biolab.ru/data/CMMP1654.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Zvonareva T., Kabanikhin S., Krivorotko O. Numerical algorithm for determining the source of a diffusion-logistic model based on integral type data based on tensor optimization. Journal of Computational Mathematics and Mathematical Physics. 2023. V. 63, № 9. P. 1513-1523. DOI: 10.31857/S0044466923090193 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 15, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Petrakova V. Identifiability of mathematical models of epidemiology: tuberculosis, HIV, COVID-19. Mathematical biology and bioinformatics. 2023. V. 18, № 1. P. 177-214. DOI: 10.17537/2022.18.177 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 16, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Akindinov G., Matyukhin V.,  Krivorotko O. Numerical solving of an inverse problem of a hyperbolic heat equation with small parameter. Computer Research and Modeling, 2023, vol. 15, no. 2, pp. 245–258 (Russian). </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 17, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S. On mathematical modeling of COVID-19. Siberian Electronic Mathematical News. 2023. V. 20, № 2. P. 1211-1268. DOI: 10.33048/semi.2023.20.075 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 18, name: <a href=\"https://ai-biolab.ru/data/DAIO_2023_COVID_Kazakhstan.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Bektemesov M., Sosnovskaya M., Neverov A. Modeling scenarios for the spread of COVID-19 in the Republic of Kazakhstan based on the regularization of the agent model. Discrete analysis and operations research, 2023, V. 30, №1, 40-67. DOI: 10.33048/daio.2023.30.746 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 19, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Several approaches to modeling the dynamics of income of the population in the context of the epidemic. The successes of cybernetics. 2023;4(1):24–32. DOI: 10.51790/2712-9942-2023-4-1-04 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 20, name: <a href=\"http://old.math.nsc.ru/publishing/DAOR/content/2023/01/746.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Криворотько О.И., Кабанихин С.И., Бектемесов М.А., Сосновская М.И., Неверов А.В. Моделирование сценариев распространения COVID-19 в Республике Казахстан на основе регуляризации агентной модели. Дискретный анализ и исследование операций, 2023, Т. 30, №1, 40-66. DOI: 10.33048/daio.2023.30.746 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 21, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2022 </h5></a>,eventKey: \"all\"},\n  {id: 22, name: <a href=\"https://arxiv.org/pdf/2112.12313.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Petrakova V., Krivorotko O. Mean field game for modeling of COVID-19 spread. Journal of Mathematical Analysis and Application, 2022, V. 514, 126271. DOI: 10.1016/j.jmaa.2022.126271 </h5></a>,eventKey: \"Q1\",eventKey: \"all\"},\n  {id: 23, name: <a href=\"https://drive.google.com/file/d/11uUdZ7lUkaPN6Ghs_PQyP-ZxPMVeuuK-/view\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Zyatkov N. Data-driven regularization of inverse problem for SEIR-HCD model of COVID-19 propagation in Novosibirsk region. Eurasian Journal of Mathematical and Computer Applications, 2022, V. 10, iss. 1, pp. 51-68. DOI: 10.32523/2306-6172-2022-10-1-51-68 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 24, name: <a style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S. Mathematical modeling of the spread of COVID-19. Novosibirsk: Preprint of the Institute of Mathematics № 300, 2022. </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 25, name: <a href=\"https://ai-biolab.ru/data/ComMat2204014Zvonareva.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Zvonareva T., Krivorotko O. Comparative analysis of gradient methods for determining the source of the diffusion-logistic model. Journal of Computational Mathematics and Mathematical Physics, 2022, V. 62, № 4, P. 694-704 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 26, name: <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798?ref=pdf_download&fr=RR-2&rr=88d87946aecb0c42\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Sosnovskaia M., Vashchenko I., Kerr C., Lesnic D. Agent-based modeling of COVID-19 outbreaks for New York state and UK: parameter identification algorithm. Infectious Disease Modelling, 2022, V. 7, pp. 30-44. </h5></a>,eventKey: \"Q1\",eventKey: \"all\"},\n  {id: 27, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2021 </h5></a>,eventKey: \"all\"},\n  {id: 28, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012014/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Bektemesov M., Krivorotko O., Bektemessov Z. Practical identifiability of mathematical models of biomedical processes. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012014 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 29, name: <a href=\"https://iopscience.iop.org/article/10.1088/1742-6596/2092/1/012012/pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Andornaya D. Sensitivity analysis and practical identifiability of the mathematical model for partial differential equations. Journal of Physics: Conference Series, 2021, V. 2092(1), No. 012012. </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 30, name: <a href=\"https://ai-biolab.ru/data/1216_zyatkovnykrivorotkooi.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Zyatkov N., Krivorotko O. Forecasting recessions in the US economy using machine learning methods. Proceedings – 2021 17th International Asian School-Seminar Optimization Problems of Complex Systems (OPCS), 2021, pp. 139-146 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 31, name: <a href=\"https://link.springer.com/content/pdf/10.1007/978-3-030-86433-0_31?pdf=chapter%20toc\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Zvonareva T., Zyatkov N. Numerical solution of the inverse problem for diffusion-logistic model arising in online social networks. In: Mathematical Optimization Theory and Operations Research: Recent Trends. Publisher: Springer International Publishing, 2021, pp. 444-459 </h5></a>,eventKey: \"\",eventKey: \"all\"},\n  {id: 32, name: <a href=\"https://ai-biolab.ru/data/VJ_Krivorotko Engl.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Sosnovskaya M., Andornaya D. Sensitivity and identifiability analysis of mathematical models of the spread of the COVID-19 epidemic. Vavilov Journal of Genetics and Breeding, 2021, V. 25(1), P. 82-91 </h5></a>,eventKey: \"Q4\",eventKey: \"all\"},\n  {id: 33, name: <a href=\"https://ai-biolab.ru/data/JIIP2020_Geo-information_system.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O., Takuadina A., Andornaya D., Zhang S. Geo-information system of tuberculosis spread based on inversion and prediction. Journal of Inverse and Ill-Posed Problems, 2021, V. 29 (1), pp. 65-79 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 34, name: <a style={{'textDecoration': 'none'}}><h5 align='left' style={{fontSize:\"30px\", align:\"right\"}}>2020 </h5></a>,eventKey: \"all\"},\n  {id: 35, name: <a href=\"https://arxiv.org/pdf/1904.10627v1.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}> Kabanikhin S., Krivorotko O., Bektemessov Z., Bektemessov M., Zhang S. Differential evolution algorithm of solving an inverse problem for the spatial Solow mathematical model. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (5), pp. 761-774</h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 36, name: <a href=\"https://ai-biolab.ru/data/JIIP_Global_and_local_optimization_in_identification_of_parabolic.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zhang S., Kashtanova V. Global and local optimization in identification of parabolic systems. Journal of Inverse and Ill-Posed Problems, 2020, V. 28 (6), pp. 899-913 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 37, name: <a href=\"https://ai-biolab.ru/data/Krivorot-ko_et_al-2020-Numerical_Analysis_and_Applications.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Kabanikhin S., Zyatkov N., Prikhodko A., Prokhoshin N., Shishlenin M.A. Mathematical modeling and forecasting of COVID-19 in Moscow and Novosibirsk region. Siberian Journal of Computational Mathematics, 2020, V. 23, № 4, P. 395-414 </h5></a>,eventKey: \"Q2\",eventKey: \"all\"},\n  {id: 38, name: <a href=\"https://ai-biolab.ru/data/Kabanikhin_Krivorotko2020_Article_MathematicalModelingOfTheWuhan.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O. Mathematical modeling of the Wuhan COVID-2019 epidemic and inverse problems. Journal of Computational Mathematics and Mathematical Physics, 2020, V. 60, № 11, P. 1950-1961 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 39, name: <a href=\"https://ai-biolab.ru/data/S0965542520040107.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Kabanikhin S., Krivorotko O. Optimization methods for solving inverse problems of immunology and epidemiology. Journal of Computational Mathematics and Mathematical Physics, 2020, V. 60, № 4, P. 590-600 </h5></a>,eventKey: \"Q3\",eventKey: \"all\"},\n  {id: 40, name: <a href=\"https://ai-biolab.ru/data/S1990478920010123.pdf\" style={{'textDecoration': 'none'}}><h5 className=\"pubcardcol my-3\" align='left' style={{fontSize:\"20px\", align:\"right\"}}>Krivorotko O., Andornaya D., Kabanikhin S. Sensitivity analysis and practical identifiability of mathematical models of biology. Siberian Journal of Industrial Mathematics, 2020, V. 23, № 1, P. 107-125</h5></a>,eventKey: \"\",eventKey: \"all\"},\n]  \n\n    const items = [\n        {id:1, list:postsA1, eventKey:\"A1\"},\n        {id:2, list:postsA2, eventKey:\"A2\"},\n        {id:3, list:postsQ1, eventKey:\"Q1\"},\n        {id:4, list:postsQ2, eventKey:\"Q2\"},\n        {id:5, list:postsQ3, eventKey:\"Q3\"},\n        {id:6, list:postsQ4, eventKey:\"Q4\"},\n        {id:7, list:postsall, eventKey:\"all\"}\n    ]\n\n    \n  return (\n        <>\n\n        <NaviBarv2_En />\n        <Container className=\"my-3\" style={{\n          height: \"120%\" },\n        {  width: \"100%\"}}>\n\n  <Container>\n    \n      <div ><h4 className=\"mx-5 text-secondary\">Article rating</h4></div>\n      <hr/>\n    \n  </Container>\n  <Tab.Container style={{\n          width: \"100%\" }} id=\"left-tabs-example\" defaultActiveKey=\"all\" >\n\n      <Nav variant=\"pills\" defaultActiveKey=\"/home\" >\n        <Nav.Item key={1}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 0</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  className=\"shadow3\" size=\"sm\" variant=\"outline-info\"  style={{color:\"#FFFFFF\"}}>\n      <Nav.Link  eventKey=\"A1\">A</Nav.Link>\n        </Button>\n     \n        </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={2}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 0</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"A2\">A*</Nav.Link>\n          </Button>\n            \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={3}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 2</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button  size=\"sm\" variant=\"outline-info\" className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q1\">Q1</Nav.Link>\n          </Button>\n          \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={4}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 8</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q2\">Q2</Nav.Link>\n          </Button>\n            \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={5}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 9</div>\n               </Popover.Body>\n             </Popover>\n           }>\n          \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q3\">Q3</Nav.Link>\n          </Button>\n           \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={6}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 6</div>\n               </Popover.Body>\n             </Popover>\n           }>\n          \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"Q4\">Q4</Nav.Link>\n          </Button>\n          \n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item key={7}>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"start\" className=\"text-black\">\n               Quantity: 35</div>\n               </Popover.Body>\n             </Popover>\n           }>\n           \n        <Button size=\"sm\" variant=\"outline-info\"  className=\"mx-1 shadow3\">\n          <Nav.Link eventKey=\"all\">All</Nav.Link>\n          </Button>\n           \n          </OverlayTrigger>\n        </Nav.Item>\n      </Nav>\n\n      <Tab.Content>\n      {items.map((item) =>\n          <PublicationsData key={item.id} item = {item}/>\n      )}\n      </Tab.Content>\n  </Tab.Container>\n</Container>\n    <Footer_En />\n    </>\n    \n    )}\n    \n    ","import React from \"react\";\nimport {Container, Card, Row, Button, Col } from 'react-bootstrap'\nimport MTeamItem from './Components/TeamItem'\nimport Main_picture_En from './Components/Main_picture_En'\nimport Main_contacts_En from './Components/Main_contacts_En'\nimport Main_publications_En from './Components/Main_publications_En'\nimport Main_conferences_En from './Components/Main_conferences_En'\nimport Main_publications_more_detailed_En from './Components/Main_publications_more_detailed_En'\nimport { motion } from \"framer-motion\"\nimport Zvonareva from \"./images/team/Zvonareva.png\"\nimport Krivorotko from \"./images/team/Krivorotko.png\"\nimport Zyatkov from \"./images/team/Zyatkov.png\"\nimport Neverov from \"./images/team/Neverov.png\"\nimport Petrakova from \"./images/team/Petrakova.jpg\"\nimport Kabanikhin from \"./images/team/Kabanikhin.jpg\"\nimport Novikov from \"./images/team/Novikov.jpg\"\nimport Koshelev from \"./images/team/Koshelev.jpg\"\nimport Footer_En from './Components/Footer_En'\nimport Question from \"./images/conf/Question.png\"\nimport sem_a from \"./images/news/sem_a.PNG\"\nimport sem_b from \"./images/news/sem_b.PNG\"\nimport sem_c from \"./images/news/sem_c.PNG\"\nimport life_d from \"./images/news/life_d.PNG\"\nimport Semenova from \"./images/team/Semenova.jpg\"\nimport Mikhailapov from \"./images/team/Mikhailapov.png\"\nimport conf_TheoryAndNumericalMethods from \"./images/conf/conf_TheoryAndNumericalMethods.png\"\nimport conf_ModernProblemsOfInverseProblems from \"./images/conf/conf_ModernProblemsOfInverseProblems.png\"\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 100,\n },\n}\n\nconst itemAnimation = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nexport function Main_En() {\n\n  const newsItems = [\n    {\n      title: \"On April 3, the laboratory will hold a seminar on «Why living things are poorly suited for differential and probabilistic modeling»\",\n      date: \"29.03.2025\",\n      image: sem_a,\n      link: \"/Sem_o/En\"\n    },\n    {\n      title: \"On March 20, the laboratory will hold a seminar on «Semi-supervised classification: Basic Ideas»\",\n      date: \"19.03.2025\",\n      image: sem_b,\n      link: \"/Sem_n/En\"\n    },\n    {\n      title: \"On March 6, a joint meeting of the seminar «Applied Statistics» and the seminar of the Laboratory of AI technologies for mathematical modeling of biological, socio-economic and environmental processes will be held\",\n      date: \"04.03.2025\",\n      image: sem_a,\n      link: \"/Sem_m/En\"\n    },\n\n  ];\n\n  const posts = [\n    {id: 1, wid: '8rem', name: 'Olga Krivorotko', url:'/Krivorotko_info/En', institution: 'Doctor of Physical and Mathematical Sciences,Head of the laboratory',Phone:' 📞 +7(383) 329-7610',mail:'📩 o.i.krivorotko@math.nsc.ru', image: Krivorotko},\n    {id: 2, wid: '8rem', name: 'Nikita Novikov', institution: 'Candidate of Physical and Mathematical Sciences,Senior Researcher',Phone:'',mail:'📩 novikov-1989@yandex.ru', image: Novikov},\n    {id: 3, wid: '8rem', name: 'Nikolai Zyatkov',url:'/Zyatkov_info/En', institution: 'Candidate of Technical Sciences,Research Associate',Phone:' 📞 +7(383) 329-7610',mail:'📩 n.y.zyatkov@math.nsc.ru ', image: Zyatkov},\n    {id: 4, wid: '8rem', name: 'Victoria Petrakova',url:'/Petrakova_info/En', institution: 'Candidate of Physical and Mathematical Sciences,Research Associate',Phone:'📞 +7(923) 267-3748',mail:'📩 vika-svetlakova@yandex.ru', image: Petrakova},\n    {id: 5, wid: '8rem', name: 'Tatyana Zvonareva',url:'/Zvonareva_info/En', institution: 'Junior Research Assistant',Phone:' 📞 +7(383) 329-7611',mail:'📩 t.a.zvonareva@math.nsc.ru', image: Zvonareva},\n    {id: 6, wid: '8rem', name: 'Diana Semenova',url:'/Semenova_info/En', institution: 'Junior Research Assistant',Phone:' 📞 +7(926) 189-8945',mail:'📩 dianasoulmate@yandex.ru', image: Semenova},\n    {id: 7, wid: '8rem', name: 'Andrei Neverov',url:'/Neverov_info/En', institution: 'Graduate student IM SB RAS',institution2:'Research Engineer',Phone:' 📞 +7(383) 3297611',mail:'📩 a.neverov@g.nsu.ru', image: Neverov},\n    {id: 8, wid: '8rem', name: 'Angelina Nesterova',url:'/Nesterova_info/En', institution: 'Graduate student IM SB RAS',institution2:'Research Engineer',Phone:'',mail:'📩  a.v.nesterova@math.nsc.ru' , image: Question},\n    {id: 9, wid: '8rem', name: 'Denis Mikhailapov',url:'/Mikhailapov_info/En', institution: 'Intern Researcher',Phone:'',mail:'📩 d.mikhailapov@math.nsc.ru', image: Mikhailapov},\n    {id: 10, wid: '8rem', name: 'Sergey Strizhak', institution: 'Candidate of Technical Sciences, Senior Researcher',institution2:'',Phone:'',mail:'📩 strijhak@yandex.ru', image: Question},\n    {id: 11, wid: '8rem', name: 'Konstantin Koshelev', institution: 'Candidate of Physical and Mathematical Sciences, Senior Researcher',Phone:'',mail:'📩 koshelevkb@mail.ru', image: Koshelev},\n    {id: 12, wid: '8rem', name: 'Sergey Kabanikhin', url:'/Kabanikhin_info/En', institution: 'Doctor of Physical and Mathematical Sciences, Corresponding Member of the Russian Academy of Sciences,Chief Research Associate',Phone:' 📞 +7 (383) 330-8353',mail:'📩 ksi52@mail.ru', image: Kabanikhin}\n  ]\n  return(\n      <>\n      <Main_picture_En />\n      <Container >\n        <motion.div initial=\"hidden\" custom={2} variants={variants} whileInView=\"visible\" viewport={{ amount: 0.05, once: true }}>\n          <Card className=\"text-center bg-secondary text-white my-3\">\n            <Card.Title>\n              <h4 className=\"my-1\">News</h4>\n            </Card.Title>\n          </Card>\n        </motion.div>\n\n        <Row>\n          {newsItems.map((item, index) => (\n            <Col xs={12} md={6} lg={4} key={index} className=\"mb-4\"> {/* Измените размеры колонок здесь */}\n              <a href={item.link} style={{ textDecoration: 'none', color: 'inherit' }}>\n                <article className=\"card_t\">\n                <div className=\"card_image_t\">\n                  <img src={item.image} alt={item.title}></img>\n                </div>\n                <div className=\"card_content_t\">\n                  <h5 className=\"card_title_t\">{item.title}</h5>\n                  <p className=\"card_descr_t\">{item.date}</p>\n                </div>\n              </article></a>\n            </Col>\n          ))}\n        </Row>\n\n        <Button href=\"/News/En\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n          <div style={{ fontSize: 16 }}><b>All news</b></div>\n        </Button>\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n          <Card className=\"text-center bg-secondary text-white my-3\" >\n            <Card.Title> <h4 className=\"my-1 \">The composition of the laboratory</h4> </Card.Title>\n          </Card>\n          </motion.div>\n          <motion.div  initial=\"hidden\"\n            animate=\"visible\">\n          <Container>\n            <Row xs={1} md={2} className=\"justify-content-md-center\" >\n              {posts.map((post, index) =>\n                  <MTeamItem  initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05, once: true}}\n                     custom={index + 1}\n                    variants={variants} key = {post.id} post = {post}/>\n              )}\n            </Row>\n          </Container>\n          </motion.div>\n          <motion.div initial=\"hidden\"\n          animate=\"visible\" custom={3}\n          variants={variants}>\n        </motion.div>\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"my-3\"><hr />\n          <h4 className=\"text-left mx-5 text-secondary\">Contacts</h4>\n            </motion.div>\n            <motion.div initial=\"hidden\"\n               custom={2}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n            <Main_contacts_En />\n          </motion.div>\n            <motion.div initial=\"hidden\"\n               custom={2}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"my-3\"><hr />\n          <h4 className=\"text-left mx-5 text-secondary\">Publications</h4></motion.div>\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n            <Main_publications_En />\n            </motion.div>\n            <motion.div initial=\"hidden\"\n          animate=\"visible\" custom={3}\n          variants={variants}>\n          <Button href=\"/Main_publications_more_detailed/En\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n            <div style={{fontSize: 16}}><b>More detailed</b></div></Button>\n            </motion.div>\n            <motion.div initial=\"hidden\"\ncustom={2}\nvariants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n<Card className=\"text-center bg-secondary text-white my-3\" >\n<Card.Title> <h4 className=\"my-1 \">Conferences</h4> </Card.Title>\n</Card>\n</motion.div>\n<div className=\"cards_container\">\n  <ul className=\"cards_t\">\n    <li className=\"cards_item_conf\">\n    <a href=\"/TheoryAndNumericalMethods/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article className=\"card_conf\">\n        <div className=\"card_image_conf my-4\">\n          <img src={conf_TheoryAndNumericalMethods} alt=\"Конференция\" />\n        </div>\n        <div className=\"card_content_t\">\n          <h5 className=\"card_title_t\">XVI International Youth Scientific School-conference «Theory and numerical methods for solving inverse and ill-posed problems».</h5>\n          <p className=\"card_title_t\">Venue: S.L. Sobolev Institute of Mathematics SB RAS</p>\n          <p className=\"card_title_t\">Date: From September 30 to October 2, 2024.</p>\n        </div>\n      </article>\n      </a>\n    </li>\n    <li className=\"cards_item_conf\">\n    <a href=\"/ModernProblemsOfInverseProblems/En\" style={{ textDecoration: 'none', color: 'inherit' }}>\n      <article className=\"card_conf\">\n        <div className=\"card_image_conf my-4\">\n          <img src={conf_ModernProblemsOfInverseProblems} alt=\"Конференция\" />\n        </div>\n        <div className=\"card_content_t\">\n          <h5 className=\"card_title_t\">International Scientific Conference «Modern problems of inverse problems».</h5>\n          <p className=\"card_title_t\">Venue: S.L. Sobolev Institute of Mathematics SB RAS.</p>\n          <p className=\"card_title_t\">Date: From 3 to 5 October 2024.</p>\n        </div>\n      </article>\n      </a>\n    </li>\n  </ul>\n  <Button href=\"/Conferences/En\" className=\"text-white shadow4 my-3 py-2 mp_info\" variant=\"info\" size=\"sm\">\n          <div style={{ fontSize: 16 }}><b>All conferences</b></div>\n        </Button>\n</div>\n      </Container>\n      <Footer_En />\n    </>\n)\n}","import React from \"react\";\nimport {Container, Card, Image, Col, Row, Table, Stack, OverlayTrigger, Popover} from 'react-bootstrap';\nimport sfblok from \"./../images/sfblok.png\"\nimport sfifblok from \"./../images/sfifblok.png\"\nimport firdblok from \"./../images/firdblok.png\"\nimport blokd from \"./../images/blokd.png\"\nimport { motion } from \"framer-motion\"\nimport {BsDownload} from 'react-icons/bs'\n\n\nconst Description_SEIRHCD_En = () => {\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: -100,\n   },\n  }\n    return (\n      <>\n      <Row >\n         <Col sm={12} xs={12} md={12} lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border shadow1 mx-3 my-1\">\n           <Card.Header className=\" text-center text-success\">The structure of the model</Card.Header>\n           <Card.Body>\n           <Image\n           src={sfblok}\n           rounded\n           fluid\n           />\n           </Card.Body></Card></motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border shadow1 mx-3 my-1\">\n             <Card.Header className=\" text-center text-white bg-success\">Mathematical model</Card.Header>\n             <Card.Body align=\"justify\">\n             <div><small>It is described by a system of 7 ordinary differential equations satisfying the law of mass balance:</small></div>\n             <div className=\"my-3\">\n             <Image\n             src={blokd}\n             rounded\n             fluid\n             />\n             </div>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n            <Card className=\"border shadow1 my-1 mx-3\">\n              <Card.Header className=\"text-center text-success bg-light\">The algorithm of data assimilation</Card.Header>\n              <Card.Body align=\"center\">\n              <Image\n              src={sfifblok}\n              rounded\n              fluid\n              />\n              </Card.Body></Card></motion.div>\n           </Col>\n         <Col sm={12} xs={12} md={12}  lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border shadow1 my-1 mx-3\">\n           <Card.Header className=\" text-center text-white bg-success\">Model Parameters</Card.Header>\n           <Card.Body>\n           <small>\n           <Table striped bordered size=\"sm\" responsive>\n    <thead>\n      <tr>\n        <th>#</th>\n        <th>Parameter</th>\n        <th>Description</th>\n        <th>The borders</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>1</td>\n        <td><i>{'\\u03B1'}(t)</i></td>\n        <td>Self-isolation index (<a href=\"https://yandex.ru/company/researches/2020/podomam\">Yandex data</a>)</td>\n        <td>(0, 5)</td>\n      </tr>\n      <tr>\n        <td>2</td>\n        <td><i>{'\\u03B1'}<sub>E</sub>(t)</i></td>\n        <td>Infection parameter between asymptomatic <i>E(t)</i> and receptive <i>S(t)</i> by population groups (<i>{'\\u03B1'}<sub>E</sub>>>{'\\u03B1'}<sub>I</sub></i>)</td>\n        <td>(0, 1)</td>\n      </tr>\n      <tr>\n        <td>3</td>\n        <td><i>{'\\u03B1'}<sub>I</sub>(t)</i></td>\n        <td>The infection parameter between the infected <i>I(t)</i> and receptive <i>S(t)</i> by the population</td>\n        <td>(0, 1)</td>\n      </tr>\n      <tr>\n        <td>4</td>\n        <td><i>{'\\u03B2'}(t)</i></td>\n        <td>The proportion of infected people with IgG antibodies to SARS-CoV-2</td>\n        <td><a href=\"https://ai-biolab.ru/data/novosibirsk-invitro.csv\">Invitro</a></td>\n      </tr>\n      <tr>\n        <td>5</td>\n        <td><i>{'\\u03B5'}<sub>hc</sub>(t)</i></td>\n        <td>Percentage of hospitalized cases <i>H(t)</i>, who need a ventilator connection</td>\n        <td>(0, 1)</td>\n      </tr>\n      <tr>\n        <td>6</td>\n        <td><i>{'\\u03BC'}(t)</i></td>\n        <td>The proportion of deaths</td>\n        <td>(0, 0.5)</td>\n      </tr>\n      <tr>\n        <td>7</td>\n        <td><i>{'\\u03C4'}</i></td>\n        <td>The latency period</td>\n        <td>2 days</td>\n      </tr>\n      <tr>\n        <td>8</td>\n        <td><i>t<sub>inc</sub></i></td>\n        <td>Duration of the incubation period</td>\n        <td>2-14 days</td>\n      </tr>\n      <tr>\n        <td>9</td>\n        <td><i>t<sub>inf</sub></i></td>\n        <td>Duration of the infection period</td>\n        <td>2,5-14 days</td>\n      </tr>\n      <tr>\n        <td>10</td>\n        <td><i>t<sub>hosp</sub></i></td>\n        <td>Duration of the hospitalization period</td>\n        <td>4-5 days</td>\n      </tr>\n      <tr>\n        <td>11</td>\n        <td><i>t<sub>crit</sub></i></td>\n        <td>Duration of ventilator use</td>\n        <td>10-20 days</td>\n      </tr>\n      <tr>\n        <td>12</td>\n        <td><i>t<sub>imm</sub></i></td>\n        <td>The average duration of humoral immunity after recovery</td>\n        <td>180 days</td>\n      </tr>\n      </tbody>\n      </Table>\n      </small>\n           </Card.Body></Card></motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border shadow1 my-1 mx-3\">\n             <Card.Header className=\"text-center text-success\">The inverse problem</Card.Header>\n             <Card.Body>\n             <small>\n             For each time interval (14 days) the task parameters are being clarified </small><div><i>q(t) = ({'\\u03B1'}<sub>E</sub>(t),{'\\u03B1'}<sub>I</sub>(t), {'\\u03B5'}<sub>hc</sub>(t),{'\\u03BC'}(t), E<sub>0</sub>, I<sub>0</sub>) </i>\n             <small>\n             by minimizing the target functionality </small></div>\n             <Image\n             src={firdblok}\n             rounded\n             fluid\n             style={{ width: '3rem' }, {height: '3rem'}}\n             />\n             <small>\n             the method of global optimization based on tree-like Parsen estimates <a href=\"https://optuna.org\">OPTUNA</a>.\n</small>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n               <Card className=\"border shadow1 my-1 mx-3\">\n                 <Card.Header className=\"text-center text-white bg-success\">Real data</Card.Header>\n                 <Card.Body align=\"\">\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\"> <div><i>f<sub>k</sub></i> – the number of detected COVID-19 cases per day <i>k</i></div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">2 column - new_diagnoses</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">2</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\"> <div><i>b<sub>k</sub></i> –the percentage of asymptomatic cases detected per day <i>k</i></div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">22 column - asympt_percent</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">22</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\"> <div><i>C<sub>k</sub></i> – the number of critical COVID-19 cases per day <i>k</i>, those who need to connect a ventilator</div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">16 column - ventilation</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">16</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\">  <div><i>g<sub>k</sub></i> – the number of deaths as a result of COVID-19 per day <i>k</i></div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">7 column - new_deaths</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">7</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\">  <div><i>{'\\u03B1'}(t)</i> – self-isolation index</div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">21 column - yandex_index</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">21</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                  <hr />\n                  <Stack direction=\"horizontal\" gap={3}>\n                    <div className=\"\">  <div><i>{'\\u03B2'}(t)</i> – the proportion of infected people with IgG antibodies to SARS-CoV-2</div></div>\n                    <OverlayTrigger\n                     placement=\"left\"\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                          <small className=\"text-muted\">2 column - positive_percent</small>\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                    <div className=\" ms-auto\">2</div>\n                    </OverlayTrigger>\n                    <div className=\"vr\" />\n                      <a href=\"https://ai-biolab.ru/data/novosibirsk-invitro.csv\" style={{'textDecoration': 'none'}}>\n                    <div className=\"\"><BsDownload/></div></a>\n                  </Stack>\n                 </Card.Body></Card></motion.div>\n           </Col>\n       </Row>\n      </>\n    )}\n\nexport default Description_SEIRHCD_En;","import React, { useState, useEffect} from \"react\";\nimport axios from \"axios\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Form, ListGroup, FormControl, Stack,\nOverlayTrigger, Popover, InputGroup, ProgressBar, Spinner, Tabs, Tab, Collapse, Carousel, Alert, Modal, ButtonGroup,\nDropdownButton, Dropdown} from 'react-bootstrap';\nimport {FcSearch} from 'react-icons/fc'\nimport {FiDownload } from 'react-icons/fi'\nimport {BsZoomOut, BsInfo, BsZoomIn} from 'react-icons/bs'\n\nimport {BsFillFileEarmarkPdfFill, BsFillArrowUpRightSquareFill, BsFillCaretRightFill, BsFillCaretDownFill,\nBsFillPersonLinesFill, BsExclamationLg} from 'react-icons/bs'\nimport { Formik } from \"formik\";\nimport Description_SEIRHCD_En from './Components/Description_SEIRHCD_En'\nimport OptionItem from './Components/OptionItem'\n\nimport { motion } from \"framer-motion\"\n\nimport {\n  Chart as ChartJS,\n  PointElement,\n  Filler,\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n} from 'chart.js';\n\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\n\nChartJS.register(\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n  PointElement,\n  Filler,\n);\n\nChartJS.register(zoomPlugin);\n\nfunction ModelingSEIR_HCD_En() {\n\n  const lastDate2 = () => {\n    axios\n    .get(\"https://server.ai-biolab.ru/datesSEIR\")\n    .then(res => {\n      setLastsData(res.data.dates[res.data.dates.length-1].data)\n    })\n  }\n\n  const download_chart=(e, chart) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById(chart)\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const dates = []\n  const [dates2, setdates2] = useState(dates)\n  const [lastData, setLastsData] = useState(0)\n\n  const datesOption=()=>{\n    axios\n    .get(\"https://server.ai-biolab.ru/datesSEIR\")\n    .then(res => {\n      for (const dataObj of res.data.dates) {\n        dates.push({date: dataObj.data})\n      }\n      dates.reverse()\n      setdates2(dates)\n    })\n  }\n\n  const [chartData, setChartData] = useState({\n    datasets: [],\n  })\n  const [chartOptions, setChartOptions] = useState({})\n\n  const [openBS, setOpenBS] = useState(true);\n  const [openM, setOpenM] = useState(false);\n  const [openV, setOpenV] = useState(false);\n\n  const [chartData_bsR0, setChartData_bsR0] = useState({\n    datasets: [],\n  })\n  const [chartOptions_bsR0, setChartOptions_bsR0] = useState({})\n\n  const forecasts_R0=(selected)=>{\n    let data = [];\n    let mean = [];\n    let max = [];\n    let min = [];\n    let tr = []\n    let tr_min = []\n    let tr_max = []\n    let datatype = selected\n    let dataT = selected\n    axios({\n        url:'https://server.ai-biolab.ru/api/forecasts_train/',\n        method: \"POST\",\n        data: {dataT},\n      })\n    .then(res => {\n        for (const dataObj of res.data) {\n          data.push(dataObj.Date);\n          tr.push(dataObj.R0_mean)\n          tr_min.push(dataObj.R0_min)\n          tr_max.push(dataObj.R0_max)\n          mean.push(dataObj.R0_mean)\n          max.push(dataObj.R0_max)\n          min.push(dataObj.R0_min)\n        }\n        axios({\n            url:'https://server.ai-biolab.ru/api/forecasts/',\n            method: \"POST\",\n            data: {datatype},\n          })\n        .then(res => {\n            for (const dataObj of res.data) {\n              data.push(dataObj.Date);\n              mean.push(dataObj.R0_mean)\n              max.push(dataObj.R0_max)\n              min.push(dataObj.R0_min)\n            }\n            setChartData_bsR0({\n              labels: data,\n              datasets: [\n                {\n                  label: \"real data\",\n                  data: tr_min,\n                  fill: false,\n                  borderColor: \"rgba(2, 117, 216, 0.1)\",\n                  backgroundColor: \"rgba(2, 117, 216, 0.1)\",\n                  tension: 0.9,\n                  borderWidth: 0.1,\n                  pointRadius: 0.3,\n                  pointHoverRadius: 5,\n                  pointHitRadius: 30,\n                  pointBorderWidth: 0.1,\n                  barPercentage: 2\n                  },\n                  {\n                    label: \"real data\",\n                    data: tr_max,\n                    fill: '-1',\n                    borderColor: \"rgba(2, 117, 216, 0.1)\",\n                    backgroundColor: \"rgba(2, 117, 216, 0.1)\",\n                    tension: 0.9,\n                    borderWidth: 0.1,\n                    pointRadius: 0.3,\n                    pointHoverRadius: 5,\n                    pointHitRadius: 30,\n                    pointBorderWidth: 0.1,\n                    barPercentage: 2\n                    },\n                {\n                  label: \"real data\",\n                  data: tr,\n                  fill: false,\n                  borderColor: \"rgba(2, 117, 216, 1)\",\n                  backgroundColor: \"rgba(2, 117, 216, 1)\",\n                  tension: 0.9,\n                  borderWidth: 2,\n                  pointRadius: 0.3,\n                  pointHoverRadius: 5,\n                  pointHitRadius: 30,\n                  pointBorderWidth: 0.1,\n                  barPercentage: 2\n                  },\n                  {\n                    label: \"model\",\n                    data: min,\n                    fill: false,\n                    borderColor: \"rgba(217, 83, 79, 0.1)\",\n                    backgroundColor: \"rgba(217, 83, 79, 0.1)\",\n                    tension: 0.9,\n                    borderWidth: 0.1,\n                    pointRadius: 0.3,\n                    pointHoverRadius: 5,\n                    pointHitRadius: 30,\n                    pointBorderWidth: 0.1,\n                    barPercentage: 2\n                    },\n                    {\n                      label: \"model\",\n                      data: max,\n                      fill: '-1',\n                      borderColor: \"rgba(217, 83, 79, 0.1)\",\n                      backgroundColor: \"rgba(217, 83, 79, 0.1)\",\n                      tension: 0.9,\n                      borderWidth: 0.1,\n                      pointRadius: 0.3,\n                      pointHoverRadius: 5,\n                      pointHitRadius: 30,\n                      pointBorderWidth: 0.1,\n                      barPercentage: 2\n                      },\n              {\n                label: \"model\",\n                data: mean,\n                fill: false,\n                borderColor: \"rgba(217, 83, 79, 1)\",\n                backgroundColor: \"rgba(217, 83, 79, 1)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                barPercentage: 2\n                },\n            ],\n            });\n            setChartOptions_bsR0({\n              maintainAspectRatio : false,\n              responsive: true,\n                plugins: {\n                  zoom: {\n                    pan: {\n                      enabled: true,\n                      mode: 'xy',\n                    },\n                   zoom: {\n                     wheel: {\n                       enabled: true,\n                       speed: 0.1,\n                     },\n                     drag: {\n                      enabled: true,\n                    },\n                     pan: {enabled: true},\n                     pinch: {\n                       enabled: true\n                     },\n                     mode: 'xy',\n                   },\n                },\n                legend: {\n                  position: \"right\",\n                },\n                title: {\n                  display: true,\n                  align: 'start',\n                  text: \"\",\n                },\n              }\n            });\n          })\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n  const [chartData_pred, setChartData_pred] = useState({\n    datasets: [],\n  })\n  const [chartOptions_pred, setChartOptions_pred] = useState({})\n\n  const forecasts_new = (stype, datatype)=>{\n    let data = [];\n    let mean = [];\n    let max = [];\n    let min = [];\n    let tr = []\n    let name = \"New cases identified\";\n    axios({\n        url:'https://server.ai-biolab.ru/api/forecasts_true/',\n        method: \"POST\",\n        data: {datatype},\n      })\n    .then(res => {\n        for (const dataObj of res.data) {\n          data.push(dataObj.Date);\n          if (stype == 1){\n            name = \"New cases identified\"\n            tr.push(dataObj.new_diagnoses)\n          } else if (stype == 2) {\n            name = \"Critically ill, С\"\n            tr.push(dataObj.ventilation)\n          } else if (stype == 3) {\n            name = \"Deceased, D\"\n            tr.push(dataObj.cum_deaths)\n          }\n          mean.push(0)\n        }\n        axios({\n            url:'https://server.ai-biolab.ru/api/forecasts',\n            method: \"POST\",\n            data: {datatype},\n          })\n        .then(res => {\n            setAE(Math.round(parseFloat(res.data[res.data.length-1].alpha_e_std)*1000) / 1000)\n            setAI(Math.round(parseFloat(res.data[res.data.length-1].alpha_i_std)*1000) / 1000)\n            setEhc(Math.round(parseFloat(res.data[res.data.length-1].eps_hc_std)*1000) / 1000)\n            setM(Math.round(parseFloat(res.data[res.data.length-1].mu_std)*1000) / 1000)\n            setAE_mean(Math.round(parseFloat(res.data[res.data.length-1].alpha_e_mean)*1000) / 1000)\n            setAI_mean(Math.round(parseFloat(res.data[res.data.length-1].alpha_i_mean)*1000) / 1000)\n            setEhc_mean(Math.round(parseFloat(res.data[res.data.length-1].eps_hc_mean)*1000) / 1000)\n            setM_mean(Math.round(parseFloat(res.data[res.data.length-1].mu_mean)*1000) / 1000)\n            for (const dataObj of res.data) {\n              data.push(dataObj.Date);\n              if (stype == 1){\n                mean.push(dataObj.fk_mean)\n                max.push(dataObj.fk_max)\n                min.push(dataObj.fk_min)\n              } else if (stype == 2) {\n                mean.push(dataObj.C_mean)\n                max.push(dataObj.C_max)\n                min.push(dataObj.C_min)\n              } else if (stype== 3) {\n                mean.push(dataObj.D_mean)\n                max.push(dataObj.D_max)\n                min.push(dataObj.D_min)\n              }\n            }\n            setChartData_pred({\n              labels: data,\n              datasets: [\n                {\n                  label: \"real data\",\n                  data: tr,\n                  fill: false,\n                  borderColor: \"rgba(2, 117, 216, 1)\",\n                  backgroundColor: \"rgba(2, 117, 216, 1)\",\n                  tension: 0.9,\n                  borderWidth: 0.1,\n                  pointRadius: 0.3,\n                  pointHoverRadius: 5,\n                  pointHitRadius: 30,\n                  pointBorderWidth: 0.1,\n                  barPercentage: 2\n                  },\n              {\n                label: \"model\",\n                data: mean,\n                fill: false,\n                borderColor: \"rgba(217, 83, 79, 1)\",\n                backgroundColor: \"rgba(217, 83, 79, 1)\",\n                tension: 0.9,\n                borderWidth: 0.1,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                barPercentage: 2\n                },\n            ],\n            });\n            setChartOptions_pred({\n               maintainAspectRatio : false,\n              responsive: true,\n                plugins: {\n                  zoom: {\n                    pan: {\n                      enabled: true,\n                      mode: 'xy',\n                    },\n                   zoom: {\n                     wheel: {\n                       enabled: true,\n                       speed: 0.1,\n                     },\n                     drag: {\n                      enabled: true,\n                    },\n                     pan: {enabled: true},\n                     pinch: {\n                       enabled: true\n                     },\n                     mode: 'xy',\n                   },\n                },\n                legend: {\n                  position: \"right\",\n                },\n                title: {\n                  display: true,\n                  align: 'start',\n                  text: name,\n                },\n              }\n            });\n          })\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  let r0_mean = []\n  let r0_max = []\n  let r0_min = []\n  const [r0_meanBS, setr0_meanDataBS] = useState(r0_mean)\n\n  const res_validR0=()=>{\n    let dataBS = [];\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_valid\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataBS.push(dataObj.Date);\n        r0_mean.push(dataObj.R0_mean)\n        r0_max.push(dataObj.R0_max)\n        r0_min.push(dataObj.R0_min)\n      }\n      setChartData({\n        labels: dataBS,\n        datasets: [\n          {\n            label: \"R0 min\",\n            data: r0_min,\n            fill: false,\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: \"R0 max\",\n            data: r0_max,\n            fill: '-1',\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        {\n          label: \"R0 average\",\n          data: r0_mean,\n          fill: false,\n          borderColor: \"rgba(255,0,0, 1)\",\n          backgroundColor: \"rgba(255, 0, 0, 1)\",\n          tension: 0.9,\n          borderWidth: 1,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n      ],\n      });\n      setChartOptions({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'start',\n            text: \"\",\n          },\n        }\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n  const [chartData2, setChartData2] = useState({\n    datasets: [],\n  })\n\n  const [chartDataTrain, setChartDataTrain] = useState({\n    datasets: [],\n  })\n  const [chartOptionsTrain, setChartOptionsTrain] = useState({})\n\n  const res_trainR0=()=>{\n      let dataBS = [];\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_train\")\n    .then(res => {\n     for (const dataObj of res.data) {\n        dataBS.push(dataObj.Date);\n        r0_mean.push(dataObj.R0_mean)\n        r0_max.push(dataObj.R0_max)\n        r0_min.push(dataObj.R0_min)\n      }\n\n      setChartDataTrain({\n        labels: dataBS,\n        datasets: [\n\n          {\n            label: \"R0 min\",\n            data: r0_min,\n            fill: false,\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: \"R0 max\",\n            data: r0_max,\n            fill: '-1',\n            borderColor: \"rgba(0,0,0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        {\n          label: \"R0 average\",\n          data: r0_mean,\n          fill: false,\n          borderColor: \"rgba(255,0,0, 1)\",\n          backgroundColor: \"rgba(255, 0, 0, 1)\",\n          tension: 0.9,\n          borderWidth: 1,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n      ],\n      });\n      setChartOptionsTrain({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'start',\n            text: \"\",\n          },\n        }\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n\n  const [chartOptionsSEIRHCD, setChartOptionsSEIRHCD] = useState({})\n  const [chartDataSEIRHCD, setChartDataSEIRHCD] = useState({\n    datasets: [],\n  })\n\n  const res_train=(mean, max, min, param)=>{\n    let dataSEIRHCD = []\n    let mean_data = []\n    let max_data = []\n    let min_data = []\n    let r_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_train\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        mean_data.push(dataObj[mean])\n        max_data.push(dataObj[max])\n        min_data.push(dataObj[min])\n      }\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd/\")\n      .then(res2 => {\n        for (const dataObj of res2.data) {\n          r_data.push(parseInt(dataObj[param]));\n        }\n        setChartDataSEIRHCD({\n          labels:   dataSEIRHCD,\n          datasets: [\n            {\n              label: \"min\",\n              data: min_data,\n              fill: false,\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n            {\n              label: \"max\",\n              data: max_data,\n              fill: '-1',\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          {\n            label: \"average\",\n            data: mean_data,\n            fill: false,\n            borderColor: \"rgba(13,110,253, 1)\",\n            backgroundColor: \"rgba(13, 110, 253, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n              label: \"Real data\",\n              data: r_data,\n              fill: false,\n              borderColor: \"rgba(255, 127, 80, 1)\",\n              backgroundColor: \"rgba(255, 127, 80, 1)\",\n              tension: 0.9,\n              borderWidth: 0.01,\n              pointRadius: 2,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1\n              },\n        ],\n        });\n        setChartOptionsSEIRHCD({\n          maintainAspectRatio : false,\n          responsive: true,\n            plugins: {\n              zoom: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n               zoom: {\n                 wheel: {\n                   enabled: true,\n                   speed: 0.1,\n                 },\n                 drag: {\n                  enabled: true,\n                },\n                 pan: {enabled: true},\n                 pinch: {\n                   enabled: true\n                 },\n                 mode: 'xy',\n               },\n            },\n            legend: {\n              position: \"right\",\n            },\n            title: {\n              display: true,\n              align: 'center',\n              text: \"New cases identified\",\n            },\n          }\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  const [chartOptionsSEIRHCD_v, setChartOptionsSEIRHCD_v] = useState({})\n  const [chartDataSEIRHCD_v, setChartDataSEIRHCD_v] = useState({\n    datasets: [],\n  })\n\n  const res_valid=(mean, max, min, param)=>{\n    let dataSEIRHCD = []\n    let mean_data = []\n    let max_data = []\n    let min_data = []\n    let r_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_valid\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        mean_data.push(dataObj[mean])\n        max_data.push(dataObj[max])\n        min_data.push(dataObj[min])\n      }\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res2 => {\n        for (const dataObj of res2.data) {\n          r_data.push(parseInt(dataObj[param]));\n        }\n        setChartDataSEIRHCD_v({\n          labels:   dataSEIRHCD,\n          datasets: [\n            {\n              label: \"min\",\n              data: min_data,\n              fill: false,\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n            {\n              label: \"max\",\n              data: max_data,\n              fill: '-1',\n              borderColor: \"rgba(0,0,0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          {\n            label: \"average\",\n            data: mean_data,\n            fill: false,\n            borderColor: \"rgba(13,110,253, 1)\",\n            backgroundColor: \"rgba(13, 110, 253, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n              label: \"Real data\",\n              data: r_data,\n              fill: false,\n              borderColor: \"rgba(255, 127, 80, 1)\",\n              backgroundColor: \"rgba(255, 127, 80, 1)\",\n              tension: 0.9,\n              borderWidth: 0.01,\n              pointRadius: 2,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1\n              },\n        ],\n        });\n        setChartOptionsSEIRHCD_v({\n          maintainAspectRatio : false,\n          responsive: true,\n            plugins: {\n              zoom: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n               zoom: {\n                 wheel: {\n                   enabled: true,\n                   speed: 0.1,\n                 },\n                 drag: {\n                  enabled: true,\n                },\n                 pan: {enabled: true},\n                 pinch: {\n                   enabled: true\n                 },\n                 mode: 'xy',\n               },\n            },\n            legend: {\n              position: \"right\",\n            },\n            title: {\n              display: true,\n              align: 'center',\n              text: \"New cases identified\",\n            },\n          }\n        });\n      })\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  const [chartOptions_p, setChartOptions_p] = useState({})\n  const [chartData_p, setChartData_p] = useState({\n    datasets: [],\n  })\n  const res_validP=()=>{\n    let dataSEIRHCD = []\n    let ae_data = []\n    let ai_data = []\n    let e_data = []\n    let m_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_valid/\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        ae_data.push(dataObj.alpha_e_mean)\n        ai_data.push(dataObj.alpha_i_mean)\n        e_data.push(dataObj.eps_hc_mean)\n        m_data.push(dataObj.mu_mean)\n      }\n      setChartData_p({\n        labels:   dataSEIRHCD,\n        datasets: [\n          {\n            label: '\\u03B1\\u2091',\n            data: ae_data,\n            fill: false,\n            borderColor: \"rgba(0,0,255, 1)\",\n            backgroundColor: \"rgba(0, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: '\\u03B1\\u1D62',\n            data: ai_data,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n          label: '\\u03B5\\u2095\\u1D9C',\n          data: e_data,\n          fill: false,\n          borderColor: \"rgba(92, 184, 92, 1)\",\n          backgroundColor: \"rgba(92, 184, 92, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n          {\n            label: '\\u03BC',\n            data: m_data,\n            fill: false,\n            borderColor: \"rgba(128, 0, 255, 1)\",\n            backgroundColor: \"rgba(128, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n      ],\n      });\n      setChartOptions_p({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'center',\n            text: \"\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'probability'\n            },\n            position:'left',\n            type: 'linear',\n          },\n        },\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n  const [chartOptions_pm, setChartOptions_pm] = useState({})\n  const [chartData_pm, setChartData_pm] = useState({\n    datasets: [],\n  })\n  const res_trainP=()=>{\n    let dataSEIRHCD = []\n    let ae_data = []\n    let ai_data = []\n    let e_data = []\n    let m_data = []\n    axios\n    .get(\"https://server.ai-biolab.ru/api/res_train/\")\n    .then(res => {\n      for (const dataObj of res.data) {\n        dataSEIRHCD.push(dataObj.Date);\n        ae_data.push(dataObj.alpha_e_mean)\n        ai_data.push(dataObj.alpha_i_mean)\n        e_data.push(dataObj.eps_hc_mean)\n        m_data.push(dataObj.mu_mean)\n      }\n      setChartData_pm({\n        labels:   dataSEIRHCD,\n        datasets: [\n          {\n            label: '\\u03B1\\u2091',\n            data: ae_data,\n            fill: false,\n            borderColor: \"rgba(0,0,255, 1)\",\n            backgroundColor: \"rgba(0, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n            label: '\\u03B1\\u1D62',\n            data: ai_data,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n          {\n          label: '\\u03B5\\u2095\\u1D9C',\n          data: e_data,\n          fill: false,\n          borderColor: \"rgba(92, 184, 92, 1)\",\n          backgroundColor: \"rgba(92, 184, 92, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n          },\n          {\n            label: '\\u03BC',\n            data: m_data,\n            fill: false,\n            borderColor: \"rgba(128, 0, 255, 1)\",\n            backgroundColor: \"rgba(128, 0, 255, 1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n      ],\n      });\n      setChartOptions_pm({\n        maintainAspectRatio : false,\n        responsive: true,\n          plugins: {\n            zoom: {\n              pan: {\n                enabled: true,\n                mode: 'xy',\n              },\n             zoom: {\n               wheel: {\n                 enabled: true,\n                 speed: 0.1,\n               },\n               drag: {\n                enabled: true,\n              },\n               pan: {enabled: true},\n               pinch: {\n                 enabled: true\n               },\n               mode: 'xy',\n             },\n          },\n          legend: {\n            position: \"right\",\n          },\n          title: {\n            display: true,\n            align: 'center',\n            text: \"\",\n          },\n        },\n        scales: {\n          quantity: {\n            title: {\n              display: true,\n              text: 'probability'\n            },\n            position:'left',\n            type: 'linear',\n          },\n        },\n      });\n    }).catch(err => {\n        console.log(err);\n      });\n  }\n\n  const [prognose_type, setPrognose_type] = useState(1)\n  const [prognose_data, setPrognose_data] = useState(dates[0])\n\n//1 - new cases identified\n//2 - critically ill\n//3 - the deceased\n\n  const [ae, setAE] = useState()\n  const [ai, setAI] = useState()\n  const [ehc, setEhc] = useState()\n  const [m, setM] = useState()\n  const [ae_mean, setAE_mean] = useState()\n  const [ai_mean, setAI_mean] = useState()\n  const [ehc_mean, setEhc_mean] = useState()\n  const [m_mean, setM_mean] = useState()\n\n  useEffect(() => {\n     res_validR0();\n  }, [])\n\n  useEffect(() => {\n     datesOption();\n  }, [])\n\n  useEffect(() => {\n     res_trainR0();\n  }, [])\n\n  useEffect(() => {\n    res_train(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\");\n  }, [])\n  useEffect(() => {\n     res_valid(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\");\n  }, [])\n  useEffect(() => {\n     res_validP();\n  }, [])\n  useEffect(() => {\n     res_trainP();\n  }, [])\n  useEffect(() => {\n      lastDate2();\n  }, [])\n\n  useEffect(() => {\n    lastDate2();\n    setPrognose_data(lastData)\n     forecasts_new(1, lastData);\n  }, [lastData])\n\n  useEffect(() => {\n      lastDate2();\n     forecasts_R0(lastData);\n  }, [lastData])\n\n  const [openSEIRHCD, setOpenSEIRHCD] = useState(false);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      x: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      x: -100,\n   },\n  }\n\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n  return (\n    <>\n    <Card className=\" mx-auto\" border=\"light\" bg=\"light\">\n    <Row >\n      <Col md={2}  className=\"text-center\">\n      <Row >\n        <Col xs= {12}  lg={12}>    <Button\n              variant=\"outline-primary\"\n              className=\"bg-white text-primary  shadow1 my-2 mx-2\"\n              onClick={() => setOpenSEIRHCD(!openSEIRHCD)}\n            > {openSEIRHCD? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Description of the model\n            </Button></Col>\n        <Col xs= {12} lg={12} className=\"mx-2\">\n        <OverlayTrigger\n          rootClose={true}\n           placement=\"bottom\"\n           ref={(ref) => this.overlay = ref}\n           overlay={\n             <Popover className=\"shadow1\">\n               <Popover.Body>\n               <div align=\"center\" className=\"text-black\">\n               Mathematical modeling and forecasting of COVID-19 in Moscow and Novosibirsk region</div>\n               <small  align=\"center\" className=\"text-success\"><div>O.I. Krivorotko</div>\n               <div>S.I. Kabanikhin</div>\n                <div>N.Y. Zyatkov</div>\n                  <div>A.Y. Prikhodko</div>\n                    <div>N.M. Prokhoshin</div>\n                    <div>M.A. Shishlenin</div>\n                    </small>\n               </Popover.Body>\n             </Popover>\n           }>\n        <a href=\"https://ai-biolab.ru/data/papers/1_Krivorotko_et_al_COVID-19_in_Moscow_and_NSO.pdf\"><Button variant=\"link\" onClick={(e)=>{\n        document.body.click(e)\n        this.overlay.hide()\n      }}><BsFillArrowUpRightSquareFill size={30}/></Button></a></OverlayTrigger>\n      <OverlayTrigger\n        rootClose={true}\n         placement=\"bottom\"\n         ref={(ref) => this.overlay = ref}\n         overlay={\n           <Popover className=\"shadow1\">\n             <Popover.Body>\n             <div align=\"center\" className=\"text-black\">\n             Sensitivity and identifiability analysis of mathematical models of the spread of the COVID-19 epidemic</div>\n             <small  align=\"center\" className=\"text-success\"><div>O.I. Krivorotko</div>\n             <div>S.I. Kabanikhin</div>\n              <div>M.I. Sosnovskaya</div>\n                <div>D.V. Andornaya.</div>\n                  </small>\n             </Popover.Body>\n           </Popover>\n         }>\n        <a href=\"https://ai-biolab.ru/data/papers/2_Krivorotko_et_al_COVID-19_Identifiability.pdf\"><Button variant=\"link\" onClick={(e)=>{\n        document.body.click(e)\n        this.overlay.hide()\n      }}><BsFillArrowUpRightSquareFill size={30}/></Button></a></OverlayTrigger>\n      <OverlayTrigger\n        rootClose={true}\n         placement=\"bottom\"\n         ref={(ref) => this.overlay = ref}\n         overlay={\n           <Popover className=\"shadow1\">\n             <Popover.Body>\n             <div align=\"center\" className=\"text-black\">\n             Forecasting Recessions in the US Economy Using Machine Learning Methods</div>\n             <small  align=\"center\" className=\"text-success\">\n             <div>Nikolay Zyatkov</div>\n             <div>Olga Krivorotko</div></small>\n             </Popover.Body>\n           </Popover>\n         }>\n        <a href=\"https://ieeexplore.ieee.org/document/9588678/authors#authors\"><Button variant=\"link\" onClick={(e)=>{\n        document.body.click(e)\n        this.overlay.hide()\n      }}><BsFillArrowUpRightSquareFill size={30}/></Button></a></OverlayTrigger>\n                    </Col>\n                    </Row>\n    </Col>\n    <Col md={10} >\n    <Card className=\"my-3 shadow1\"><p align=\"justify\" className=\"mx-3 my-1\"><small></small></p> </Card>\n<div className=\"mx-2\"><hr /></div>\n</Col>\n  </Row>\n  <Collapse in={openSEIRHCD}>\n  <div id=\"example-collapse-text\" className=\"my-2\">\n    <Description_SEIRHCD_En />\n    </div>\n  </Collapse>\n    <OverlayTrigger\n       placement=\"bottom\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n           <div align=\"justify\" className=\"text-black\">\n           <small>The scenario of the spread of COVID-19 in the region for 7 days, provided that current restrictions and the level of vaccination on the day of infection are maintained.</small></div>\n           </Popover.Body>\n         </Popover>\n       }>\n\n    <Button variant=\"outline-info\" className=\"mx-3 my-2 bg-white\" onClick={() => setOpenBS(!openBS)}\n      aria-controls=\"example-fade-text\"\n      aria-expanded={openBS}>\n     {openBS? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} The basic scenario</Button>\n     </OverlayTrigger>\n     <Collapse in={openBS}>\n       <div id=\"example-collapse-text\">\n\n       <Row>\n       <Col xs={12} md={4}>\n       <motion.div initial=\"hidden\"\n          custom={2}\n         variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n       <ListGroup className = \"mx-3 shadow1 my-1\">\n       <ListGroup.Item align=\"left\" className=\"bg-secondary text-secondary\">.\n        </ListGroup.Item>\n      <ListGroup.Item variant=\"light\">\n     <Row>\n      <Col xs={12} md={12} sm={12} lg={4}>\n      <Stack gap={0}>\n    <div > <p align=\"left\" className=\"my-1 text-black text-small\"><small>Forecast date</small></p></div>\n    <div > <p align=\"left\" className=\"my-4 text-black text-small\"><small>Forecast</small></p></div>\n      </Stack>\n     </Col>\n     <Col xs={12} md={12} sm={12} lg={8}>\n     <Formik\n         >\n           {({ handleSubmit, handleChange, handleBlur, values, touched, isValid, errors, resetForm, setFieldValue}) => (\n   <Form noValidate >\n     <Stack gap={3}>\n         <Form.Select key={1} aria-label=\"Default select example\"\n           type=\"number\"\n           name=\"data\"\n           onChange={(e) => {\n             const selected = e.target.value;\n             setPrognose_data(selected)\n             forecasts_new(prognose_type, selected)\n             forecasts_R0(selected)\n           }}\n           >\n           {dates2.map((dates, index) =>\n               <OptionItem key = {index} dates = {dates}/>\n           )}\n         </Form.Select>\n         <Form.Select key={2} aria-label=\"Default select example\"\n           type=\"number\"\n           name=\"type\"\n           onChange={(e) => {\n             const selectedType = e.target.value;\n             let stype = Number(selectedType)\n             setPrognose_type(stype, prognose_data)\n             forecasts_new(stype, prognose_data)\n           }}>\n               <option value=\"1\">New cases identified</option>\n               <option value=\"2\">Critically ill, C</option>\n               <option value=\"3\">The deceased, D</option>\n         </Form.Select>\n     </Stack>\n     </Form>\n   )}\n\n </Formik>\n     </Col>\n   </Row>\n   </ListGroup.Item>\n   </ListGroup>\n</motion.div>\n   </Col>\n   <Col xs={12} md={8}>\n   <Row >\n   <Col  xs={12} sm={12} md={12} lg={8}>\n </Col>\n   <Col xs={12} sm={12} md={12} lg={4}>\n   <motion.div initial=\"hidden\"\n      custom={1}\n     variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n   <OverlayTrigger\n    placement=\"left\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n     <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n     </OverlayTrigger>\n   <OverlayTrigger\n    placement=\"left\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n     <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n     </OverlayTrigger>\n     <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1 align-right\" onClick={(e) => {\n         forecasts_new(prognose_type, prognose_data)\n     }}><BsZoomOut/></Button>\n     <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={(e)=>download_chart(e, \"chart2\")}><FiDownload/></Button>\n     </motion.div>\n   </Col>\n   </Row>\n<div style={{ height: '20rem' }}><Bar id=\"chart2\" options={chartOptions_pred} data={chartData_pred} height=\"90%\" /></div>\n   </Col>\n </Row>\n <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3\"><hr />\n  <h4 className=\"mx-5 text-secondary\">Current model parameters and their confidence interval</h4></motion.div>\n <Row className=\"mx-5 my-3\">\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\"  className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Infection parameter between asymptomatic <i>E(t)</i> and receptive <i>S(t)</i> by population groups</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\"text-success\"><h1 align='center' style={{fontSize:\"80px\", align:\"left\"}}>{'\\u03B1'}<sub style={{fontSize:\"25px\"}}>e</sub></h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >average <b className=\"text-black\"><h5>{ae_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{ae}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={3}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\" className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">The infection parameter between the infected <i>I(t)</i> and a receptive population<i>S(t)</i>, which is related to the contagiousness of the virus and social factors</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\"text-success\"><h1 align='center' style={{fontSize:\"80px\"}}>{'\\u03B1'}<sub style={{fontSize:\"25px\"}}>i</sub></h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >average <b className=\"text-black\"><h5>{ai_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{ai}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={4}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\"  className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Percentage of hospitalized cases <i>H(t)</i>, those in critical condition and requiring the connection of a ventilator\n</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\" text-success\"><h1 align='center' className=\"\" style={{fontSize:\"80px\"}}>{'\\u03B5'}<sub style={{fontSize:\"25px\"}}>hc</sub></h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >average <b className=\"text-black\"><h5>{ehc_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{ehc}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n <Col xs= {12} md={6} lg={3}>\n <motion.div initial=\"hidden\"\n      custom={4}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n <Card border=\"light\"  className=\"shadow1\">\n   <Card.Body>\n   <OverlayTrigger\n    placement=\"bottom\"\n    overlay={\n      <Popover>\n        <Popover.Body>\n         <div className=\"text-success\">Mortality as a result of COVID-19</div>\n        </Popover.Body>\n      </Popover>\n    }\n    >\n   <Row>\n    <Col sm={6} md={6} xs={6} lg={6}>\n  <Card.Title className=\"text-success\"><h1 align='center' style={{fontSize:\"80px\"}}>{'\\u03BC'}</h1></Card.Title>\n    </Col>\n    <Col sm={6} md={6} xs={6} lg={6}><Card.Text className=\"\">\n    <Stack className=\"\">\n    <small>\n    <div className=\"text-muted\" >average <b className=\"text-black\"><h5>{m_mean}</h5></b></div>\n    <div className=\"text-muted\">std <b className=\"text-black\"><h5>{m}</h5></b></div> </small>\n  </Stack>\n    </Card.Text></Col>\n  </Row></OverlayTrigger>\n   </Card.Body>\n </Card></motion.div></Col>\n</Row>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"mx-3\"><hr />\n <h4 className=\"mx-5 text-secondary\">The basic COVID-19 reproduction index in the Novosibirsk region and the forecast</h4>\n </motion.div>\n <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n <Container className=\"mx-2\">\n <Row >\n <Col  xs={12} sm={12} md={12} lg={8}>\n</Col>\n <Col xs={12} sm={12} md={12} lg={4}>\n <OverlayTrigger\n  placement=\"left\"\n  overlay={\n    <Popover>\n      <Popover.Body>\n       <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n      </Popover.Body>\n    </Popover>\n  }\n  >\n   <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n   </OverlayTrigger>\n <OverlayTrigger\n  placement=\"left\"\n  overlay={\n    <Popover>\n      <Popover.Body>\n       <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n      </Popover.Body>\n    </Popover>\n  }\n  >\n   <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n   </OverlayTrigger>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={(e)=>{forecasts_R0(prognose_data)}}><BsZoomOut/></Button>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart9\")}><FiDownload/></Button>\n </Col>\n </Row>\n</Container>\n<div>\n<Container style={{ height: '20rem' }}>\n  <Line id=\"chart9\" options={chartOptions_bsR0} data={chartData_bsR0} height=\"75%\" />\n</Container></div>\n</motion.div>\n       </div>\n     </Collapse>\n     <OverlayTrigger\n        placement=\"bottom\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n            <div align=\"justify\" className=\"text-black\">\n            <small>The result of the implementation of the SER-HD model of COVID-19 distribution in the region with calibrated model parameters for each 14-day time interval.</small></div>\n            </Popover.Body>\n          </Popover>\n        }>\n    <Button variant=\"outline-info\" className=\"mx-3 my-2 bg-white\" onClick={() => setOpenM(!openM)}\n      aria-controls=\"example-fade-text\"\n      aria-expanded={openM}>\n    {openM? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Modeling</Button>\n    </OverlayTrigger>\n    <Collapse in={openM}>\n      <div id=\"example-collapse-text\">\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <h4 className=\"mx-5 my-2 text-secondary\">SEIRHCD curves and real data</h4> </motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n        <Nav.Item >\n        <Button className=\"mx-3\" size=\"sm\" variant=\"outline-info\" onClick={(e) => {\n          res_train(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\")}} style={{color:\"#FFFFFF\"}}>\n          <Nav.Link eventKey=\"1\">New cases identified</Nav.Link>\n        </Button>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Receptive</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_train(\"S_mean\", \"S_max\", \"S_min\", \"\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"2\"><b>S</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Patients without symptoms</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"E_mean\", \"E_max\", \"E_min\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"3\"><b>E</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Patients with symptoms</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"I_mean\", \"I_max\", \"I_min\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"4\"><b>I</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Cured</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"R_mean\", \"R_max\", \"R_min\", \"cum_recoveries\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"5\"><b>R</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Hospitalized</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e)=>{res_train(\"H_mean\", \"H_max\", \"H_min\", \"hospitalised\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"6\"><b>H</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Critically ill</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e)=>{res_train(\"C_mean\", \"C_max\", \"C_min\", \"n_critical\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"7\"><b>C</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               The deceased</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e)=>{res_train(\"D_mean\", \"D_max\", \"D_min\", \"cum_deaths\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"8\"><b>D</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n      </Nav></motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Row >\n      <Col  xs={12} sm={12} md={12} lg={8}>\n     </Col>\n      <Col xs={12} sm={12} md={12} lg={4}>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n        </OverlayTrigger>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n        </OverlayTrigger>\n\n        <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart4\")}><FiDownload/></Button>\n      </Col>\n      </Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart4\" options={chartOptionsSEIRHCD} data={chartDataSEIRHCD} height=\"90%\" /></Container></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}} className=\"mx-3\"><hr />\n       <h4 className=\"mx-5 text-secondary\">The basic COVID-19 reproduction index in the Novosibirsk region</h4></motion.div>\n       <motion.div initial=\"hidden\"\n            custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n       <Row >\n       <Col  xs={12} sm={12} md={12} lg={8}>\n      </Col>\n       <Col xs={12} sm={12} md={12} lg={4}>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n         </OverlayTrigger>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n         </OverlayTrigger>\n          <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_trainR0}><BsZoomOut/></Button>\n         <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart5\")}><FiDownload/></Button>\n       </Col>\n       </Row>\n       <Container style={{ height: '20rem' }}><Line id=\"chart5\" options={chartOptionsTrain} data={chartDataTrain} height=\"100%\" /></Container></motion.div>\n       <motion.div initial=\"hidden\"\n            custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n       <hr />\n       <h4 className=\"mx-5 text-secondary\">Restored parameters of the COVID-19 model for the Novosibirsk region</h4></motion.div>\n       <motion.div initial=\"hidden\"\n            custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n       <Row >\n       <Col  xs={12} sm={12} md={12} lg={8}>\n      </Col>\n       <Col xs={12} sm={12} md={12} lg={4}>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n         </OverlayTrigger>\n       <OverlayTrigger\n        placement=\"left\"\n        overlay={\n          <Popover>\n            <Popover.Body>\n             <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n            </Popover.Body>\n          </Popover>\n        }\n        >\n         <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n         </OverlayTrigger>\n          <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_trainP}><BsZoomOut/></Button>\n         <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart8\")}><FiDownload/></Button>\n       </Col>\n       </Row>\n       <Container style={{ height: '20rem' }}><Line id=\"chart8\" options={chartOptions_pm} data={chartData_pm} height=\"90%\" /></Container>\n       </motion.div>\n      </div>\n    </Collapse>\n    <OverlayTrigger\n       placement=\"bottom\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n           <div align=\"justify\" className=\"text-black\">\n           <small>The result of validation of the SAR-HCD model of COVID-19 spread in the region: according to the calibrated parameters for the previous 14-day period, a 7-day baseline scenario is implemented, which is compared with real data.</small></div>\n           </Popover.Body>\n         </Popover>\n       }>\n    <Button variant=\"outline-info\" className=\"mx-3 my-2 bg-white\" onClick={() => setOpenV(!openV)}\n      aria-controls=\"example-fade-text\"\n      aria-expanded={openV}>\n    {openV? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Validation of the model</Button>\n    </OverlayTrigger>\n    <Collapse in={openV}>\n      <div id=\"example-collapse-text\">\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <h4 className=\"mx-5 my-2 text-secondary\">SEIRHCD curves and real data</h4></motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n        <Nav.Item >\n        <Button className=\"mx-3\" size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"fk_mean\", \"fk_max\", \"fk_min\", \"new_diagnoses\")}} style={{color:\"#FFFFFF\"}}>\n          <Nav.Link eventKey=\"1\">New cases identified</Nav.Link>\n        </Button>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Receptive</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"S_mean\", \"S_max\", \"S_min\", \"\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"2\"><b>S</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Patients without symptoms</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"E_mean\", \"E_max\", \"E_min\", \"new_diagnoses\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"3\"><b>E</b></Nav.Link>\n          </Button>\n          </OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Patients with symptoms</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"I_mean\", \"I_max\", \"I_min\", \"new_diagnoses\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"4\"><b>I</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Cured</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"R_mean\", \"R_max\", \"R_min\", \"cum_recoveries\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"5\"><b>R</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Hospitalized</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\" onClick={(e) => {res_valid(\"H_mean\", \"H_max\", \"H_min\", \"hospitalised\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"6\"><b>H</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               Critically ill</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e) => {res_valid(\"C_mean\", \"C_max\", \"C_min\", \"n_critical\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"7\"><b>C</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n        <Nav.Item>\n        <OverlayTrigger\n           placement=\"bottom\"\n           overlay={\n             <Popover>\n               <Popover.Body>\n               <div align=\"center\" className=\"text-info\">\n               The deceased</div>\n               </Popover.Body>\n             </Popover>\n           }>\n        <Button  size=\"sm\" variant=\"outline-info\"  onClick={(e) => {res_valid(\"D_mean\", \"D_max\", \"D_min\", \"cum_deaths\")}} className=\"mx-1\">\n          <Nav.Link eventKey=\"8\"><b>D</b></Nav.Link>\n          </Button></OverlayTrigger>\n        </Nav.Item>\n      </Nav> </motion.div>\n      <motion.div initial=\"hidden\"\n           custom={2}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n      <Row >\n      <Col  xs={12} sm={12} md={12} lg={8}>\n    </Col>\n      <Col xs={12} sm={12} md={12} lg={4}>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n        </OverlayTrigger>\n      <OverlayTrigger\n       placement=\"left\"\n       overlay={\n         <Popover>\n           <Popover.Body>\n            <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n           </Popover.Body>\n         </Popover>\n       }\n       >\n        <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n        </OverlayTrigger>\n        <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart6\")}><FiDownload/></Button>\n      </Col>\n      </Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart6\"options={chartOptionsSEIRHCD_v} data={chartDataSEIRHCD_v} height=\"90%\" /></Container></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}> <hr />\n<h4 className=\"mx-5 text-secondary\">The basic COVID-19 reproduction index in the Novosibirsk region</h4></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n<Row >\n<Col  xs={12} sm={12} md={12} lg={8}>\n</Col>\n<Col xs={12} sm={12} md={12} lg={4}><OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n  </OverlayTrigger>\n<OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n  </OverlayTrigger>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_validR0}><BsZoomOut/></Button>\n  <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart3\")}><FiDownload/></Button>\n</Col>\n</Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart3\" options={chartOptions} data={chartData} height=\"90%\" /></Container></motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}> <hr />\n<h4 className=\"mx-5 text-secondary\">Restored parameters of the COVID-19 model for the Novosibirsk region</h4> </motion.div>\n<motion.div initial=\"hidden\"\n     custom={2}\n    variants={variants2} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n<Row >\n<Col  xs={12} sm={12} md={12} lg={8}>\n</Col>\n<Col xs={12} sm={12} md={12} lg={4}>\n<OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n  </OverlayTrigger>\n<OverlayTrigger\n placement=\"left\"\n overlay={\n   <Popover>\n     <Popover.Body>\n      <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n     </Popover.Body>\n   </Popover>\n }\n >\n  <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n  </OverlayTrigger>\n   <Button variant=\"outline-secondary\" size=\"sm\" className=\"mx-1\" onClick={res_validP}><BsZoomOut/></Button>\n  <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e, \"chart7\")}><FiDownload/></Button>\n</Col>\n</Row>\n<Container style={{ height: '20rem' }}><Line id=\"chart7\" options={chartOptions_p} data={chartData_p} height=\"90%\" /></Container></motion.div>\n      </div>\n    </Collapse>\n    </Card>\n    </>\n  )\n}\nexport default ModelingSEIR_HCD_En;\n","import React, {useState} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Stack} from 'react-bootstrap';\n\n\nfunction CovidDataFiles_En(files) {\n\n  const [isActive, setIsActive] = useState(true)\n\n  return (\n      <a href={files.file.hr} style={{'textDecoration': 'none'}}>\n        <div className={isActive ? '' : 'bg-light '}  onMouseEnter = {()=>{setIsActive(false)}}\n          onMouseLeave={()=>{setIsActive(true)}}>\n          <Row>\n            <Stack direction=\"horizontal\" gap={3}>\n              <Col lg={8} md={8} xs={8} sm={8}>\n                <Stack direction=\"horizontal\" gap={3}>\n                  <div>\n                    <Image variant=\"top\" style={{ width: '3rem' }, {height: '3rem'}} className=\"my-1\"\n                    src={files.file.img}\n                    rounded\n                    fluid/>\n                  </div>\n                  <div><small>{files.file.name}</small></div>\n                </Stack>\n              </Col>\n              <Col lg={4} md={4} xs={4} sm={4}>\n                <div>\n                  <Button variant=\"link\" className=\"text-secondary\">\n                    <small>Download csv</small>\n                  </Button>\n                </div>\n              </Col>\n            </Stack>\n          </Row>\n      </div>\n      </a>\n  )\n}\nexport default CovidDataFiles_En;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamCSV_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>the official total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>A total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>the current number of adult patients diagnosed with and suspected of COVID-19 in infectious diseases hospitals</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>A total of cases of coronavirus infection in children have been recorded since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>new number of infected children</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>the current number of hospitalized children with suspected coronavirus and a confirmed diagnosis</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>the current number of people in intensive care units</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>the current number of people on a ventilator</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>hospitalised:</small></div>\n              <div className=\"\"><small>the current number of people hospitalized</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>1vac:</small></div>\n              <div className=\"\"><small>the current number of people who received one dose of the vaccine</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>2vac:</small></div>\n              <div className=\"\"><small>the current number of people who received two doses of the vaccine</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>positive_percent:</small></div>\n              <div className=\"\"><small>the proportion of infected people with IgG antibodies to SARS-CoV-2</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>yandex_index:</small></div>\n              <div className=\"\"><small>self-isolation index</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>asympt_percent:</small></div>\n              <div className=\"\"><small>the current percentage of asymptomatic cases detected</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>the official total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>A total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>the current number of adult patients diagnosed with and suspected of COVID-19 in infectious diseases hospitals</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>A total of cases of coronavirus infection in children have been recorded since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>the current number of hospitalized children with suspected coronavirus and a confirmed diagnosis</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>new number of infected children</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>the current number of people in intensive care units</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>the current number of people on a ventilator</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamCSV_En;\n","import React, {useState} from \"react\";\nimport {Container, Card, Image, Col, Row, Table, Modal, Button, Popover, OverlayTrigger, Stack} from 'react-bootstrap';\nimport fblok from \"./../images/fblok.png\"\nimport model from \"./../images/model.png\"\nimport sblok from \"./../images/sblok.png\"\nimport { motion } from \"framer-motion\"\nimport CovidDataFiles_En from './CovidDataFiles_En'\nimport CollapseParamCSV_En from './CollapseParamCSV_En'\nimport AltayG from \".././images/gerbs/Altay_region_gerb.png\"\nimport OmskG from \".././images/gerbs/Omsk_region_gerb.png\"\nimport HSKG from \".././images/gerbs/Novosibirsk_region_gerb.png\"\n\n\nimport {BsFillPersonLinesFill} from 'react-icons/bs'\n\nconst Description_AOM_En = () => {\n\n  const [show, setShow] = useState(false);\n  const handleClose = () => setShow(false);\n  const handleShow = () => setShow(true)\n  const [show1, setShow1] = useState(false);\n  const handleClose1 = () => setShow1(false);\n  const handleShow1 = () => setShow1(true);\n\n  const files = [\n    {id: 1, name: 'Novosibirsk region', hr: 'https://ai-biolab.ru/data/novosibirsk-region-data.csv', img: HSKG },\n    {id: 2, name: 'Omsk region', hr: 'https://ai-biolab.ru/data/omsk-region-data.csv', img: OmskG},\n    {id: 3, name: 'Altai Territory', hr: 'https://ai-biolab.ru/data/altay-region-data.csv', img: AltayG},\n  ]\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: -100,\n   },\n  }\n\n    return (\n      <>\n      <Row >\n         <Col sm={12} xs={12} md={12} lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border mx-3 my-1 shadow1\">\n           <Card.Header className=\"text-success\">1. Population initiation</Card.Header>\n           <Card.Body>\n           <p align=\"justify\"><small >Four contact structures are being formed, in which agents can be located depending on the age of 0-9,10-19, ..., 80+ years.</small></p>\n           <Image\n           src={fblok}\n           rounded\n           fluid\n           onClick={handleShow1}\n           />\n           <Modal show={show1} onHide={handleClose1} animation={true}>\n           <Image\n           src={fblok}\n           rounded\n           fluid\n           />\n            </Modal>\n           </Card.Body></Card> </motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border mx-3 my-1 shadow1\">\n             <Card.Header className=\"text-white bg-success\">2. Infection</Card.Header>\n             <Card.Body align=\"justify\">\n             <div><small> It is assumed that the virus is transmitted between agents connected by an edge of the graph. Infection in close contact is described by a piecewise constant parameter <i className=\"text-danger\">{'\\u03B2'}</i>.</small></div>\n             <div className=\"my-3\"><Image\n             src={sblok}\n             rounded\n             fluid\n\n             /></div>\n                <div><small><div className=\"text-success\">Example:</div> Households are filled in by agents according to statistical data on\n           the average family size in the region.</small></div>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n             <Card className=\"border shadow1 my-1 mx-3\">\n               <Card.Header className=\"text-center text-white bg-success\">Data</Card.Header>\n                 <Card.Body align=\"center\">\n                 <Stack gap={3}>\n                   {files.map((file) =>\n                       <CovidDataFiles_En key = {file.id} file = {file}/>\n                   )}\n                    <CollapseParamCSV_En/>\n                  </Stack>\n                 </Card.Body>\n               </Card></motion.div>\n           </Col>\n         <Col sm={12} xs={12} md={12}  lg={6}>\n         <motion.div  initial=\"hidden\" custom={1}\n           variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n         <Card className=\"border my-1 mx-3 shadow1\">\n           <Card.Header className=\"text-white bg-success\"><BsFillPersonLinesFill size={30}/>   Agent Parameters</Card.Header>\n           <Card.Body align=\"left\">\n           <Row >\n            <Col><div>Do not depend on time:</div>\n            <small>\n            <div>• age</div>\n            <div>• floor</div>\n            <div>• social status</div>\n            <div>• disease progression</div></small></Col>\n            <Col><div>Depend on the time:</div>\n            <small>\n            <div>• epid. status:</div>\n            <div>𝑆, 𝐸, 𝐼, 𝑅, 𝐻, 𝐶, 𝐷, 𝐴, 𝑀<OverlayTrigger\n               placement=\"bottom\"\n               overlay={\n                 <Popover>\n                   <Popover.Body>\n                   <small className=\"text-success\">\n                     <div>S – susceptible to infection</div>\n                     <div>E – infected non-contagious</div>\n                     <div>𝐼 – infected</div>\n                     <div>R – cured</div>\n                     <div>H – hospitalized</div>\n                     <div>C – patients in critical condition</div>\n                     <div>D – the deceased</div>\n                     <div>A - asymptomatic patients</div>\n                     <div>M -  patients in mild form</div> </small>\n                   </Popover.Body>\n                 </Popover>\n               }>\n              <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                </OverlayTrigger>\n            </div>\n            <div>• a chance to be tested</div>\n            </small></Col>\n          </Row>\n          <div align=\"justify\"><small>Depending on the age of the agents\n          they contact each other in contact networks, which are fully connected graphs.</small></div>\n           </Card.Body></Card></motion.div>\n           <motion.div  initial=\"hidden\" custom={1}\n             variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n           <Card className=\"border shadow1 my-1 mx-3\">\n             <Card.Header className=\"text-success\">3. Disease progression</Card.Header>\n             <Card.Body>\n             <Image\n\n             src={model}\n             rounded\n             fluid\n             onClick={handleShow}\n             />\n             <Modal show={show} onHide={handleClose} animation={true}>\n             <Image\n\n             src={model}\n             rounded\n             fluid\n             />\n              </Modal>\n             </Card.Body></Card></motion.div>\n             <motion.div  initial=\"hidden\" custom={1}\n               variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n             <Card className=\"border my-1 shadow1 mx-3\">\n               <Card.Header className=\"text-success bg-light\">4. Agent Testing</Card.Header>\n               <Card.Body align=\"justify\">\n               <div><small>It is conducted according to daily statistics on the number of tests performed in the region. The chance to be tested\nfor COVID-19<i>{'\\u03C1'}</i> It depends on the epidemiological status of the agent and is determined during the solution of the inverse problem. \nAgents whose status is outlined in an orange frame can receive a positive result. The model assumes that the probability\nof testing agents with symptoms is higher than in asymptomatic patients.</small></div>\n\n               </Card.Body></Card></motion.div>\n               <motion.div  initial=\"hidden\" custom={1}\n                 variants={variants} whileInView=\"visible\" viewport={{amount: 0.1}}>\n               <Card className=\"border shadow1 my-1 mx-3\">\n                 <Card.Header className=\"text-white bg-success\">5. Introduction of epidemic containment measures</Card.Header>\n                 <Card.Body align=\"justify\">\n                   <div><small>In the model, it is possible to introduce quarantine measures for all contact layers, as well as for each one individually.\n    This can be done in two ways: either by changing the value of the virus contagiousness parameter <i className=\"text-danger\">{'\\u03B2'}</i> (in the case of the introduction of a mandatory measure of wearing masks or social distancing), or by removing edges in the graphs of contact networks (in the case of self-isolation\n    and remote work).</small></div>\n\n                 </Card.Body></Card></motion.div>\n           </Col>\n       </Row>\n      </>\n    )\n}\n\nexport default Description_AOM_En;\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Form, ListGroup, FormControl, Stack,\nOverlayTrigger, Popover, InputGroup, ProgressBar, Spinner, Tabs, Tab, Collapse, Carousel, Alert, Modal, ButtonGroup,\nDropdownButton, Dropdown} from 'react-bootstrap';\n//import { CLoadingButton } from '@coreui/react-pro'\nimport axios from \"axios\"\nimport FileDownload from \"js-file-download\"\nimport { Formik } from \"formik\";\nimport * as yup from \"yup\";\nimport {FiDownload } from 'react-icons/fi'\nimport {BsFillFileEarmarkPdfFill, BsFillArrowUpRightSquareFill, BsFillCaretRightFill, BsFillCaretDownFill,\nBsFillPersonLinesFill, BsExclamationLg, BsInfo} from 'react-icons/bs'\n//import {FcSearch} from 'react-icons/fc'\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport {BsZoomIn} from 'react-icons/bs'\nimport { motion } from \"framer-motion\"\n\n//import { DownloadCount } from 'axios-progress-bar'\n\nimport ModelingSEIR_HCD_En from './ModelingSEIR_HCD_En'\nimport Description_AOM_En from './Components/Description_AOM_En'\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\n\nimport Footer_En from './Components/Footer_En'\n\nimport {\n  Chart as ChartJS,\n  PointElement,\n  Filler,\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n} from 'chart.js';\n\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\n\n\nChartJS.register(\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n  PointElement,\n  Filler,\n);\n\nChartJS.register(zoomPlugin);\n\n\n\nconst download_article=(e)=>{\n   e.preventDefault()\n   axios({\n     url:\"https://server.ai-biolab.ru/article\",\n     method: \"GET\",\n     responseType:\"blob\"\n   }).then((resA)=>{\n     FileDownload(resA.data, \"article.pdf\")\n   })\n}\n\nconst schema = yup.object().shape({\n  population: yup.number().min(1000000).max(8000000).typeError(\"A numeric value is required\").required(\"required field\"),\n  n_future: yup.number().min(10).max(100).typeError(\"A numeric value is required\").required(\"required field\"),\n  init_infected: yup.number().min(10).max(100).typeError(\"A numeric value is required\").required(\"required field\"),\n});\n\nexport function Modeling_En(){\n\n  const [population_data, setPopulation_data] = useState(2798170)\n  const [region_data, setRegion_data] = useState(1)\n  const [region_name, setRegion_name] = useState(\"Novosibirsk region\")\n  const [n_future_day, setN_future_day] = useState(45)\n  const [init_inf, setInit_inf] = useState(20)\n\n  const download_chart=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const cancelToken = useRef();\n\n  const run_msim_ = (e) => {\n    e.preventDefault()\n    var now = new Date().toLocaleDateString();\n    setWithspinner(true)\n    setIsrunning(true)\n    cancelToken.current = axios.CancelToken.source();\n  axios({\n      url:'https://server.ai-biolab.ru/data',\n      method: \"POST\",\n      responseType:\"blob\",\n      data: {population_data, region_data, n_future_day, init_inf},\n      cancelToken: cancelToken.current.token\n    }).then((res)=>{\n         setWithspinner(false)\n         setIsrunning(false)\n         initchart()\n      })\n  }\n\n   const break_get = () => {\n     setWithspinner(false)\n     setIsrunning(false)\n     cancelToken.current.cancel();\n   }\n\n    const [chartData_all, setChartData_all] = useState({\n      datasets: [],\n    })\n    const [initchartData_all, setINITChartData_all] = useState({\n      datasets: [],\n    })\n    const [chartOptions, setChartOptions] = useState({})\n    const [isrunning, setIsrunning] = useState(false)\n\n    let cov_data = [];\n    let cov_nd = [];\n    let cov_nd_high = []\n    let cov_nd_state=[];\n    let cov_data_state=[];\n    const [data, setData] = useState(cov_data)\n    const [data_cov_nd_high, setData_cov_nd_high] = useState(cov_nd_high)\n    const [data_cov_nd, setData_cov_nd] = useState(cov_nd)\n\n    let cov_cum_diag = [];\n    let cov_cum_diag_high = [];\n    const [data_cov_cum_diag_high, setData_cov_cum_diag_high] = useState(cov_cum_diag_high)\n    const [data_cov_cum_diag, setData_cov_cum_diag] = useState(cov_cum_diag)\n\n    let cov_new_death= [];\n    let cov_new_death_high = [];\n    const [data_cov_new_death_high, setData_cov_new_death_high] = useState(cov_new_death_high)\n    const [data_new_death, setData_cov_new_death] = useState(cov_new_death)\n\n    let cov_new_rec= [];\n    let cov_new_rec_high = [];\n    const [data_cov_new_rec_high, setData_cov_new_rec_high] = useState(cov_new_rec_high)\n    const [data_new_rec, setData_cov_new_rec] = useState(cov_new_rec)\n\n    let cov_new_crit= [];\n    let cov_new_crit_high = [];\n    const [data_cov_new_crit_high, setData_cov_new_crit_high] = useState(cov_new_crit_high)\n    const [data_new_crit, setData_cov_new_crit] = useState(cov_new_crit)\n\n\n    const [someerrors, setSomeerrors] = useState(false)\n    const [loadingprosses, setLoadingprosses] = useState(true)\n    const [chartnum, setChartnum] = useState(1)\n    //1-5 - chart\n    //6-10 - init chart\n\n    const real_data1=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"average forecast\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"maximum forecast\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data2=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.001,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data3=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data4=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"average forecast\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"maximum forecast\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data5=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"average forecast\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n    const real_data6=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"average forecast\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"maximum forecast\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data7=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data8=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data9=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"average forecast\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"maximum forecast\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data10=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"average forecast\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n\n    const initchart = () => {\n      setChartnum(6)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n              {\n              label: \"maximum forecast\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n          ],\n          });\n          setChartOptions({\n             maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"The forecast of new infections\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n          setnewChart(false)\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_cumdiag = () => {\n      setChartnum(7)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Forecast of the total number of infections\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_newdeath = () => {\n      setChartnum(8)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of fatal outcomes\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_rec = () => {\n      setChartnum(9)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of new cases of recovery\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_crit = () => {\n      setChartnum(10)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of the number of patients in critical condition\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    const chart = () => {\n      setChartnum(1)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          setLoadingprosses(false)\n          setSomeerrors(false)\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {\n                     enabled: true\n                   },\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"The forecast of new cases of infection\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                position: \"top\",\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          setLoadingprosses(false)\n          setSomeerrors(true)\n          console.log(err);\n        });\n    };\n    const chart_cumdiag = () => {\n      setChartnum(2)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Forecast of the total number of infections\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_newdeath = () => {\n      setChartnum(3)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of fatal outcomes\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_rec = () => {\n      setChartnum(4)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of new cases of recovery\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_crit = () => {\n      setChartnum(5)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of the number of patients in critical condition\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    useEffect(() => {\n      real_data1();\n    }, [])\n\n    useEffect(() => {\n      chart();\n    }, [])\n\n  const [withspinner, setWithspinner] = useState(false)\n  const [newChart, setnewChart] = useState(true) /////true\n  const [open, setOpen] = useState(false);\n  const [reset, setReset] = useState(true);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      x: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      x: -100,\n   },\n  }\n\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n  return(\n  <>\n   <NaviBarv2_En />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n        <Tabs  justify defaultActiveKey=\"AOM\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"AOM\" title=\"The agent-based model\">\n          <Card className=\"text-center mx-auto\" border=\"light\" bg=\"light\">\n          <Row >\n            <Col md={2} >\n            <Row >\n              <Col xs= {12}  lg={12}>    <Button\n                    variant=\"outline-primary\"\n                    className=\"bg-white shadow1 text-primary my-2 mx-2\"\n                    onClick={() => setOpen(!open)}\n                    aria-controls=\"example-fade-text\"\n                    aria-expanded={open}\n                  >  {open? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Description of the model\n                  </Button></Col>\n              <Col xs= {12} lg={12}>\n\n              <OverlayTrigger\n                rootClose={true}\n                 placement=\"bottom\"\n                 ref={(ref) => this.overlay = ref}\n                 overlay={\n                   <Popover className=\"shadow1\">\n                     <Popover.Body>\n                     <div align=\"center\" className=\"text-black\">\n                     Modeling scenarios for the spread of Covid-19 in the Republic of Kazakhstan based on the regularization of the agent model.</div>\n                     <small  align=\"center\" className=\"text-success\"><div>O.I. Krivorotko</div>\n                     <div>S.I. Kabanikhin</div>\n                      <div>M.A. Bektemesov</div>\n                        <div>M.I. Sosnovskaya</div>\n                          <div>A.V.Neverov</div></small>\n                     </Popover.Body>\n                   </Popover>\n                 }>\n                <Button variant=\"link\" onClick={(e)=>{\n                download_article(e)\n                document.body.click(e)\n                this.overlay.hide()\n                }}><BsFillFileEarmarkPdfFill size={30}/></Button>\n                  </OverlayTrigger>\n                  <OverlayTrigger\n                  rootClose={true}\n                     placement=\"bottom\"\n                     ref={(ref) => this.overlay = ref}\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                         <div align=\"center\" className=\"text-success\">\n                         <div><small>Publication in the journal Modeling of Infectious Diseases.</small></div>\n                         <div className=\"text-black\">Agent-based modeling of COVID-19 outbreaks in New York State and the United Kingdom: an algorithm for identifying parameters</div>\n                         <div><small>O.I. Krivorotko</small></div>\n                         <div><small>M.I. Sosnovskaya</small></div>\n                         <div><small>I.A. Vashchenko</small></div>\n                         <div><small>CliffKerr</small></div>\n                         <div><small>DanielLesnic</small></div>\n                    </div>\n                         </Popover.Body>\n                       </Popover>\n                     }>\n                    <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798\"><Button variant=\"link\" onClick={(e)=>{\n                    document.body.click(e)\n                    this.overlay.hide()\n                    }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                      </OverlayTrigger>\n                      <OverlayTrigger\n                      rootClose={true}\n                      ref={(ref) => this.overlay = ref}\n                         placement=\"bottom\"\n                         overlay={\n                           <Popover className=\"shadow1\">\n                             <Popover.Body>\n                             <div align=\"center\" className=\"text-success\">\n                             <div><small>Preprint 300 SB RAS, S.L.Sobolev Institute of Mathematics.</small></div>\n                             <div className=\"text-black\">Mathematical models of COVID-19 spread.</div>\n                              <div><small>O.I. Krivorotko</small></div>\n                              <div><small>S.I. Kabanikhin</small></div>\n                        </div>\n                             </Popover.Body>\n                           </Popover>\n                         }>\n                          <a href=\"https://arxiv.org/pdf/2112.05315.pdf\"><Button variant=\"link\" onClick={(e)=>{\n                          document.body.click(e)\n                          this.overlay.hide()\n                          }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                          </OverlayTrigger>\n                          </Col>\n                          </Row>\n          </Col>\n          <Col md={10} >\n        <Card className=\"my-3 shadow1\">  <p align=\"justify\" className=\"mx-3 my-1\"><small>Forecasting is carried out by means of an agent-based model for calculating scenarios for the dynamics of identified cases\nCOVID-19, which is based on the processing of incomplete epidemiological data and solving the inverse problem of restoring the parameters of the agent\nmodel based on the totality of available epidemiological data. The main tool for building a model is an open library <a href=\"https://docs.idmod.org/projects/covasim/en/latest/index.html\" >COVASIM</a>. </small></p></Card>\n<div className=\"mx-2\"><hr /></div>\n      </Col>\n        </Row>\n          <Collapse in={open}>\n            <div id=\"example-collapse-text\" className=\"my-2\">\n                <Description_AOM_En />\n            </div>\n          </Collapse>\n          <Row >\n            <Col sm={12} xs={12} md={12} lg={4}>\n            <motion.div initial=\"hidden\"\n               custom={1}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n              <ListGroup className = \"mx-3 my-1 shadow1\">\n              <OverlayTrigger\n               placement=\"right\"\n               overlay={\n                <Alert variant=\"danger\">\n                  <h6>Please do not refresh the page</h6>\n                  <small>when entering parameters and after starting the model, </small>\n                  <div><small>otherwise, the calculations will be interrupted</small></div>\n                </Alert>\n\n               }\n               >\n                <ListGroup.Item align=\"left\" className=\"bg-secondary text-white\">Simulation Parameters\n                <BsExclamationLg />\n\n                </ListGroup.Item>\n                </OverlayTrigger>\n                <ListGroup.Item variant=\"light\">\n                <Row >\n                  <Col sm={12} sm={12} xs={12} md={12} lg={7} >\n                  <Stack gap={0}>\n                  <div>\n                <Stack direction=\"horizontal\" gap={3}>\n                <div > <p align=\"left\" className=\"my-3 text-black text-small\"><small>Region</small></p></div>\n\n                    <div>\n                    <OverlayTrigger\n                     placement=\"right\"\n                     overlay={\n                       <Popover>\n                         <Popover.Body>\n                         The region for constructing a scenario for the development of the disease.\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                        <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                      </OverlayTrigger>\n                    </div>\n              </Stack>\n                  </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={2}>\n                  <div > <p align=\"left\" className=\"my-2 text-black text-small\"><small>Population size</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                       The number of human agents susceptible to the disease.\n                         <hr />\n                         <small className=\"text-muted\">from 1,000,000 to 8,000,000</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={0}>\n                  <div > <p align=\"left\" className=\" text-black text-small\"><small>Initially infected</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                       The number of people initially infected.\n                         <hr />\n                         <small className=\"text-muted\">from 10 to 100 people</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={3}>\n                  <div > <p align=\"left\" className=\" my-2 text-black text-small\"><small>Days of forecasting</small></p></div>\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                       How many days in advance is the scenario for the development of the disease being built?\n                        <hr />\n                        <small className=\"text-muted\">from 10 to 100 days</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                <Row >\n                      <Col sm={6}></Col>\n                      <Col sm={6}>  <Button variant=\"secondary\" align=\"end\" className=\" my-3 text-white shadow1\" disabled={!isrunning} onClick={break_get}>Abort</Button></Col>\n                </Row>\n                    </div>\n                  </Stack>\n              </Col>\n                  <Col sm={12} sm={12} xs={12} md={12} lg={5}>\n                  <Formik\n                        validationSchema={schema}\n                        onChange={(e) => setPopulation_data(e.target.values.population)}\n                        onSubmit={(values, actions) => {\n                            setTimeout(() => {\n                           alert(JSON.stringify(values, null, 2));\n                           actions.setSubmitting(false);\n                         }, 1000);\n                       }}\n                        initialValues={{\n                          population:  population_data,\n                          init_infected: init_inf,\n                          n_future: n_future_day,\n                          lastName: '3',\n                        }}\n                      >\n                        {({ handleSubmit, handleChange, handleBlur, values, touched, isValid, errors, resetForm, setFieldValue}) => (\n                <Form noValidate>\n                  <Stack gap={3}>\n                      <Form.Select aria-label=\"Default select example\"\n                        type=\"number\"\n                        name=\"region\"\n                        isValid={true}\n                        onChange={(e) => {\n                          const selectedRegion = e.target.value;\n                          let sregion = Number(selectedRegion)\n                          setRegion_data(sregion)\n                          if(sregion == 1){\n                            setRegion_name(\"Novosibirsk region\")\n                            setPopulation_data(2798170)\n                            setFieldValue(\"population\", 2798170)\n                          } else if(sregion == 2) {\n                            setRegion_name(\"Omsk region\")\n                            setPopulation_data(578698)\n                            setFieldValue(\"population\", 1879548)\n                          } else if(sregion == 3) {\n                            setRegion_name(\"Altai Territory\")\n                            setPopulation_data(2268179)\n                            setFieldValue(\"population\", 2268179)\n                          }\n                        }}\n                        >\n                            <option value=\"1\">Novosibirsk region</option>\n                            <option value=\"2\">Omsk region</option>\n                            <option value=\"3\">Altai Territory</option>\n                      </Form.Select>\n                      <Form.Group key={1} as={Col} controlId=\"validationFormik01\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"population\"\n                          value={values.population}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.population}\n                          isInvalid={!!errors.population}\n                          onSubmit={setPopulation_data(values.population)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={2} as={Col} controlId=\"validationFormik04\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"init_infected\"\n                          value={values.init_infected}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.init_infected}\n                          isInvalid={!!errors.init_infected}\n                          onSubmit={setInit_inf(values.init_infected)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={3} as={Col} controlId=\"validationFormik02\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"n_future\"\n                          value={values.n_future}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.n_future}\n                          isInvalid={!!errors.n_future}\n                          onSubmit={setN_future_day(values.n_future)}\n                        />\n                      </Form.Group>\n\n                        <Button  type=\"submit\"  variant=\"success\" className=\"shadow1\"\n                          disabled={!isValid || isrunning}\n                          onSubmit={handleSubmit}\n                          onClick={(e) => run_msim_(e)}\n                        >\n                        {withspinner ? <Spinner\n                          as=\"span\"\n                          animation=\"border\"\n                          size=\"sm\"\n                          role=\"status\"\n                          aria-hidden=\"true\"\n                        /> : null } To run</Button>\n                  </Stack>\n                  </Form>\n                )}\n\n              </Formik>\n                </Col>\n                {withspinner ? <small className=\"text-muted\"><small> ...expected calculation time: 1 minute </small></small> : null }\n            </Row>\n            </ListGroup.Item>\n        </ListGroup>\n         </motion.div>\n            </Col>\n            <Col sm={12} xs={12} md={12} lg={8}>\n            <Container>\n            <Stack>\n      <div className=\"ms-auto\">\n              <motion.div initial=\"hidden\"\n                 custom={1}\n                variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            {chartnum == 1 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data1(e)}>Show data</Button> : null}\n            {chartnum == 2 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data2(e)}>Show data</Button> : null}\n            {chartnum == 3 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data3(e)}>Show data</Button> : null}\n            {chartnum == 4 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data4(e)}>Show data</Button> : null}\n            {chartnum == 5 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data5(e)}>Show data</Button> : null}\n\n            {chartnum == 6 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data6(e)}>Show data</Button> : null}\n            {chartnum == 7 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data7(e)}>Show data</Button> : null}\n            {chartnum == 8 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data8(e)}>Show data</Button> : null}\n            {chartnum == 9 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data9(e)}>Show data</Button> : null}\n            {chartnum == 10 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data10(e)}>Show data</Button> : null}\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">To hide the displayed data, click on their names</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n              </OverlayTrigger>\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\" mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n              </OverlayTrigger>\n              <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e)}><FiDownload/></Button>\n              </motion.div>\n              </div></Stack>\n              {loadingprosses ? <div style={{\n                      height: '400px'}}><Spinner style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n              someerrors ?   <div style={{\n                      height: '350px' }}><Alert variant=\"danger\" className=\"my-5\"> <Alert.Heading>Download error</Alert.Heading>\n              The server is temporarily not responding, please, <Alert.Link href=\"/modeling\">refresh the page</Alert.Link> or try again later.\n              <hr /> </Alert> </div> :\n\n   newChart? <div style={{ height: '25rem' }}><Line id=\"chart\" data={chartData_all} options={chartOptions} height=\"150%\" /></div> : <div ><Line id=\"chart\" options={chartOptions} data={initchartData_all} height=\"150%\" /></div>}\n   <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} animate=\"visible\" viewport={{amount: 0.1, once: true}}>\n   {newChart? <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n     <Nav.Item >\n     <Button className=\"shadow3\" size=\"sm\" variant=\"outline-info\" onClick = {chart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Infections</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"2\">Total morbidity</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\"  onClick = {chart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"3\">Mortality rate</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Recovery</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {chart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Critical</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav> : null} </motion.div>\n\n   {newChart? null : <Nav variant=\"pills\" defaultActiveKey=\"1\" className=\"my-2 \">\n     <Nav.Item >\n     <Button className=\"shadow3\" className=\"chart3\" size=\"sm\" variant=\"outline-info\" onClick = {initchart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Infections</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {initchart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"2\">Total morbidity</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\"  onClick = {initchart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"3\">Mortality rate</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Recovery</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Critical</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav>}\n            </Container>\n            </Col>\n          </Row>\n        </Card>\n          </Tab>\n          <Tab eventKey=\"SEIR-HCD\" title=\"SEIR-HCD\">\n            <ModelingSEIR_HCD_En />\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer_En />\n  </>\n)}\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamInvitro_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n          <Stack gap={16} >\n          The data is provided by Invitro:\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>positive_percent:</small></div>\n              <div className=\"\"><small >the proportion of infected people with IgG antibodies to SARS-CoV-2</small></div>\n            </Stack></div>\n          </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamInvitro_En;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamOmsk_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>the official total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>the current number of adult patients diagnosed with and suspected of COVID-19 in infectious diseases hospitals</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>total of cases of coronavirus infection in children have been recorded since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>the current number of hospitalized children with suspected coronavirus and a confirmed diagnosis</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>new number of infected children</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>the current number of people in intensive care units</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>the current number of people on a ventilator</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamOmsk_En;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamAltay_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>A total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>vent:</small></div>\n              <div className=\"\"><small>the current number of people on a ventilator</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>the official total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>A total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>the current number of adult patients diagnosed with and suspected of COVID-19 in infectious diseases hospitals</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>A total of cases of coronavirus infection in children have been recorded since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>the current number of hospitalized children with suspected coronavirus and a confirmed diagnosis</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>new number of infected children</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>the current number of people in intensive care units</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>the current number of people on a ventilator</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamAltay_En;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamNSKsmall_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>the current number of people in intensive care units</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>1vac:</small></div>\n              <div className=\"\"><small>the current number of people who received one dose of the vaccine</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>2vac:</small></div>\n              <div className=\"\"><small>the current number of people who received two doses of the vaccine</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>positive_percent:</small></div>\n              <div className=\"\"><small>the proportion of infected people with IgG antibodies to SARS-CoV-2</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>yandex_index:</small></div>\n              <div className=\"\"><small>self-isolation index</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>asympt_percent:</small></div>\n              <div className=\"\"><small>the current percentage of asymptomatic cases detected</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamNSKsmall_En;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseParamAltaysmoothed_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        )}\n      </Overlay>\n\n      <Collapse in={open}>\n        <div id=\"example-collapse-text\">\n          <div className=\"my-3\">\n          <Stack gap={16} >\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>date:</small></div>\n              <div className=\"\"><small>the current date in the format YYYY-MM-DD</small></div>\n            </Stack></div>\n            <div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_diagnoses:</small></div>\n              <div className=\"\"><small >the number of newly identified cases of coronavirus infection</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses_article:</small></div>\n              <div className=\"\"><small>the official total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_diagnoses:</small></div>\n              <div className=\"\"><small>the total number of detected cases of coronavirus infection during the entire pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_recoveries:</small></div>\n              <div className=\"\"><small>the number of new cases of human recovery since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_recoveries:</small></div>\n              <div className=\"\"><small>A total of people have recovered since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_deaths:</small></div>\n              <div className=\"\"><small>the number of new deaths from coronavirus</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_deaths:</small></div>\n              <div className=\"\"><small>total deaths from coronavirus since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_tests:</small></div>\n              <div className=\"\"><small>total coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_tests:</small></div>\n              <div className=\"\"><small>the number of new coronavirus tests conducted in the region</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>adults:</small></div>\n              <div className=\"\"><small>the current number of adult patients diagnosed with and suspected of COVID-19 in infectious diseases hospitals</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cum_children:</small></div>\n              <div className=\"\"><small>A total of cases of coronavirus infection in children have been recorded since the beginning of the pandemic</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>cur_children:</small></div>\n              <div className=\"\"><small>the current number of hospitalized children with suspected coronavirus and a confirmed diagnosis</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>new_children:</small></div>\n              <div className=\"\"><small>new number of infected children</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>n_critical:</small></div>\n              <div className=\"\"><small>the current number of people in intensive care units</small></div>\n            </Stack></div><div>---</div>\n            <div className=\"\">\n            <Stack direction=\"horizontal\" gap={2}>\n              <div className=\"mx-1\"><small>ventilation:</small></div>\n              <div className=\"\"><small>the current number of people on a ventilator</small></div>\n            </Stack></div>\n            </Stack>\n          </div>\n        </div>\n      </Collapse>\n    </div>\n\n     </div>\n    </>\n  );\n}\n\nexport default CollapseParamAltaysmoothed_En;\n","import React, {useState, useRef} from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button, Collapse, Card, Nav, NavDropdown, Table, Container, Fade, Stack, Overlay} from 'react-bootstrap';\nimport \"./../styles.css\";\n\nfunction CollapseMSDeath_data_En() {\n  const [open, setOpen] = useState(false);\n  const [show, setShow] = useState(false);\n  const target = useRef(null);\n\n  return (\n    <>\n    <div className=\"\">\n\n    <div className=\"d-grid gap-2\">\n\n      <Button  size=\"sm\" variant=\"outline-success\" ref={target} onClick={() => setShow(!show)} className=\"shadow1\">\n      Description of the data\n      </Button>\n\n      <Overlay target={target.current} show={show} placement=\"bottom\">\n        {({ placement, arrowProps, show: _show, popper, ...props }) => (\n          <div\n            {...props}\n            style={{\n              position: 'absolute',\n              backgroundColor: 'rgba(192,192,192, 0.90)',\n              padding: '2px 10px',\n              color: 'white',\n              borderRadius: 3,\n              ...props.style,\n            }}\n          >\n          <Container className=\"mx-auto\">Data on burials in Novosibirsk of the Municipal information system \"Ritual\" (Novosibirsk City Hall), provided by\n          Director of the Center for Interaction with Authorities and Industrial Partners of Novosibirsk State University, Ph.D. A.N. Lyulko, displaced 2 days ago.\n          </Container>\n          </div>\n        )}\n      </Overlay>\n\n    </div>\n  </div>\n  </>\n  );\n}\n\nexport default CollapseMSDeath_data_En;\n","import React, {useState} from \"react\";\nimport axios from \"axios\";\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport {Container, Row, Col, Card, Stack, Popover, OverlayTrigger, Image, Button } from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\nimport CollapseParamCSV_En from './Components/CollapseParamCSV_En'\nimport CollapseParamInvitro_En from './Components/CollapseParamInvitro_En'\nimport CollapseParamOmsk_En from './Components/CollapseParamOmsk_En'\nimport CollapseParamAltay_En from './Components/CollapseParamAltay_En'\nimport CollapseParamNSKsmall_En from './Components/CollapseParamNSKsmall_En'\nimport CollapseParamAltaysmoothed_En from './Components/CollapseParamAltaysmoothed_En'\nimport CollapseMSDeath_data_En from './Components/CollapseMSDeath_data_En'\nimport RussiaG from \"./images/gerbs/Russia_gerb.png\"\nimport MoscowG from \"./images/gerbs/Moscow_gerb.png\"\nimport SpbG from \"./images/gerbs/Spb_gerb.png\"\nimport AltayG from \"./images/gerbs/Altay_region_gerb.png\"\nimport OmskG from \"./images/gerbs/Omsk_region_gerb.png\"\nimport HSKG from \"./images/gerbs/Novosibirsk_region_gerb.png\"\nimport {BsDownload} from 'react-icons/bs'\nimport Footer_En from './Components/Footer_En'\n\nexport function Data_En (){\n  const [open, setOpen] = useState(false);\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n  return(\n    <>\n    <NaviBarv2_En />\n    <Container className=\"my-3\"   style={{height: \"120%\" }}>\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\">\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Data for Russia</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={RussiaG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n <a href=\"https://ai-biolab.ru/data/rus-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Complete</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV_En/></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/rus-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload /> IgG Antibodies</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro_En /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Data for the Novosibirsk region</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={HSKG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Complete</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV_En/></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={3} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/novosibirsk-region-data-small.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Abbreviated</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamNSKsmall_En /></Card.Footer>\n            </Card>\n              </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/novosibirsk-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG Antibodies</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro_En /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/new_deaths_Nsk_form_burial_statistics.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Burials</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer> <CollapseMSDeath_data_En /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Data for Moscow</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={MoscowG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/mos_data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Complete</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV_En/></Card.Footer>\n                </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/mos-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG Antibodies</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro_En /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3 my-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Data for St. Petersburg</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n            <div>\n              <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n              src={SpbG}\n              rounded\n              fluid/>\n            </div>\n          </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/spb_data.csv\" style={{'textDecoration': 'none'}}  className=\"\">\n              <Card.Body className=\"datacardcol\">\n                <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Complete</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamCSV_En/></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={4} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1\">\n              <a href=\"https://ai-biolab.ru/data/spb-invitro.csv\" style={{'textDecoration': 'none'}}>\n              <Card.Body className=\"datacardcol\">\n              <Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  IgG Antibodies</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamInvitro_En /></Card.Footer>\n                </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3\"><hr />\n        <Row>\n          <Col xs={8} md={10} lg={10}>\n            <div ><h4 className=\"mx-5 text-secondary\">Data for the Omsk region</h4></div>\n          </Col>\n          <Col xs={4} md={2} lg={2}>\n          <div className=\"\">\n            <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n            src={OmskG}\n            rounded\n            fluid/>\n         </div>\n         </Col>\n        </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n        <Col xs= {12} md={6} lg={3}>\n          <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            <Card className=\"shadow1 my-1 \">\n              <a href=\"https://ai-biolab.ru/data/omsk-region-data.csv\" style={{'textDecoration': 'none'}}  >\n              <Card.Body className=\"datacardcol\">\n                <Card.Title><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Complete</h5></Card.Title>\n              </Card.Body></a>\n              <Card.Footer><CollapseParamOmsk_En /></Card.Footer>\n            </Card>\n          </motion.div>\n        </Col>\n      </Row>\n\n\n\n      <motion.div initial=\"hidden\" custom={2} variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-3\"><hr />\n         <Row>\n         <Col xs={8} md={10} lg={10}>\n          <div><h4 className=\"mx-5 text-secondary\">Data for the Altai Territory</h4></div>\n         </Col>\n         <Col xs={4} md={2} lg={2}>\n           <div className=\"\">\n           <Image variant=\"top\" style={{ width: '4rem' }, {height: '4rem'}} className=\"mx-5\"\n           src={AltayG}\n           rounded\n           fluid\n           />\n           </div>\n         </Col>\n         </Row>\n      </motion.div>\n      <Row className=\"mx-5 my-3\">\n      <Col xs= {12} md={6} lg={3}>\n      <motion.div initial=\"hidden\"\n           custom={2}\n           variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n          <Card className=\"shadow1 my-1\">\n        <a href=\"https://ai-biolab.ru/data/altay-region-data.csv\" style={{'textDecoration': 'none'}} >\n        <Card.Body className=\"datacardcol\">\n<Card.Title ><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Complete</h5></Card.Title>\n        </Card.Body></a>\n        <Card.Footer><CollapseParamAltay_En /></Card.Footer>\n      </Card></motion.div></Col>\n      <Col xs= {12} md={6} lg={3}>\n      <motion.div initial=\"hidden\"\n           custom={3}\n          variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n      <Card className=\"shadow1 my-1\">\n      <a href=\"https://ai-biolab.ru/data/altay-region-data-smoothed.csv\" style={{'textDecoration': 'none'}} >\n        <Card.Body className=\"datacardcol\">\n<Card.Title><h5 align='center' style={{fontSize:\"20px\", align:\"left\"}}><BsDownload />  Smoothed</h5></Card.Title>\n        </Card.Body></a>\n        <Card.Footer><CollapseParamAltaysmoothed_En /></Card.Footer>\n      </Card></motion.div></Col>\n     </Row>\n\n     <motion.div initial=\"hidden\"\n          custom={2}\n         variants={variants2} whileInView=\"visible\" viewport={{amount: 0.1, once: true}} className=\"mx-auto my-5\">\n         </motion.div>\n      </Container>\n      <Footer_En />\n    </>\n  )\n}","import React, {forwardRef} from \"react\";\nimport {Container, Card, Image, Col, Row} from 'react-bootstrap';\nimport { motion } from \"framer-motion\"\n\n\nconst TeamItem_En = forwardRef((props, ref) => {\n  return (\n    <Col xs={12} md={6} lg={6} className=\"my-1\" ref={ref}>\n      <Card border=\"light\" style={{ minHeight: '12rem', maxWidth: '40rem' }} className=\"mx-auto shadow1\">\n        <Row>\n          <Col md={4}>\n            <a href={props.post.url} target=\"_blank\">\n              <Container style={{ width: '10rem', height: '9rem' }} className=\"my-4 text-center\">\n                <Image\n                  variant=\"bottom\"\n                  src={props.post.image}\n                  fluid\n                  style={{ maxWidth: '8rem' }} // Измените здесь ширину изображения\n                />\n              </Container>\n            </a>\n          </Col>\n          <Col md={8}>\n            <Card.Body>\n              <Card.Title>{props.post.name}</Card.Title>\n              <Card.Text>\n                <div>{props.post.institution}</div>\n                <div>{props.post.institution2}</div>\n                <div>{props.post.Phone}</div>\n                <div>{props.post.mail}</div>\n              </Card.Text>\n            </Card.Body>\n          </Col>\n        </Row>\n      </Card>\n    </Col>\n  )}\n  )\nconst MTeamItem_En = motion(TeamItem_En);\nexport default MTeamItem_En;\nexport {TeamItem_En};","import React from \"react\";\nimport {Container, Card, Row } from 'react-bootstrap';\nimport MTeamItem_En from './Components/TeamItem_En'\n//import Main_picture from './Components/Main_picture'\nimport { motion } from \"framer-motion\"\nimport Zvonareva from \"./images/team/Zvonareva.png\"\nimport Krivorotko from \"./images/team/Krivorotko.png\"\nimport Zyatkov from \"./images/team/Zyatkov.png\"\nimport Neverov from \"./images/team/Neverov.png\"\nimport Petrakova from \"./images/team/Petrakova.jpg\"\nimport Khrushchev from \"./images/team/Khrushchev.jpg\"\nimport Kabanikhin from \"./images/team/Kabanikhin.jpg\"\nimport Question from \"./images/conf/Question.png\"\nimport Footer_En from './Components/Footer_En'\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 100,\n },\n}\n\nconst itemAnimation = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nexport function MainTeam_En() {\n\n  const posts = [\n    {id: 1, wid: '9rem', name: 'Olga Krivorotko', url:'https://icmmg.nsc.ru/ru/content/employees/krivorotko-olga-igorevna', institution: 'Doctor of Physical and Mathematical Sciences, Head of the Research Department of the MCA IM SB RAS',Phone:' 📞 +7(383) 329-7610',mail:'📩 o.i.krivorotko@math.nsc.ru', image: Krivorotko},\n    {id: 2, wid: '8rem', name: 'Nikolai Zyatkov', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000390', institution: 'Candidate of Technical Sciences, Head of the Innovation Department of the MCA IM SB RAS',Phone:' 📞 +7(383) 329-7610',mail:'📩 n.y.zyatkov@math.nsc.ru ', image: Zyatkov},\n    {id: 3, wid: '8rem', name: 'Sergey Kabanikhin', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=0000000635', institution: 'Director of the MCA IM SB RAS',Phone:' 📞 +7(383) 329-7526',mail:'📩 kabanikh@math.nsc.ru', image: Kabanikhin},\n    {id: 4, wid: '9rem', name: 'Victoria Petrakova', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000543', institution: 'Candidate of Physical and Mathematical Sciences, Researcher IM SB RAS',Phone:'📞 +7(923) 267-3748',mail:'📩 vika-svetlakova@yandex.ru', image: Petrakova},\n    {id: 5, wid: '8rem', name: 'Sergey Khrushchev', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000048', institution: 'Candidate of Physical and Mathematical Sciences, Senior Researcher IM SB RAS',Phone:' 📞 +7(383) 329-7659',mail:'📩 s.e.khrushchev@math.nsc.ru', image: Question},\n    {id: 6, wid: '8rem', name: 'Tatyana Zvonareva', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000514', institution: 'Engineer IM SB RAS',Phone:' 📞 +7(383) 329-7611',mail:'📩 t.a.zvonareva@math.nsc.ru', image: Zvonareva},\n    {id: 7, wid: '9rem', name: 'Andrey Neverov', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000504', institution: 'Graduate student IM SB RAS',institution2:'Research Engineer IM SB RAS',Phone:' 📞 +7(383) 3297611',mail:'📩 a.neverov@g.nsu.ru', image: Neverov},\n    {id: 8, wid: '8rem', name: 'Angelina Nesterova', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000529', institution: 'Graduate student IM SB RAS',institution2:'Research Engineer IM SB RAS',Phone:'',mail:'📩 angelka.nesterova.99@mail.ru' , image: Question},\n    {id: 9, wid: '8rem', name: 'Sergey Strizhak', url:'https://istina.cemi-ras.ru/workers/291766341/', institution: 'Candidate of Technical Sciences, Senior Researcher of the ISP RAS',institution2:'',Phone:'',mail:'📩 strijhak@yandex.ru', image: Question},\n    {id: 10, wid: '8rem', name: 'Konstantin Koshelev', url:'https://istina.msu.ru/workers/263119504/', institution: 'Candidate of Physical and Mathematical Sciences, Senior Researcher at ISP RAN',Phone:'',mail:'📩 koshelev@iwep.ru', image: Question},\n    {id: 11, wid: '8rem', name: 'Evgeny Schaefer', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000389', institution: 'Candidate of Physical and Mathematical Sciences, Researcher IM SB RAS',Phone:' 📞 +7(383) 329-7659',mail:'📩 e.i.shefer@math.nsc.ru', image: Question},\n    {id: 12, wid: '8rem', name: 'Anton Glukhov', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000509', institution: 'Intern researcher IM SB RAS',institution2:'',Phone:'',mail:'📩 a.glukhov@g.nsu.ru', image: Question},\n    {id: 13, wid: '8rem', name: 'Pavel Surnin', url:'http://a-server.math.nsc.ru/IM/sotrudl.asp?CodID=%C7%CA-0000516', institution: 'Graduate student of NSU',institution2:'Intern researcher IM SB RAS',Phone:'',mail:'📩 p.surnin@g.nsu.ru', image: Question}\n  ]\n  return(\n      <>\n        <Container >\n          <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n          <Card className=\"text-center bg-secondary text-white my-3\" >\n            <Card.Title> <h4 className=\"my-1 \">The composition of the laboratory</h4> </Card.Title>\n          </Card>\n          </motion.div>\n          <motion.div  initial=\"hidden\"\n            animate=\"visible\">\n          <Container>\n            <Row xs={1} md={2} className=\"justify-content-md-center\" >\n              {posts.map((post, index) =>\n                  <MTeamItem_En  initial=\"hidden\" whileInView=\"visible\" viewport={{amount: 0.05, once: true}}\n                     custom={index + 1}\n                    variants={variants} key = {post.id} post = {post}/>\n              )}\n            </Row>\n          </Container>\n          </motion.div>\n      </Container>\n      <Footer_En />\n    </>\n)\n}\n//<Main_picture>\n//<Main_picture />","import React from \"react\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\n    OverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Footer_En from './Components/Footer_En' ;\nimport NaviBarv2_En from './Components/NaviBarv2_En';\n\n\n  \nexport function Conferences_En () {\n    return (\n          <>\n      <NaviBarv2_En />\n      <Container className=\"my-3\" style={{\n          height: \"120%\" },\n        {  width: \"100%\"}}>\n\n  <Container>\n    \n      <div ><h1>Conference calendar</h1></div>\n      <hr/>\n    \n  </Container>\n  <div className=\"row my-4 ps-3 \">\n          <h3>Upcoming conferences</h3>\n        </div>\n        <div className=\"row my-4 ps-3 text-secondary\">\n          <h3 className=\"lead\">2024</h3>\n        </div>     \n        <hr/>\n        <div className=\"row my-4 ps-3\">\n          <h3>Past conferences</h3>\n        </div>\n        <div className=\"row my-4 ps-3 text-secondary\">\n          <h3 className=\"lead\">2024</h3>\n        </div>  \n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">October 29 - November 2, 2024 Moscow</h4>\n<h5 className=\"row ps-3 text-secondary\">VI International Scientific and Practical Conference POSTEGNOM’2024</h5>\n<h5 className=\"ps-1 text-secondary lead\">The results of the work were presented by the Head of the laboratory <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info/En\">O. Krivorotko</a>.</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the <a rel=\"noopener\" target=\"_blank\" href=\"https://www.postgenome.org/pages/aktualnaya_nauchnaya_programma\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">October 31 - November 1, 2024 Moscow</h4>\n<h5 className=\"row ps-3 text-secondary\">XVI Conference \"Mathematical Models and Numerical methods in Biology and Medicine\"</h5>\n<h5 className=\"ps-1 text-secondary lead\">The laboratory staff took part in the XVI conference \"Mathematical models and Numerical methods in Biology and Medicine\", namely: <a rel=\"noopener\" target=\"_blank\" href=\"/Nesterova_info/En\">A. Nesterova</a> and <a rel=\"noopener\" target=\"_blank\" href=\"/Mikhailapov_info/En\">D. Mikhailapov</a>.</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"https://dodo.inm.ras.ru/biomath/\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">October 17-21, 2024 Sirius</h4>\n<h5 className=\"row ps-3 text-secondary\">Conference \"Quasi-linear equations, inverse problems and their applications»</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_050w\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">October 14-18, 2024 Sirius</h4>\n<h5 className=\"row ps-3 text-secondary\">The conference \"Inverse ill-posed problems and machine learning\"</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_049w\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n        <div className=\"my-3\"><h4 className=\"row ps-3\">October 7-11, 2024 Sirius</h4>\n<h5 className=\"row ps-3 text-secondary\">Conference \"Industrial Mathematics: from mathematical methods to Industrial technologies\"</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_048w\">conference website..</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">October 3-5, 2024 Novosibirsk IM SB RAS</h4>\n<h5 className=\"row ps-3 text-secondary\">International Scientific Conference \"Modern problems of inverse problems\"</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mcip2024/general_info\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">October 1-4, 2024 Novosibirsk IM SB RAS</h4>\n<h5 className=\"row ps-3 text-secondary\">Conference \"Mathematics in Medicine\"</h5>\n<h5 className=\"ps-1 text-secondary lead\">On October 1, 3 and 4, the laboratory staff, namely: <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info/En\">O. Krivorotko</a>, <a rel=\"noopener\" target=\"_blank\" href=\"/Nestrova_info/En\">A. Nesterova</a> and  <a rel=\"noopener\" target=\"_blank\" href=\"/Mikhailapov_info/En\">D. Mikhailapov</a>, spoke at the conference.</h5>\n<h5 className=\"ps-1 text-secondary lead\"><a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%9C%D0%BC%D0%B5%D0%B4%D0%9A%D0%BE%D0%BD%D1%84-24.pdf\">The full program.</a></h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mmed2024/ru/general_info\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">September 30 - October 2, 2024 Novosibirsk IM SB RAS</h4>\n<h5 className=\"row ps-3 text-secondary\">XVI International Youth Scientific School-conference \"Theory and numerical methods for solving inverse and ill-posed problems\"</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/tcmiip2024/general_info\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">August 6-11, 2024 Saint Petersburg</h4>\n<h5 className=\"row ps-3 text-secondary\">IV Conference of Mathematical Centers of Russia</h5>\n<h5 className=\"row ps-3 text-secondary lead\">On August 10, the staff of our laboratory took part in the conference in sections:\"Applied Mathematics and Mathematical Modeling\" and \"Probability Theory\"</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/\">conference website.</a>\n</h5></div>\n\n<br></br>\n\n<div className=\"my-3\"><h4 className=\"row ps-3\">August 5-10, 2024 Novosibirsk</h4>\n<h5 className=\"row ps-3 text-secondary\">14th International Multi-Conference</h5>\n<h5 className=\"row ps-3 text-secondary\">\"Bioinformatics of genome regulation and structure/systems biology\"</h5>\n<h5 className=\"row ps-3 text-secondary lead\" style={{ display: 'inline' }}>\nMore detailed information is available on the<a rel=\"noopener\" target=\"_blank\" href=\"https://bgrssb.icgbio.ru/2024/ru/schedule/\">conference website.</a>\n</h5></div>\n      </Container>\n      <Footer_En />\n      </>\n      \n      )}","import React from \"react\";\nimport {Container, Card, Row, Button, CarouselItem, CarouselCaption } from 'react-bootstrap'\nimport { motion } from \"framer-motion\"\nimport Footer_En from './Components/Footer_En'\nimport NaviBarv2_En from './Components/NaviBarv2_En'\nimport sem_a from \"./images/news/sem_a.PNG\"\nimport sem_b from \"./images/news/sem_b.PNG\"\n\n\n\nconst variants = {\n  visible: custom => ({\n    opacity: 1,\n    y: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    y: 100,\n },\n}\n\nconst itemAnimation = {\n  visible: custom => ({\n    opacity: 1,\n    x: 0,\n    transition: {\n      delay: custom * 0.2}\n  }),\n  hidden: {\n    opacity: 0,\n    x: -100,\n },\n}\n\nexport function Sem_Compl_En() {\n\n\n  return(\n      <>\n      <NaviBarv2_En />\n        <Container >\n        <motion.div initial=\"hidden\"\n             custom={2}\n            variants={variants} whileInView=\"visible\" viewport={{amount: 0.05, once: true}}>\n          <Card className=\"text-center bg-secondary text-white my-3\" >\n            <Card.Title> <h4 className=\"my-1 \">Archival seminars</h4> </Card.Title>\n          </Card>\n          </motion.div>\n          <ul class=\"cards_t\">\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_b} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On November 28, a laboratory seminar will be held on the topic «Probabilistic forecasting of epidemics in the regions of the Russian Federation based on a conditional generative-adversarial network and a Bayesian approach»</h5>\n                <p class=\"card_descr_t\">07.01.2025</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_j/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On November 14, the laboratory will hold a seminar on the topic «Modeling of acute and chronic infections»</h5>\n                <p class=\"card_descr_t\">15.11.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_i/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Seminar\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On September 26, the laboratory will hold a seminar on the topic «Problems of obtaining an accurate quantitative assessment of accumulated activity in tumor foci during the examination by the method of SPECT/CT»</h5>\n                <p class=\"card_descr_t\">27.09.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_h/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n            </ul>\n\n            <ul class=\"cards_t \">\n            <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Seminar\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On September 12, a laboratory seminar will be held on the topic «Features of using physically informed neural networks to solve problems of modeling the motion of an incompressible fluid»</h5>\n                <p class=\"card_descr_t\">11.09.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_g/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n            <li class=\"cards_item_t\">\n      <article class=\"card_t\">\n        <div class=\"card_image_t\">\n          <img src={sem_a} alt=\"Семинар\"></img>\n        </div>\n        <div class=\"card_content_t\">\n        <h5 class=\"card_title_t\">On August 29, the laboratory will hold a seminar on the topic «The Gelfand-Levitan method in coefficient inverse problems»</h5>\n        <p class=\"card_descr_t my-3\">23.08.2024</p>\n        <span class=\"card_btn_t my-1\"><a href=\"/Sem_f/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n        </div>\n      </article>\n    </li>\n            <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On August 15, the laboratory will hold a seminar on the topic «Recommendation system for microfinance organizations»</h5>\n                <p class=\"my-3 card_descr_t\">15.08.2024</p>\n                <span class=\"my-1 card_btn_t \"><a href=\"/Sem_e/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n          </ul>\n\n          <ul class=\"cards_t \">\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On August 1, a laboratory seminar will be held on the topic «A.N. Tikhonov's regularization method for solving the problem of determining the initial condition in a parabolic equation»</h5>\n                <p class=\"my-3 card_descr_t\">02.08.2024</p>\n                <span class=\"my-1 card_btn_t \"><a href=\"/Sem_d/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On July 18, the laboratory will hold a seminar on the topic \"Semi-controlled segmentation of medical images: An overview\"</h5>\n                <p class=\"my-3 card_descr_t\">19.07.2024</p>\n                <span class=\"my-1 card_btn_t \"><a href=\"/Sem_c/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n          <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On July 4, a laboratory seminar will be held on the topic \"Application of PINN in the SIR model of the middle field game\"</h5>\n                <p class=\"my-3 card_descr_t\">05.07.2024</p>\n                <span class=\"my-1 card_btn_t \"><a href=\"/Sem_b/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n          \n       </ul>\n       <ul class=\"cards_t \">\n       <li class=\"cards_item_t\">\n              <article class=\"card_t\">\n                <div class=\"card_image_t\">\n                  <img src={sem_a} alt=\"Семинар\"></img>\n                </div>\n                <div class=\"card_content_t\">\n                <h5 class=\"card_title_t\">On June 20, the laboratory will hold a seminar on \"Reasoning about methods of checking time series for stationarity\"</h5>\n                <p class=\"card_descr_t\">13.06.2024</p>\n                <span class=\"card_btn_t \"><a href=\"/Sem_a/En\" class=\"lead\" style={{'textDecoration': 'none'}}>Read completely > </a></span>\n                </div>\n              </article>\n            </li>\n       </ul>\n            \n      </Container>\n      <Footer_En />\n    </>\n          \n)\n}","import React from \"react\";\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport Footer_En from './Components/Footer_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\"; // Импорт стилей\nimport { Container, Card, Row, Col } from 'react-bootstrap';\nimport { BsDownload } from 'react-icons/bs';\n\nexport function Links_En() {\n  const links = [\n    { id: 1, title: \"Laboratory logo\", url: \"https://ai-biolab.ru/data/logo_en.rar\" },\n  ];\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container className=\"my-5\">\n        <h2 className=\"text-center mb-4 header_links\">Available links</h2>\n        <Row>\n          {links.map(link => (\n            <Col md={4} key={link.id} className=\"mb-4\">\n              <Card className=\"card_links shadow\">\n                <a href={link.url} style={{ textDecoration: 'none' }}>\n                  <Card.Body className=\"text-center\">\n                    <Card.Title>\n                      <h5 style={{ fontSize: \"20px\" }}>\n                        <BsDownload /> {link.title}\n                      </h5>\n                    </Card.Title>\n                  </Card.Body>\n                </a>\n              </Card>\n            </Col>\n          ))}\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n          <h2 className=\"text-center mb-4\"></h2>\n        </Row>\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport epid1 from \"./images/directions/epid1.png\"\nimport epid2 from \"./images/directions/epid2.png\"\nimport epid3 from \"./images/directions/epid3.png\"\nimport ecol1 from \"./images/directions/ecol1.png\"\nimport ecol2 from \"./images/directions/ecol2.png\"\nimport econ1 from \"./images/directions/econ1.png\"\nimport econ2 from \"./images/directions/econ2.png\"\nimport Footer_En from './Components/Footer_En'\n\n\n\nexport function Data_processing_and_analysis_En(){\n\n\n  return(\n  <>\n  <NaviBarv2_En />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p class=\"lead my-4\">Data collection, processing, and analysis are an important part of research in building mathematical models of biology, epidemiology, economics, ecology, and social processes. Incorrect data processing and interpretation can lead to incorrect modeling and forecasting results for the processes under study.</p>\n         \n        <Tabs  justify defaultActiveKey=\"epid\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"epid\" title=\"Epidemiology\">\n          <h5 class=\"my-4\">COVID-19</h5>\n          <p class=\"lead my-4\">The following approaches were applied in the process of processing COVID-19 data:\n             smoothing data using a 7-day exponential moving average, filling in\n              missing values using linear interpolation and removing outliers in the data.</p>\n                          <div class=\"center\"><img src={epid1} align=\"center\" width={500} /></div>\n                           <p class=\"lead my-4\">For mathematical modeling, the data is pre-normalized and reduced to a normal distribution using the Box-Cox transform or by calculating the logarithmic increment of points in the time series relative to the values of the past. For example, to simulate COVID-19, the daily number of deaths as a result of COVID-19 in St. Petersburg was transformed in such a way that the data returned to a normal and stationary form.:</p>\n                           <div class=\"center\"><img src={epid2} align=\"center\" width={500} /></div><hr></hr>\n                           <h5 class=\"my-4\">Tuberculosis, HIV</h5>\n                           <p class=\"lead my-4\"> The data on the incidence of tuberculosis and HIV in the regions of Russia are considered.</p>\n                           <img src={epid3} align=\"right\" width={500} />\n                           <p class=\"lead my-4\">The process of collecting statistical data is not as homogeneous as we would like. For example, for tuberculosis incidence data by month, abnormal emissions were found in December and grossly underestimated data in January, which differed significantly from the rest of the months. Such behavior cannot be described by the continuous models used and is poorly explained by the slow rate of disease development.</p>\n                           <p class=\"lead my-4\">On the other hand, the latent form of tuberculosis is of interest, which is assumed to be widespread among the population (according to WHO estimates in the region of 30%). </p>\n                           <p class=\"lead my-4\">However, the definition of this form varies dramatically from source to source, and there is no consensus on this form.</p>\n                           <p class=\"lead my-4\">When epidemiological parameters were restored from among those with the active form, the number of patients with latent tuberculosis was also restored. In general, such a task has many solutions, however, with restrictions on the possible duration of the disease, it was found that, for the regions of Russia, the number of patients with latent form, if it is a mandatory intermediate stage of the disease, cannot exceed 1-5%.</p>\n           </Tab>\n          <Tab eventKey=\"econ\" title=\"Economy\">\n          <p class=\"lead my-4\">Economic and social processes are considered as indirect factors indicating the further development of epidemics. In our case, tuberculosis and HIV are considered important social diseases that are more common among the poor. For this reason, it is assumed that the economic and social indicators of the regions can act as additional markers of the nature of the epidemiological process, clarifying epidemiological parameters.</p>\n          <p class=\"lead my-4\">Our goal is to obtain this clarification regarding the average epidemiological model for the regions of Russia.</p>\n          <p class=\"lead my-4\">The following socio-economic parameters are potentially interrelated with the development of the epidemic in the region:\n          - standard of living<br></br>\n          - average per capita income<br></br>\n- unemployment rate<br></br>\n- the number of workers<br></br>\n- the population is below the subsistence level<br></br>\n- population density\n</p>\n<div class=\"center\"><img src={econ1} align=\"center\" width={700} /><p class=\"lead my-4\">Figure 1. Indicator of the standard of living in the regions of Russia.</p></div>\n<div class=\"center\"><img src={econ2} align=\"center\" width={700} /><p class=\"lead my-4\">Figure 2. Population in the regions of Russia.</p></div>\n<p class=\"lead my-4\">Since these parameters are closely interrelated with each other, a game-theoretic approach was applied to identify the most important parameters based on the Shapley vector. As a result, although important indicators were obtained, the primary results of clarifying epidemiological parameters showed a satisfactory result of restoring epidemiological parameters in only 10% of regions.</p>\n\n          </Tab>\n          <Tab eventKey=\"ecol\" title=\"Ecology and climate\">\n          <p class=\"lead my-4\">The analysis and processing of data from <a rel=\"noopener\" target=\"_blank\" href=\"https://sensor.krasn.ru/sc/project/1/map.html\">the geoportal of the Krasnoyarsk Territory</a>  on atmospheric air pollution by suspended particles of PM2.5 and <a rel=\"noopener\" target=\"_blank\" href=\"https://sensor.krasn.ru/sc/project/1/map.html\">the system of operational monitoring of the air condition is carried out</a>. </p>\n          <img src={ecol1} align=\"right\" width={500} />\n          <p class=\"lead my-4\">PM2.5 is the smallest solid particles and droplets of liquids ranging in size from 2.5 to 10 microns (microns). They are often referred to as fine suspended particles or fine dust. PM2.5 particles are one of the most harmful pollutants. Due to their size, fine particles easily enter the bloodstream and spread throughout the body. There is no immediate reaction to small doses of PM2.5, but they accumulate in the body and can lead to serious problems over time.</p>\n          <p class=\"lead my-4\">Understanding the reasons for the development of the \"black sky\" in the Krasnoyarsk Territory or in other cities is inextricably linked to the analysis of data from the network of operational monitoring of atmospheric air quality. In Krasnoyarsk, such a system is represented by more than 30 sensors that record every 20 minutes for more than 4 years. The analysis of such data is complicated by the fact that there are a lot of sources of PM2.5 in nature: automobile transport with gasoline or diesel engines, industrial production, including mining enterprises, coal-fired power plants, construction sites, landfills, agricultural enterprises. This leads to the fact that the data is difficult to non-stationary, that is, they do not have pronounced trends, seasonalities and are very noisy. Another big problem is the long gaps in the data associated with equipment failures, as well as the presence of a large number of anomalies and outliers that may be related to equipment failure (and should be removed from further consideration), as well as be physically significant and have a natural origin. An example of data on the concentration of PM2.5 in Krasnoyarsk from one observation post for 2019-2023 is shown in the figure: </p>\n          <div class=\"center\"><img src={ecol2} align=\"center\" width={1000} /></div>\n          <p class=\"lead my-4\">Our research is devoted to the analysis of such complex data and the development of methods for their analysis. It is shown that there is no single criterion for assessing the stationarity of data presented in the form of time series. Attention was paid to the correctness of using the most popular tools in solving such tasks. It is shown that for time series of real measurements, various statistical tests that are most used in practice, due to the peculiarities of hypothesis construction, can give results interpreted in different ways, while other well-known tools are limited in use. For the initial analysis, a procedure has been proposed on the basis of which primary conclusions can be drawn about the stationarity of the data.</p>\n\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer_En />\n  </>\n)}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Card, Row, Col, Image, Button, Nav, NavDropdown, Table, Form, ListGroup, FormControl, Stack,\nOverlayTrigger, Popover, InputGroup, ProgressBar, Spinner, Tabs, Tab, Collapse, Carousel, Alert, Modal, ButtonGroup,\nDropdownButton, Dropdown} from 'react-bootstrap';\nimport { CLoadingButton } from '@coreui/react-pro'\nimport axios from \"axios\"\nimport FileDownload from \"js-file-download\"\nimport { Formik } from \"formik\";\nimport * as yup from \"yup\";\nimport {FiDownload } from 'react-icons/fi'\nimport {BsFillFileEarmarkPdfFill, BsFillArrowUpRightSquareFill, BsFillCaretRightFill, BsFillCaretDownFill,\nBsFillPersonLinesFill, BsExclamationLg, BsInfo} from 'react-icons/bs'\nimport {FcSearch} from 'react-icons/fc'\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport {BsZoomIn} from 'react-icons/bs'\nimport { motion } from \"framer-motion\"\nimport field1 from \"./images/directions/field1.png\"\nimport field2 from \"./images/directions/field2.png\"\nimport field3 from \"./images/directions/field3.png\"\nimport seir1 from \"./images/directions/seir1.png\"\nimport seir2 from \"./images/directions/seir2.png\"\nimport seir3 from \"./images/directions/seir3.png\"\nimport seir4 from \"./images/directions/seir4.png\"\nimport seir5 from \"./images/directions/seir5.png\"\nimport seir6 from \"./images/directions/seir6.png\"\nimport machine1 from \"./images/directions/machine1.png\"\nimport machine2 from \"./images/directions/machine2.png\"\nimport machine3 from \"./images/directions/machine3.png\"\nimport machine4 from \"./images/directions/machine4.png\"\nimport machine5 from \"./images/directions/machine5.png\"\nimport machine6 from \"./images/directions/machine6.png\"\nimport machine7 from \"./images/directions/machine7.png\"\nimport machine8 from \"./images/directions/machine8.png\"\nimport machine9 from \"./images/directions/machine9.png\"\nimport { DownloadCount } from 'axios-progress-bar'\n\nimport ModelingSEIR_HCD_En from './ModelingSEIR_HCD_En'\nimport Description_AOM from './Components/Description_AOM'\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\n\nimport Footer_En from './Components/Footer_En'\n\nimport {\n  Chart as ChartJS,\n  PointElement,\n  Filler,\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n} from 'chart.js';\n\nimport {Bar, Line} from 'react-chartjs-2'\nimport zoomPlugin from 'chartjs-plugin-zoom';\n\nChartJS.register(\n  CategoryScale,\n  LinearScale,\n  BarElement,\n  LineElement,\n  Title,\n  SubTitle,\n  Tooltip,\n  Legend,\n  PointElement,\n  Filler,\n);\n\nChartJS.register(zoomPlugin);\n\n\n\nconst download_article=(e)=>{\n   e.preventDefault()\n   axios({\n     url:\"https://server.ai-biolab.ru/article\",\n     method: \"GET\",\n     responseType:\"blob\"\n   }).then((resA)=>{\n     FileDownload(resA.data, \"article.pdf\")\n   })\n}\n\nconst schema = yup.object().shape({\n  population: yup.number().min(1000000).max(8000000).typeError(\"A numeric value is required\").required(\"required field\"),\n  n_future: yup.number().min(10).max(100).typeError(\"A numeric value is required\").required(\"required field\"),\n  init_infected: yup.number().min(10).max(100).typeError(\"A numeric value is required\").required(\"required field\"),\n});\n\nexport function The_spread_of_epidemics_En(){\n\n  const [population_data, setPopulation_data] = useState(2798170)\n  const [region_data, setRegion_data] = useState(1)\n  const [region_name, setRegion_name] = useState(\"Novosibirsk region\")\n  const [n_future_day, setN_future_day] = useState(45)\n  const [init_inf, setInit_inf] = useState(20)\n\n  const download_chart=(e) => {\n    e.preventDefault()\n    const imageLink = document.createElement('a')\n    const img = document.getElementById('chart')\n    imageLink.download = 'scenario.png'\n    imageLink.href = img.toDataURL('image/png', 1)\n    imageLink.click()\n  }\n\n  const zoom_chart=(e) => {\n    e.preventDefault()\n    const img = document.getElementById('chart')\n    img.plugins.scales.y.min = 80;\n    img.plugins.scales.y.max = 100;\n    img.update()\n  }\n\n  const cancelToken = useRef();\n\n  const run_msim_ = (e) => {\n    e.preventDefault()\n    var now = new Date().toLocaleDateString();\n    setWithspinner(true)\n    setIsrunning(true)\n    cancelToken.current = axios.CancelToken.source();\n  axios({\n      url:'https://server.ai-biolab.ru/data',\n      method: \"POST\",\n      responseType:\"blob\",\n      data: {population_data, region_data, n_future_day, init_inf},\n      cancelToken: cancelToken.current.token\n    }).then((res)=>{\n         setWithspinner(false)\n         setIsrunning(false)\n         initchart()\n      })\n  }\n\n   const break_get = () => {\n     setWithspinner(false)\n     setIsrunning(false)\n     cancelToken.current.cancel();\n   }\n\n    const [chartData_all, setChartData_all] = useState({\n      datasets: [],\n    })\n    const [initchartData_all, setINITChartData_all] = useState({\n      datasets: [],\n    })\n    const [chartOptions, setChartOptions] = useState({})\n    const [isrunning, setIsrunning] = useState(false)\n\n    let cov_data = [];\n    let cov_nd = [];\n    let cov_nd_high = []\n    let cov_nd_state=[];\n    let cov_data_state=[];\n    const [data, setData] = useState(cov_data)\n    const [data_cov_nd_high, setData_cov_nd_high] = useState(cov_nd_high)\n    const [data_cov_nd, setData_cov_nd] = useState(cov_nd)\n\n    let cov_cum_diag = [];\n    let cov_cum_diag_high = [];\n    const [data_cov_cum_diag_high, setData_cov_cum_diag_high] = useState(cov_cum_diag_high)\n    const [data_cov_cum_diag, setData_cov_cum_diag] = useState(cov_cum_diag)\n\n    let cov_new_death= [];\n    let cov_new_death_high = [];\n    const [data_cov_new_death_high, setData_cov_new_death_high] = useState(cov_new_death_high)\n    const [data_new_death, setData_cov_new_death] = useState(cov_new_death)\n\n    let cov_new_rec= [];\n    let cov_new_rec_high = [];\n    const [data_cov_new_rec_high, setData_cov_new_rec_high] = useState(cov_new_rec_high)\n    const [data_new_rec, setData_cov_new_rec] = useState(cov_new_rec)\n\n    let cov_new_crit= [];\n    let cov_new_crit_high = [];\n    const [data_cov_new_crit_high, setData_cov_new_crit_high] = useState(cov_new_crit_high)\n    const [data_new_crit, setData_cov_new_crit] = useState(cov_new_crit)\n\n\n    const [someerrors, setSomeerrors] = useState(false)\n    const [loadingprosses, setLoadingprosses] = useState(true)\n    const [chartnum, setChartnum] = useState(1)\n    //1-5 - chart\n    //6-10 - init chart\n\n    const real_data1=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"average forecast\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"maximum forecast\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data2=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.001,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data3=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data4=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"average forecast\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"maximum forecast\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data5=(e)=>{\n      axios\n      .get(\"https://server.ai-biolab.ru/api/csvCovid/nd\")\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"average forecast\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n    const real_data6=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_diagnoses));\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n          label: \"average forecast\",\n          data: data_cov_nd,\n          fill: false,\n          borderColor: \"rgba(0, 191, 255, 1)\",\n          backgroundColor: \"rgba(0, 191, 255, 1)\",\n          tension: 0.9,\n          borderWidth: 2,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1\n        },\n          {\n          label: \"maximum forecast\",\n          data: data_cov_nd_high,\n          fill: true,\n          backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n          borderColor: \"rgba(135, 206, 250, 0.8)\",\n          tension: 0.9,\n          borderWidth: 0.5,\n          pointRadius: 0.3,\n          pointHoverRadius: 5,\n          pointHitRadius: 30,\n          pointBorderWidth: 0.1,\n        },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data7=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.cum_diagnoses));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_cov_cum_diag,\n            fill: false,\n            borderColor: \"rgba(0, 0, 0, 1)\",\n            backgroundColor: \"rgba(0, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 4,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_cum_diag_high,\n            fill: true,\n            borderColor: \"rgba(0, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data8=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_deaths));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n            label: \"average forecast\",\n            data: data_new_death,\n            fill: false,\n            borderColor: \"rgba(255,0,0, 1)\",\n            backgroundColor: \"rgba(255, 0, 0, 1)\",\n            tension: 0.9,\n            borderWidth: 1,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n            {\n            label: \"maximum forecast\",\n            data: data_cov_new_death_high,\n            fill: true,\n            borderColor: \"rgba(255, 0, 0, 0.1)\",\n            backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n            tension: 0.9,\n            borderWidth: 2,\n            pointRadius: 0.3,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1,\n            },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data9=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.new_recoveries));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n                label: \"average forecast\",\n                data: data_new_rec,\n                fill: false,\n                borderColor: \"rgba(252,141,214, 1)\",\n                backgroundColor: \"rgba(252,141,214, 1)\",\n                tension: 0.9,\n                borderWidth: 4,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n                {\n                label: \"maximum forecast\",\n                data: data_cov_new_rec_high,\n                fill: true,\n                borderColor: \"rgba(252,141,214, 0.3)\",\n                backgroundColor: \"rgba(252,141,214, 0.3)\",\n                tension: 0.9,\n                borderWidth: 2,\n                pointRadius: 0.3,\n                pointHoverRadius: 5,\n                pointHitRadius: 30,\n                pointBorderWidth: 0.1,\n                },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n    const real_data10=(e)=>{\n      axios({\n          url:'https://server.ai-biolab.ru/api/curData',\n          method: \"POST\",\n          data: {region_data},\n        })\n      .then(res => {\n        for (const dataObj of res.data) {\n          cov_nd_state.push(parseInt(dataObj.n_critical));\n          cov_data_state.push(dataObj.date);\n        }\n        setINITChartData_all({\n          labels: data,\n          datasets: [\n            {\n            label: \"data\",\n            data: cov_nd_state,\n            borderColor: \"rgb(255, 127, 80)\",\n            backgroundColor: \"rgb(255, 127, 80, 1)\",\n            tension: 0.9,\n            borderWidth: 0.01,\n            pointRadius: 2,\n            pointHoverRadius: 5,\n            pointHitRadius: 30,\n            pointBorderWidth: 0.1\n          },\n          {\n              label: \"average forecast\",\n              data: data_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: data_cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n        ],\n        });\n      }).catch(err => {\n          console.log(err);\n        });\n    }\n\n\n    const initchart = () => {\n      setChartnum(6)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n              {\n              label: \"maximum forecast\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },\n          ],\n          });\n          setChartOptions({\n             maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"The forecast of new infections\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n          setnewChart(false)\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_cumdiag = () => {\n      setChartnum(7)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Forecast of the total number of infections\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_newdeath = () => {\n      setChartnum(8)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of fatal outcomes\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_rec = () => {\n      setChartnum(9)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of new cases of recovery\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const initchart_new_crit = () => {\n      setChartnum(10)\n      axios({\n          url:'https://server.ai-biolab.ru/getUMsim2',\n          method: \"POST\",\n          data: {population_data, region_data, n_future_day, init_inf},\n        })\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setINITChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of the number of patients in critical condition\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    const chart = () => {\n      setChartnum(1)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          setLoadingprosses(false)\n          setSomeerrors(false)\n          for (const dataObj of res.data.results.new_diagnoses) {\n            cov_nd.push(parseInt(dataObj));\n            setData_cov_nd(cov_nd)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_diagnoses_high) {\n            cov_nd_high.push(dataObj);\n            setData_cov_nd_high(cov_nd_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_nd,\n              fill: false,\n              borderColor: \"rgba(0, 191, 255, 1)\",\n              backgroundColor: \"rgba(0, 191, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_nd_high,\n              fill: true,\n              backgroundColor: \"rgba(135, 206, 250, 0.2)\",\n              borderColor: \"rgba(135, 206, 250, 0.8)\",\n              tension: 0.9,\n              borderWidth: 0.5,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n            },],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                pan: {\n                  enabled: true,\n                  mode: 'xy',\n                },\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {\n                     enabled: true\n                   },\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"The forecast of new cases of infection\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                position: \"top\",\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          setLoadingprosses(false)\n          setSomeerrors(true)\n          console.log(err);\n        });\n    };\n    const chart_cumdiag = () => {\n      setChartnum(2)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.cum_diagnoses) {\n            cov_cum_diag.push(parseInt(dataObj));\n            setData_cov_cum_diag(cov_cum_diag)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.cum_diagnoses_high) {\n            cov_cum_diag_high.push(dataObj);\n            setData_cov_cum_diag_high(cov_cum_diag_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_cum_diag,\n              fill: false,\n              borderColor: \"rgba(0, 0, 0, 1)\",\n              backgroundColor: \"rgba(0, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_cum_diag_high,\n              fill: true,\n              borderColor: \"rgba(0, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Forecast of the total number of infections\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_newdeath = () => {\n      setChartnum(3)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_deaths) {\n            cov_new_death.push(parseInt(dataObj));\n            setData_cov_new_death(cov_new_death)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_deaths_high) {\n            cov_new_death_high.push(dataObj);\n            setData_cov_new_death_high(cov_new_death)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_death,\n              fill: false,\n              borderColor: \"rgba(255,0,0, 1)\",\n              backgroundColor: \"rgba(255, 0, 0, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_death_high,\n              fill: true,\n              borderColor: \"rgba(255, 0, 0, 0.1)\",\n              backgroundColor: \"rgba(255, 0, 0, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of fatal outcomes\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_rec = () => {\n      setChartnum(4)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_recoveries) {\n            cov_new_rec.push(parseInt(dataObj));\n            setData_cov_new_rec(cov_new_rec)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_recoveries_high) {\n            cov_new_rec_high.push(dataObj);\n            setData_cov_new_rec_high(cov_new_rec_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_rec,\n              fill: false,\n              borderColor: \"rgba(252,141,214, 1)\",\n              backgroundColor: \"rgba(252,141,214, 1)\",\n              tension: 0.9,\n              borderWidth: 4,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_rec_high,\n              fill: true,\n              borderColor: \"rgba(252,141,214, 0.3)\",\n              backgroundColor: \"rgba(252,141,214, 0.3)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of new cases of recovery\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n    const chart_new_crit = () => {\n      setChartnum(5)\n      axios\n        .get(\"https://server.ai-biolab.ru/getMsim\")\n        .then(res => {\n          for (const dataObj of res.data.results.new_critical) {\n            cov_new_crit.push(parseInt(dataObj));\n            setData_cov_new_crit(cov_new_crit)\n          }\n          for (const dataObj of res.data.results.date) {\n            cov_data.push(dataObj);\n            setData(cov_data)\n          }\n          for (const dataObj of res.data.results.new_critical_high) {\n            cov_new_crit_high.push(dataObj);\n            setData_cov_new_crit_high(cov_new_crit_high)\n          }\n          setChartData_all({\n            labels: cov_data,\n            datasets: [\n              {\n              label: \"average forecast\",\n              data: cov_new_crit,\n              fill: false,\n              borderColor: \"rgba(128, 0, 255, 1)\",\n              backgroundColor: \"rgba(128, 0, 255, 1)\",\n              tension: 0.9,\n              borderWidth: 1,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n              {\n              label: \"maximum forecast\",\n              data: cov_new_crit_high,\n              fill: true,\n              borderColor: \"rgba(128, 0, 255, 0.1)\",\n              backgroundColor: \"rgba(128, 0, 255, 0.1)\",\n              tension: 0.9,\n              borderWidth: 2,\n              pointRadius: 0.3,\n              pointHoverRadius: 5,\n              pointHitRadius: 30,\n              pointBorderWidth: 0.1,\n              },\n          ],\n          });\n          setChartOptions({\n            maintainAspectRatio : false,\n            responsive: true,\n              plugins: {\n                zoom: {\n                  pan: {\n                    enabled: true,\n                    mode: 'xy',\n                  },\n                 zoom: {\n                   wheel: {\n                     enabled: true,\n                     speed: 0.1,\n                   },\n                   drag: {\n                    enabled: true,\n                  },\n                   pan: {enabled: true},\n                   pinch: {\n                     enabled: true\n                   },\n                   mode: 'xy',\n                 },\n\n              },\n              legend: {\n                position: \"top\",\n              },\n              title: {\n                display: true,\n                align: 'start',\n                text: \"Prognosis of the number of patients in critical condition\",\n              },\n              subtitle: {\n                display: true,\n                align: 'end',\n                text: [\"Forecasting region: \" + region_name, \"Population size: \" + population_data, \"Initially infected: \"+ init_inf, \"Days of forecasting: \" + n_future_day],\n              },\n            }\n          });\n        })\n        .catch(err => {\n          console.log(err);\n        });;\n    };\n\n    useEffect(() => {\n      real_data1();\n    }, [])\n\n    useEffect(() => {\n      chart();\n    }, [])\n\n  const [withspinner, setWithspinner] = useState(false)\n  const [newChart, setnewChart] = useState(true) /////true\n  const [open, setOpen] = useState(false);\n  const [reset, setReset] = useState(true);\n\n  const variants = {\n    visible: custom => ({\n      opacity: 1,\n      x: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      x: -100,\n   },\n  }\n\n  const variants2 = {\n    visible: custom => ({\n      opacity: 1,\n      y: 0,\n      transition: {\n        delay: custom * 0.2}\n    }),\n    hidden: {\n      opacity: 0,\n      y: 100,\n   },\n  }\n\n\n  return(\n  <>\n  <NaviBarv2_En />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p className=\"lead my-4\">The laboratory investigates mathematical models of the spread of infectious diseases in a population (epidemics) based on differential equations (ordinary, partial differential equations, stochastic), agent-based, machine learning models and their combinations. The main idea that unites all mathematical models is to build algorithms for analyzing and identifying unknown model parameters (coefficients, initial and boundary conditions) that characterize the spread of the epidemic in the region under study: the contagiousness of the virus, the rate of development of severe forms of the disease, the number of asymptomatic infected, the level of isolation of patients, mortality, etc.</p>\n        <Tabs  justify defaultActiveKey=\"AOM\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"AOM\" title=\"The agent-based model\">\n          <Card className=\"text-center mx-auto\" border=\"light\" bg=\"light\">\n          <Row >\n            <Col md={2} >\n            <Row >\n              <Col xs= {12}  lg={12}>    <Button\n                    variant=\"outline-primary\"\n                    className=\"bg-white shadow1 text-primary my-2 mx-2\"\n                    onClick={() => setOpen(!open)}\n                    aria-controls=\"example-fade-text\"\n                    aria-expanded={open}\n                  >  {open? <BsFillCaretDownFill size = {15}/> : <BsFillCaretRightFill size = {15}/>} Description of the model\n                  </Button></Col>\n              <Col xs= {12} lg={12}>\n\n              <OverlayTrigger\n                rootClose={true}\n                 placement=\"bottom\"\n                 ref={(ref) => this.overlay = ref}\n                 overlay={\n                   <Popover className=\"shadow1\">\n                     <Popover.Body>\n                     <div align=\"center\" className=\"text-black\">\n                     Modeling scenarios for the spread of Covid-19 in the Republic of Kazakhstan based on the regularization of the agent model.</div>\n                     <small  align=\"center\" className=\"text-success\"><div>O.I. Krivorotko</div>\n                     <div>S.I. Kabanikhin</div>\n                      <div>M.A. Bektemesov</div>\n                        <div>M.I. Sosnovskaya</div>\n                          <div>A.V.Neverov</div></small>\n                     </Popover.Body>\n                   </Popover>\n                 }>\n                <Button variant=\"link\" onClick={(e)=>{\n                download_article(e)\n                document.body.click(e)\n                this.overlay.hide()\n                }}><BsFillFileEarmarkPdfFill size={30}/></Button>\n                  </OverlayTrigger>\n                  <OverlayTrigger\n                  rootClose={true}\n                     placement=\"bottom\"\n                     ref={(ref) => this.overlay = ref}\n                     overlay={\n                       <Popover className=\"shadow1\">\n                         <Popover.Body>\n                         <div align=\"center\" className=\"text-success\">\n                         <div><small>Publication in the journal Modeling of Infectious Diseases.</small></div>\n                         <div className=\"text-black\">Агентное моделирование вспышек COVID-19 в штате Нью-Йорк и Великобритании: алгоритм идентификации параметров</div>\n                         <div><small>O.I. Krivorotko</small></div>\n                         <div><small>M.I. Sosnovskaya</small></div>\n                         <div><small>I.A. Vashchenko</small></div>\n                         <div><small>CliffKerr</small></div>\n                         <div><small>DanielLesnic</small></div>\n                    </div>\n                         </Popover.Body>\n                       </Popover>\n                     }>\n                    <a href=\"https://www.sciencedirect.com/science/article/pii/S2468042721000798\"><Button variant=\"link\" onClick={(e)=>{\n                    document.body.click(e)\n                    this.overlay.hide()\n                    }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                      </OverlayTrigger>\n                      <OverlayTrigger\n                      rootClose={true}\n                      ref={(ref) => this.overlay = ref}\n                         placement=\"bottom\"\n                         overlay={\n                           <Popover className=\"shadow1\">\n                             <Popover.Body>\n                             <div align=\"center\" className=\"text-success\">\n                             <div><small>Preprint 300 SB RAS, S.L.Sobolev Institute of Mathematics.</small></div>\n                             <div className=\"text-black\">Mathematical models of the spread of COVID-19.</div>\n                              <div><small>O.I. Krivorotko</small></div>\n                              <div><small>S.I. Kabanikhin</small></div>\n                        </div>\n                             </Popover.Body>\n                           </Popover>\n                         }>\n                          <a href=\"https://arxiv.org/pdf/2112.05315.pdf\"><Button variant=\"link\" onClick={(e)=>{\n                          document.body.click(e)\n                          this.overlay.hide()\n                          }}><BsFillArrowUpRightSquareFill size={30}/></Button></a>\n                          </OverlayTrigger>\n                          </Col>\n                          </Row>\n          </Col>\n          <Col md={10} >\n        <Card className=\"my-3 shadow1\">  <p align=\"justify\" className=\"mx-3 my-1\"><small>Forecasting is performed using an agent-based model for calculating scenarios for the dynamics of identified cases.\nCOVID-19, which is based on the processing of incomplete epidemiological data and solving the inverse problem of restoring the parameters of the agent\nmodel based on the totality of available epidemiological data. The main tool for building a model is an open library <a href=\"https://docs.idmod.org/projects/covasim/en/latest/index.html\" >COVASIM</a>. </small></p></Card>\n<div className=\"mx-2\"><hr /></div>\n      </Col>\n        </Row>\n          <Collapse in={open}>\n            <div id=\"example-collapse-text\" className=\"my-2\">\n                <Description_AOM />\n            </div>\n          </Collapse>\n          <Row >\n            <Col sm={12} xs={12} md={12} lg={4}>\n            <motion.div initial=\"hidden\"\n               custom={1}\n              variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n              <ListGroup className = \"mx-3 my-1 shadow1\">\n              <OverlayTrigger\n               placement=\"right\"\n               overlay={\n                <Alert variant=\"danger\">\n                  <h6>Please do not refresh the page</h6>\n<small>when entering parameters and after launching the model, </small>\n                  <div><small>otherwise the calculations will be aborted</small></div>\n                </Alert>\n\n               }\n               >\n                <ListGroup.Item align=\"left\" className=\"bg-secondary text-white\">Simulation Parameters\n                <BsExclamationLg />\n\n                </ListGroup.Item>\n                </OverlayTrigger>\n                <ListGroup.Item variant=\"light\">\n                <Row >\n                  <Col sm={12} sm={12} xs={12} md={12} lg={7} >\n                  <Stack gap={0}>\n                  <div>\n                <Stack direction=\"horizontal\" gap={3}>\n                <div > <p align=\"left\" className=\"my-3 text-black text-small\"><small>Region</small></p></div>\n\n                    <div>\n                    <OverlayTrigger\n                     placement=\"right\"\n                     overlay={\n                       <Popover>\n                         <Popover.Body>\n                         A region for building a disease development scenario.\n                         </Popover.Body>\n                       </Popover>\n                     }\n                     >\n                        <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                      </OverlayTrigger>\n                    </div>\n              </Stack>\n                  </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={2}>\n                  <div > <p align=\"left\" className=\"my-2 text-black text-small\"><small>Population size</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                       The number of human agents susceptible to the disease.\n                         <hr />\n                         <small className=\"text-muted\">from 1,000,000 to 8,000,000</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={0}>\n                  <div > <p align=\"left\" className=\" text-black text-small\"><small>Initially infected</small></p></div>\n\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                       The number of initially infected people.\n                         <hr />\n                         <small className=\"text-muted\">from 10 to 100 people</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                    </div>\n                    <div>\n                    <Stack direction=\"horizontal\" gap={3}>\n                  <div > <p align=\"left\" className=\" my-2 text-black text-small\"><small>Days of forecasting</small></p></div>\n                  <div>\n                  <OverlayTrigger\n                   placement=\"right\"\n                   overlay={\n                     <Popover>\n                       <Popover.Body>\n                       How many days in advance is the scenario for the development of the disease?\n                        <hr />\n                        <small className=\"text-muted\">from 10 to 100 days</small>\n                       </Popover.Body>\n                     </Popover>\n                   }\n                   >\n                      <Button size=\"sm\" variant=\"link\" className=\"text-success\">?</Button>\n                    </OverlayTrigger>\n                  </div>\n                </Stack>\n                <Row >\n                      <Col sm={6}></Col>\n                      <Col sm={6}>  <Button variant=\"secondary\" align=\"end\" className=\" my-3 text-white shadow1\" disabled={!isrunning} onClick={break_get}>Abort</Button></Col>\n                </Row>\n                    </div>\n                  </Stack>\n              </Col>\n                  <Col sm={12} sm={12} xs={12} md={12} lg={5}>\n                  <Formik\n                        validationSchema={schema}\n                        onChange={(e) => setPopulation_data(e.target.values.population)}\n                        onSubmit={(values, actions) => {\n                            setTimeout(() => {\n                           alert(JSON.stringify(values, null, 2));\n                           actions.setSubmitting(false);\n                         }, 1000);\n                       }}\n                        initialValues={{\n                          population:  population_data,\n                          init_infected: init_inf,\n                          n_future: n_future_day,\n                          lastName: '3',\n                        }}\n                      >\n                        {({ handleSubmit, handleChange, handleBlur, values, touched, isValid, errors, resetForm, setFieldValue}) => (\n                <Form noValidate>\n                  <Stack gap={3}>\n                      <Form.Select aria-label=\"Default select example\"\n                        type=\"number\"\n                        name=\"region\"\n                        isValid={true}\n                        onChange={(e) => {\n                          const selectedRegion = e.target.value;\n                          let sregion = Number(selectedRegion)\n                          setRegion_data(sregion)\n                          if(sregion == 1){\n                            setRegion_name(\"Novosibirsk region\")\n                            setPopulation_data(2798170)\n                            setFieldValue(\"population\", 2798170)\n                          } else if(sregion == 2) {\n                            setRegion_name(\"Omsk region\")\n                            setPopulation_data(578698)\n                            setFieldValue(\"population\", 1879548)\n                          } else if(sregion == 3) {\n                            setRegion_name(\"Altai Territory\")\n                            setPopulation_data(2268179)\n                            setFieldValue(\"population\", 2268179)\n                          }\n                        }}\n                        >\n                            <option value=\"1\">Novosibirsk region</option>\n                            <option value=\"2\">Omsk region</option>\n                            <option value=\"3\">Altai Territory</option>\n                      </Form.Select>\n                      <Form.Group key={1} as={Col} controlId=\"validationFormik01\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"population\"\n                          value={values.population}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.population}\n                          isInvalid={!!errors.population}\n                          onSubmit={setPopulation_data(values.population)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={2} as={Col} controlId=\"validationFormik04\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"init_infected\"\n                          value={values.init_infected}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.init_infected}\n                          isInvalid={!!errors.init_infected}\n                          onSubmit={setInit_inf(values.init_infected)}\n                        />\n                      </Form.Group>\n                      <Form.Group key={3} as={Col} controlId=\"validationFormik02\">\n                        <Form.Control\n                          type=\"number\"\n                          name=\"n_future\"\n                          value={values.n_future}\n                          onChange={handleChange}\n                          onBlur={handleBlur}\n                          isValid={!errors.n_future}\n                          isInvalid={!!errors.n_future}\n                          onSubmit={setN_future_day(values.n_future)}\n                        />\n                      </Form.Group>\n\n                        <Button  type=\"submit\"  variant=\"success\" className=\"shadow1\"\n                          disabled={!isValid || isrunning}\n                          onSubmit={handleSubmit}\n                          onClick={(e) => run_msim_(e)}\n                        >\n                        {withspinner ? <Spinner\n                          as=\"span\"\n                          animation=\"border\"\n                          size=\"sm\"\n                          role=\"status\"\n                          aria-hidden=\"true\"\n                        /> : null } To run</Button>\n                  </Stack>\n                  </Form>\n                )}\n\n              </Formik>\n                </Col>\n                {withspinner ? <small className=\"text-muted\"><small> ..Expected calculation time: 1 minute </small></small> : null }\n            </Row>\n            </ListGroup.Item>\n        </ListGroup>\n         </motion.div>\n            </Col>\n            <Col sm={12} xs={12} md={12} lg={8}>\n            <Container>\n            <Stack>\n      <div className=\"ms-auto\">\n              <motion.div initial=\"hidden\"\n                 custom={1}\n                variants={variants} whileInView=\"visible\" viewport={{amount: 0.1, once: true}}>\n            {chartnum == 1 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data1(e)}>Show data</Button> : null}\n            {chartnum == 2 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data2(e)}>Show data</Button> : null}\n            {chartnum == 3 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data3(e)}>Show data</Button> : null}\n            {chartnum == 4 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data4(e)}>Show data</Button> : null}\n            {chartnum == 5 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data5(e)}>Show data</Button> : null}\n\n            {chartnum == 6 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data6(e)}>Show data</Button> : null}\n            {chartnum == 7 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data7(e)}>Show data</Button> : null}\n            {chartnum == 8 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data8(e)}>Show data</Button> : null}\n            {chartnum == 9 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data9(e)}>Show data</Button> : null}\n            {chartnum == 10 ? <Button variant=\"outline-danger\" className=\"\" size=\"sm\" onClick={(e)=>real_data10(e)}>Show data</Button> : null}\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">To hide the displayed data, click on their names.</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\"align-right mx-1\" onClick={(e)=>zoom_chart(e)}><BsInfo size = {18} /></Button>\n              </OverlayTrigger>\n            <OverlayTrigger\n             placement=\"left\"\n             overlay={\n               <Popover>\n                 <Popover.Body>\n                  <small className=\"text-muted\">To zoom in, select the desired area or scroll the mouse wheel.</small>\n                 </Popover.Body>\n               </Popover>\n             }\n             >\n              <Button variant=\"outline-secondary\" size=\"sm\"  className=\" mx-1\" onClick={(e)=>zoom_chart(e)}><BsZoomIn /></Button>\n              </OverlayTrigger>\n              <Button variant=\"outline-secondary\" size=\"sm\" className=\"\" onClick={(e)=>download_chart(e)}><FiDownload/></Button>\n              </motion.div>\n              </div></Stack>\n              {loadingprosses ? <div style={{\n                      height: '400px'}}><Spinner style={{position: 'absolute', top: '50%'}} animation=\"border\" variant=\"info\"  /></div> :\n              someerrors ?   <div style={{\n                      height: '350px' }}><Alert variant=\"danger\" className=\"my-5\"> <Alert.Heading>Download error</Alert.Heading>\n              The server is temporarily not responding, please, <Alert.Link href=\"/modeling\">refresh the page</Alert.Link> or try again later.\n              <hr /> </Alert> </div> :\n\n   newChart? <div style={{ height: '25rem' }}><Line id=\"chart\" data={chartData_all} options={chartOptions} height=\"150%\" /></div> : <div ><Line id=\"chart\" options={chartOptions} data={initchartData_all} height=\"150%\" /></div>}\n   <motion.div initial=\"hidden\"\n      custom={2}\n     variants={variants2} animate=\"visible\" viewport={{amount: 0.1, once: true}}>\n   {newChart? <Nav variant=\"pills\" defaultActiveKey=\"1\"className=\"my-2\" >\n     <Nav.Item >\n     <Button className=\"shadow3\" size=\"sm\" variant=\"outline-info\" onClick = {chart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Infections</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"2\">Total morbidity</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\"  onClick = {chart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\" eventKey=\"3\">Mortality rate</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {chart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Recovery</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {chart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Critical</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav> : null} </motion.div>\n\n   {newChart? null : <Nav variant=\"pills\" defaultActiveKey=\"1\" className=\"my-2 \">\n     <Nav.Item >\n     <Button className=\"shadow3\" className=\"chart3\" size=\"sm\" variant=\"outline-info\" onClick = {initchart} style={{color:\"#FFFFFF\"}}>\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"1\">Infections</Nav.Link>\n     </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\" onClick = {initchart_cumdiag} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"2\">Total morbidity</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button  size=\"sm\" variant=\"outline-info\"  onClick = {initchart_newdeath} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"3\">Mortality rate</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_rec} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"4\">Recovery</Nav.Link>\n       </Button>\n     </Nav.Item>\n     <Nav.Item>\n     <Button size=\"sm\" variant=\"outline-info\" onClick = {initchart_new_crit} className=\"mx-1 shadow3\">\n       <Nav.Link className=\"hoverWhite\"  eventKey=\"5\">Critical</Nav.Link>\n       </Button>\n     </Nav.Item>\n   </Nav>}\n            </Container>\n            </Col>\n          </Row>\n        </Card>\n          </Tab>\n          <Tab eventKey=\"SEIR-HCD\" title=\"SEIR-HCD\">\n          <p class=\"lead my-4\"><b><u>A differential SEIR-HCD model of the spread of COVID-19 in the regions of the Russian Federation </u></b>is constructed and analyzed , described by 7 nonlinear ordinary differential equations combined by the law of acting masses. The essence of the model is to study the spread of an infectious disease in a closed population divided into 7 groups, interconnected by coefficients (often probabilities) of transition: susceptible (S), asymptomatic carriers (E), symptomatic infected (I), cured or immune (R), hospitalized (H), critical cases people connected to a ventilator (C) and deceased (D). Within each group, individuals are uniformly mixed. The coefficients of transition between states are characterized by the average time spent in the incubation state (t<sub>inc</sub>), the average time of infection (t<sub>inf</sub>), hospitalization (t<sub>hosp</sub>), stay in critical condition (t<sub>crit</sub>) and the duration of immunity to the virus (t<sub>imm</sub>), which are determined from statistical estimates and distributed according to a log-normal law with a given mean and variance. Vector of parameters q=(<span>&alpha;</span>(t), <span>&beta;</span>(t), <span>&epsilon;</span>(t), <span>&mu;</span>(t), E<sub>0</sub>, I<sub>0</sub>) is determined during the solution of the inverse problem, which consists in minimizing the target functional describing the deviation of the model data from thl ones:</p>\n          <div class=\"center\"><img src={seir1} align=\"center\" width={1000} /></div>\n          <p class=\"lead my-4\">Here h<sub>k</sub><sup>real</sup> – number of identified COVID-19 infected per day k, b<sub>k</sub><sup>real</sup> – the proportion of asymptomatic carriers detected per day k, C<sub>k</sub><sup>real</sup> – number of critical patients per day k, g<sub>k</sub><sup>real</sup> – cumulative number of deaths as a result of COVID-19 per day k. The q parameters are piecewise constant in time, consistent with the restrictive measures taken in the Novosibirsk region (vertical dotted lines). Sensitivity analysis showed that the rate of formation of immunity <span>&beta;</span>(t) it is not sensitive to changes, which makes the inverse problem incorrect (the gray line in the figure). When adding additional information about the percentage of the population with late antibodies to the Sars-CoV-2 virus (Invitro website), the solution to the inverse problem (red line) better describes the real data from 05/22/2020 to 10/17/2021 (black dots).</p>\n          <div class=\"center\"><img src={seir2} align=\"center\" width={600} /></div>\n          <div class=\"center\"><img src={seir3} align=\"center\" width={600} /></div>\n          <p class=\"lead my-4\">A differential mathematical model of the spread of tuberculosis and HIV co-infection in the regions of the Russian Federation is constructed and analyzed, described by a system of 8 nonlinear ordinary differential equations interconnected by the law of acting masses (Fig. 1). The principle of constructing the model is based on dividing a closed population into 8 groups: susceptible (S), carriers of latent tuberculosis (L), patients with active tuberculosis (I), cured of tuberculosis (T), HIV patients (J<sub>1</sub>), infected with HIV and latent tuberculosis (J<sub>2</sub>), patients with active tuberculosis and HIV (J<sub>3</sub>), AIDS patients (A). Model parameters q = (βc, <lambda>σ</lambda>, k, k<sup>*</sup>, r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, J<sub>1</sub>, 0) were defined as the solution to the inverse problem of additional information on the number of patients with active tuberculosis, HIV-infected and patients with active tuberculosis and HIV from 2009 to 2023. The most unfavorable regions in terms of the epidemiological situation of tuberculosis in the Russian Federation for 2023 (high level of virus contagiousness and low level of treatment of active tuberculosis): Chelyabinsk, Novosibirsk, Tula and Udmurtia (Fig. 2 and 3).</p>\n          <div class=\"center\"><img src={seir4} align=\"center\" width={600} /><p class=\"lead my-4\">Fig. 1. Scheme of the differential mathematical model of the dynamics of tuberculosis and HIV co-infection in the population.</p></div>\n          <div class=\"center\"><img src={seir5} align=\"center\" width={600} /><p class=\"lead my-4\">Fig. 2. Tuberculosis contagiousness parameter in the Russian Federation, calculated as part of the solution of the inverse problem.</p></div>\n          <div class=\"center\"><img src={seir6} align=\"center\" width={600} /><p class=\"lead my-4\">Fig. 3. Treatment rate of active tuberculosis in the regions of the Russian Federation.</p></div>\n          <p class=\"lead my-4\"></p>\n          <p class=\"lead my-4\"></p>\n          <p class=\"lead my-4\"></p>\n         \n            <ModelingSEIR_HCD_En />\n          </Tab>\n          <Tab eventKey=\"field\" title=\"Middle field models\">\n          <p class=\"lead my-4\"> Several approaches to epidemic modeling have been compared. The first approach is based on well-known SIR-type compartmental models presented as a system of ordinary differential equations. The second and third approaches are based on medium-field models, which differ in the choice of isolation strategies by the population. The comparison was carried out from several points of view: analytical analysis, sensitivity analysis with respect to model parameters, numerical comparison using synthetic and real data collected during the Covid-19 pandemic. Restrictions on the existence and uniqueness of solutions to epidemiological problems of the middle field in different formulations were obtained. The sensitivity analysis of the models is carried out. The inverse coefficient epidemiological problem of the average field has been solved. Computational experiments have been conducted to reconstruct model parameters based on synthetic data, noisy synthetic data, real data, and incomplete real data.</p>\n          <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n    <Container align=\"left\">\n        <div>\n            <img src={field1} width={600} alt=\"Image Description\" />\n            <p className=\"lead my-2\" style={{ textAlign: 'left' }}>\n            Figure 1. Numerical comparison of forecasts of the number of asymptotic patients in Novosibirsk in 2020, obtained (a) using the SEIR-HCD differential model (blue line); (b) using two sets of the middle field (red and black lines) with static data (black dots)\n            </p>\n        </div>\n    </Container>\n    <Container align=\"right\">\n        <div>\n            <img src={field2} width={650} alt=\"Image Description\" />\n            <p className=\"lead my-2\" align=\"left\">\n            Figure 2. Comparison of the quality of virus contagiousness parameter recovery depending on the completeness of the actual population measurements used in different epidemiological groups\n            </p>\n        </div>\n    </Container>\n</div>\n<div class=\"center\"><img src={field3} align=\"center\" width={1000} /><p class=\"lead my-4\">Figure 3. Analysis of the sensitivity of the forecast of the number of infected people obtained using the epidemiological model of the average field to the parameters of the model. The temporal dynamics of changes in sensitivity indices (1,3,7,15,30,90,150 days) is shown.</p></div>\n          <h5 class=\"my-4\">Publications:</h5>\n          <p class=\"lead my-4\">1.\tV. Petrakova, O. Krivorotko. Comparison of two mean field approaches to modeling. JOTA. </p>\n          <h5 class=\"my-4\">Принята к печати. WoS, Scopus, Q1-SJR</h5>\n          <p class=\"lead my-4\">2.\tV. Petrakova. Inverse coefficient problem for epidemiological mean field formulation. Mathematics. 2024, 12(22), 3581. </p>\n          <h5 class=\"my-4\">WoS, Scopus Q2-SJR</h5>\n          </Tab>\n          <Tab eventKey=\"machine\" title=\"Machine learning\">\n          <p className=\"lead my-4\"><u>A time series forecasting model using a Bayesian approach and Gaussian processes to estimate the capacity of a group of wind farms</u></p>\n          <p className=\"lead my-4\">Time series forecasting is an urgent task in aviation, energy, climatology, and economics. Time series characterize a number of physical and economic processes. Forecasting methods can be short-term, medium-term, or long-term. Statistical models usually predict values 1-3 points ahead, which is insufficient for many applications. To ensure the accuracy of the forecast for a large number of points ahead, it is advisable to use probabilistic forecasting models over time, since they contain a confidence interval. The uncertainty of the predicted values can be expressed using different probability measures (PDF, CDF, quantiles, intervals, variance, and others). </p>\n          <p className=\"lead my-4\">In many countries (China, Denmark, Germany, Great Britain, USA), work is actively underway to develop new ML/AI models for evaluating the operation of wind farms (wind farms). He offers to try his hand at working with ML/AI, additional computer equipment and, based on it, implement it into the operation of an electronic system. As a rule, short-term models aim at a forecast for 10-30 minutes; long-term models (market) for 24-72 hours ahead. Closed data on metrology and work with various levels (akatons) are available for testers: GEFCom2014, Baidu KDD Cup 2022, Zendoo UK 2022, IEEE Power and Energy Society Working Group on Engineering Forecasting and Analytics 2024</p>\n          <p className=\"lead my-4\">The project considers setting the task of predicting power generation for a group of wind turbines equipped with a data collection system. Historical data (wind speed, wind direction, air temperature, power output P, angle of rotation of the blades, angle of rotation of the nacelle, and other parameters) for 2 years with a recording time of 1 hour were used. The total number of records is N=17250. It is necessary to develop a probabilistic model for predicting electricity 24 hours in advance with a confidence interval of 80%, 90%, 95%. </p>\n          <p className=\"lead my-4\">After studying the initial data, it was necessary to eliminate outliers and omissions in the data.</p>\n          <p className=\"lead my-4\">To build a forecast model, a Gaussian regression model was used for the wind turbine power function depending on weather data in the presence of noise.</p>\n          <p className=\"lead my-4\">It is planned to use Bayesian theory to calculate the a posteriori power distribution of wind turbines, i.e. the value obtained after observations, which is the product of a priori probability and likelihood. For convenience, the probability distribution of the power forecast can be normalized using the logit-normal transformation and varied in the range [0-1].</p>\n          <p className=\"lead my-4\">A probabilistic sparse variational model based on a Gaussian process includes a fully connected neural network model for finding the average function and the covariance function. To represent the neural network model, a finite function was used, which was a composition of affine functions and activation functions. The covariance function had a quadratic exponential kernel.</p>\n          <p className=\"lead my-4\">In the process of solving such tasks on a computing server, it is always necessary to evaluate RAM resources and available disk space. To reduce the dimension of the model, special model points are set in the amount of M, which satisfy the ratio M≪N. As a result, a vector of a set of Z points is formed. The a posteriori distribution of wind turbine power is recorded relative to new variables. To find the parameters of the model, the problem of finding the maximum of the objective likelihood function is solved. The neural network model includes an input layer [1,512], 2 hidden layers [512,512], and one output layer [512,1]. The activation function is set by ReLU.  </p>\n          <p className=\"lead my-4\">As a result of processing the initial data, negative values and peak power values are excluded from the dataset. There is an annual trend for the temperature value (Fig. 1). The model is trained on a piece of historical data. Next, test data is fed to the input of the model and a forecast of the P value for one wind turbine is made. Based on the results of training and forecasting, the average value of the power function and the variance are calculated. The model is trained using the Adam optimizer, lr=1e-3, the number of epochs is 200. The number of model points varies from 600 to 1000.</p>\n          <p className=\"lead my-4\">As a result of the prediction, graphs were obtained for the power value and the values of the MAE, ROSE, and CROSS metrics for a single wind turbine. Next, the values of the power forecast P were added for the entire group of 8 wind turbines. The error value did not exceed 6%.</p>\n          <img src={machine1} align=\"left\" width={640} />\n          <img src={machine2} align=\"right\" width={638} />\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Fig. 1 The value of wind speed, wind direction, temperature, wind turbine power.</p>\n          <img src={machine3} align=\"left\" width={640} />\n          <img src={machine4} align=\"right\" width={640} />\n          <br></br>\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Fig. 2. Power prediction results for 24 and 48 hours ahead for wind turbines in kW</p>\n          <p className=\"lead my-4\">The project plans to refine the probabilistic model of electricity forecasting for 24 hours ahead with a confidence interval of 90%, 95%. </p>\n          <p className=\"lead my-4\"><u>Time series forecasting models for describing epidemic spread processes</u></p>\n          <p className=\"lead my-4\">Machine learning models of short-term time series forecasting have been built that describe the processes of epidemic spread if there is enough data (the COVID-19 epidemic). The figure shows the architecture of a neural network consisting of recurrent and fully connected layers. Recurrent neural network layers, in addition to feature space analysis, are capable of analyzing the time space in the data.</p>\n          <img src={machine5} align=\"left\" width={604} />\n          <img src={machine6} align=\"right\" width={690} />\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>To build confidence Bayesian intervals, a mathematical model was built based on a conditional generative-adversarial neural network, the architecture of which is shown in the figure below [link to the latest article].</p>\n          <div class=\"center\"> <img src={machine7} align=\"center\" width={630} /></div>\n          <p className=\"lead my-4\">The results included forecasts of the spread of the COVID-19 epidemic in St. Petersburg in 2024 for 1, 3 and 5 days ahead (red line) in comparison with the actual data on the number of detected cases of infection (black dots), the confidence interval (red bar) and the model error (right columnar graphs).</p>\n          <div class=\"center\"><img src={machine8} align=\"center\" width={630} /></div>\n          <p className=\"lead my-4\">The constructed neural network models: fully connected (purple line), generative-adversarial (blue line, average) – were compared with the differential SEIR-HCD model (red line) based on real data on the number of infected people in St. Petersburg in 2022-2024 (black dots). The models obtained are in good agreement with real data and with each other, including short-term forecasts of up to 5 days.</p>\n          <div class=\"center\"><img src={machine9} align=\"center\" width={900} /></div>\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer_En />\n  </>\n)}\n\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport medicine1 from \"./images/directions/medicine1.png\"\nimport medicine2 from \"./images/directions/medicine2.png\"\nimport medicine3 from \"./images/directions/medicine3.png\"\nimport medicine4 from \"./images/directions/medicine4.png\"\nimport medicine5 from \"./images/directions/medicine5.png\"\nimport medicine6 from \"./images/directions/medicine6.png\"\nimport medicine7 from \"./images/directions/medicine7.png\"\n\nimport Footer_En from './Components/Footer_En'\n\n\n\nexport function Medicine_En(){\n\n\n  return(\n  <>\n  <NaviBarv2_En />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n        <Tabs  justify defaultActiveKey=\"AI\" id=\"uncontrolled-tab-example\" >\n          <Tab eventKey=\"AI\" title=\"AI segmentation of pathologies in the brain\">\n          <p class=\"lead my-4\">Segmentation of cerebral vascular aneurysms was performed using a U-Net-like 3D segmentation model. </p>\n          <p class=\"lead my-4\">The model has 180,000 trainable parameters, weighs 0.72 mb, and the prediction time is 821 ms ± 63.6 ms. The architecture diagram is presented below.</p>\n          <div class=\"center my-4\"><img src={medicine1} align=\"center\" width={900} /></div>\n          <p class=\"lead my-4\">200 3D CT images of the upper torso of patients with aneurysms were used. The images had a vertical size from 500 to 1100 and a horizontal size of 512x512. For analysis, the skull area was cut out and the image size was reduced to 128x128x128. The intensity of the images was set in the range of 50-450.</p>\n          <div class=\"center my-4\"><img src={medicine2} align=\"center\" width={700} /></div>\n          <p class=\"lead my-4\">The results showed high accuracy in locating aneurysms, while the shape of the area itself remained within an acceptable margin of error. The model also noted areas similar to aneurysms that were not noted by doctors.</p>\n          <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n    <Container align=\"left\">\n        <div>\n            <img src={medicine3} width={638} alt=\"Image Description\" />\n            <p className=\"lead my-2\" style={{ textAlign: 'center' }}>\n            Initial segmentation\n            </p>\n        </div>\n    </Container>\n    <Container align=\"right\">\n        <div>\n            <img src={medicine4} width={630} alt=\"Image Description\" />\n            <p className=\"lead my-2\" align=\"center\">\n            Segmentation by the model\n            </p>\n        </div>\n    </Container>\n</div>\n          </Tab>\n          <Tab eventKey=\"Nuclear\" title=\"Models in nuclear medicine\">\n          <p class=\"lead my-4\"><b>Single-photon emission computed tomography (SPECT) is one of the leading imaging methods in nuclear medicine used for the diagnosis of oncological, cardiological and neurological diseases. Modern research in this field is shifting from qualitative interpretation of images to an accurate quantitative assessment of the accumulation of radiopharmaceuticals</b> in pathological foci. This is necessary for the dosimetric planning and evaluation of the effectiveness of radionuclide therapy (RT), especially in patients with metastatic cancer, where RT is highly effective. </p>\n          <p class=\"lead my-4\"><b>The problems of accuracy</b> of quantitative estimation in SPECT are related to the mathematical incorrectness of reconstruction tasks, Poisson-type noise in projection data, and the appearance of <b>edge artifacts</b> in high-contrast areas (for example, tumor foci), which, as it turned out, persist over a large number of iterations of the reconstruction algorithm (Fig. 1). <b>Clinical research methods</b> are limited by the lack of reference data, radiation exposure, and the high cost of testing with physical phantoms (for example, NEMA IEC (Fig. 2A)).</p>\n          <p class=\"lead my-4\">The laboratory is developing an approach based on <b>simulation using a digital twin of the NEMA IEC phantom</b> (Fig. 2B). This method allows you to flexibly vary the protocol parameters and the characteristics of the foci, and virtual tests are performed.</p>\n          <p class=\"lead my-4\"><b>The aim</b> of the research is to determine the optimal parameters of the OSEM reconstruction algorithm to obtain an accurate quantitative assessment of the activity of RFP in pathological foci. Simulation showed that the optimal number of iterations depends on the size of the lesion. <b>The results obtained</b> can become recommendations for improving the accuracy of quantitative analysis of SPECT images, improving diagnosis and optimizing treatment planning.</p>\n          <div class=\"center\"><img src={medicine5} align=\"center\" width={700} /><p class=\"lead my-4\">Fig. 1. Reconstructed profiles of the NEMA IEC numerical phantom: the blue curve is the reference data; the red curve is the reconstructed activity profile. The preservation of edge artifacts is observed over a large number of n iterations.</p></div>\n          \n          <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n    <Container align=\"center\">\n        <div>\n            <img src={medicine6} width={300} alt=\"Image Description\" />\n        </div>\n    </Container>\n    <Container align=\" center\">\n        <div>\n            <img src={medicine7} width={300} alt=\"Image Description\" />\n        </div>\n    </Container>\n</div>\n          <p className=\"lead my-4 text-center\" style={{ clear: 'both' }}>Fig. 2. A) An image of a physical NEMA IEC phantom, B) A cross-section of a numerical NEMA IEC phantom passing through the center of the spheres.</p>\n          </Tab>\n        </Tabs>\n    </Container>\n    <Footer_En />\n  </>\n)}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport ModelingSEIR_HCD from './ModelingSEIR_HCD'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport pollution1 from \"./images/directions/pollution1.png\"\nimport pollution2 from \"./images/directions/pollution2.png\"\nimport pollution3 from \"./images/directions/pollution3.png\"\nimport Footer_En from './Components/Footer_En'\n\n\n\nexport function Pollution_modeling_En(){\n\n\n  return(\n  <>\n  <NaviBarv2_En />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p class=\"lead my-4\"><u>Development of a model for predicting emissions (CO, CO2, NOx) at Russian thermal power plants using machine learning models and deep neural networks to assess regional ecology”</u></p>\n                <p class=\"lead my-4\">One of the relevant topics in the field of energy is related to the creation of digital counterparts of power plants, using the achievements of artificial intelligence to improve the efficiency and reliability of thermal power equipment (CCGT, GTU). The schematic diagram of a thermal power plant (CHP) shows the technological connection of all its main elements and their role in the technological process of generating heat and electric energy. Figure 1 shows a schematic thermal diagram of a combined-cycle power plant with a capacity of 230 MW.  </p>\n                <p class=\"lead my-4\">In the field of studying the operation of thermal power plants and assessing harmful emissions over the past 5 years, we can mention the work of authors from Turkey (Namık Kemal University, Tekirdağ), Canada (Southern Alberta Institute of Technology), China (SJTU), Great Britain (University of Aberdeen), Siemens UK; USA (Harvard University; Jet Propulsion Laboratory; California Institute of Technology, Pasadena).This scientific direction is relevant in connection with the reduction of emissions of harmful substances into the atmosphere, with compliance with the requirements of international standards in the field of environmental standards.</p>\n                <p class=\"lead my-4\">Our scientific work is aimed at forming datasets for 3 gas turbine units (GTU) of the Alstom GT13E2 model with a nominal capacity of P=180 MW, which operate as part of TPP 44, as part of 3 different combined-cycle gas plants (CCGTs), as well as TPP 11 (models of Siemens V64.3A / SGT-1000F GTU with rated power of P= 70 MW and Ansaldo AE64.3A with rated power P= 75 MW). The emission values of CO (carbon monoxide), CO2, and NO2 (nitrogen oxide) are estimated in mg/m3 based on historical data from the automated process control system for 3 years (2021-2023). The data recording time is set to 1 hour. </p>\n                <p class=\"lead my-4\">At the first stage, 18 parameters were selected for the formation of the dataset at the CHPP: \n- ambient temperature, pressure, humidity; <br></br>\n- temperature at the inlet and outlet of the turbine; <br></br>\n- gas pressure at the turbine inlet; <br></br>\n- gas pressure before and after the compressor; <br></br>\n- temperature in the compressor; <br></br>\n- the generated capacity of the GTU; <br></br>\n- values of CO, 02, CO2, NOx (Fig.2, Fig.3).\n</p>\n                <p class=\"lead my-4\">It is worth noting that the authors from the University of Aberdeen, UK are currently implementing the SGT-400 GTU environmental monitoring project and collecting about 174 parameters. Further, the amount of data is reduced to 88, ML methods are used.</p>\n                <p class=\"lead my-4\">Data from the Sentinel-2, Sentinel-5P/TROPOMI, and Landsat 7,8,9 satellites can be used as initial data for analyzing the emission values of CO,CO2, and NOx oxide emissions from Russian thermal power plants and determining the position of atmospheric jets (plumes) from chimneys. Weather data on wind speed, wind direction, and moisture content from ECMWF's ERA5 databases. It is planned to use models for the inversion of the Gaussian plume, to take into account the influence of the transverse flow, the integral increase in mass and the divergence method.</p>\n                <p class=\"lead my-4\">The project plans to develop a mathematical model for predicting emissions of harmful substances and implement it as a program in Python.</p>\n                <p class=\"lead my-4\">The project uses advanced processing methods (eXtreme Gradient Boosting – GBDT XGBoost; LightGBM; SVGP – Sparse variational Gaussian processes), models of large neural networks: LSTM, Extreme learning machine (ELM) regressor; transformer (transformer of self-exposure and impact between choices - Saint; FT-transformer, Tab-transformer, minirocket). It is suggested to use the library for PyTorch support software: tsai, pytorch_tabular, tab-transformer-pytorch.</p>\n                <div class=\"center my-4\"><img src={pollution1} align=\"center\" width={700} /></div>\n                <div class=\"center\"><img src={pollution2} align=\"center\" width={850} /><p class=\"lead my-4\">Fig. 2. An example of a time series for NOx emissions in mg/m3 from the Russian CHPP 44 power plant based on observations with a recording frequency of 1 hour for 2022-2023.</p></div>\n                <div class=\"center\"><img src={pollution3} align=\"center\" width={850} /><p class=\"lead my-4\">Fig. 3. An example of a time series for CO2 emissions in mg/m3 from the Russian CHPP 44 power plant based on observations with a recording frequency of 1 hour for 2022-2023.</p></div>\n                \n    </Container>\n    <Footer_En />\n  </>\n)}","import React, {useState, useEffect, useRef} from \"react\";\nimport {Container, Tabs, Tab} from 'react-bootstrap';\nimport NaviBarv2_En from './Components/NaviBarv2_En';\nimport ModelingSEIR_HCD from './ModelingSEIR_HCD'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"./styles.css\";\nimport social1 from \"./images/directions/social1.png\"\n\nimport Footer_En from './Components/Footer_En'\n\n\n\nexport function Social_processes_En(){\n\n\n  return(\n  <>\n  <NaviBarv2_En />\n      <Container className=\"my-3\"   style={{\n              height: \"120%\" }}>\n                <p class=\"lead my-4\">An average field model has been constructed and analyzed, which describes the process of information dissemination in online social networks, taking into account external influences. In this case, distance is understood as the minimum number of connections between the source and the user, and the model takes into account the processes of information dissemination with increasing distance to the source (content-oriented process) and with the same distance to the source (structure-oriented process).</p>\n         <div class=\"center\"><img src={social1} align=\"center\" width={600} /></div>\n         <p class=\"lead my-4\">The optimal strategy for the behavior of users involved in the process of information dissemination has been determined, subject to restrictions on the dissemination of information. The sensitivity of the model parameters affecting the control and the initial conditions has been studied. </p>\n         <p class=\"lead my-4\">The inverse problems of determining the initial condition for additional information about the information dissemination process when adding control are formulated. The inverse problems differed in the control function and were reduced to the task of minimizing the functional inconsistencies. The solutions of the obtained inverse problems for synthetic data are numerically investigated using Bayesian optimization. </p>\n    </Container>\n    <Footer_En />\n  </>\n)}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_a () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>20 июня пройдёт семинар лаборатории на тему «Рассуждения о методах проверки временных рядов на стационарность»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Доклад посвящен обзору методик, с помощью которых можно проверить стационарность временного ряда. Особое внимание будет уделено корректности использования самого популярного инструмента при решении подобных задач — статистических тестов. Будет показано, что для временных рядов реальных измерений разные тесты из-за особенностей построения гипотез могут давать разные результаты. Также предлагается авторская процедура проверки ряда на стационарность, основанная на анализе диаграмм рассеяния и гистограмм распределения средних и дисперсий отдельных подпоследовательностей временного ряда. Показана работа предложенной процедуры на синтетических данных. Представлены результаты обозначенных подходов на реальных временных рядах, представленных измерениями концентрации загрязняющего вещества PM2.5 в пограничном слое атмосферы Красноярска.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Докладчик: кандидат физико-математических наук <h5>Петракова Виктория Сергеевна.</h5></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар_Мол_Лаб_2024_Нестационарность_ВР_.pdf\">ссылке</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n    <div class=\"row my-4\"><p>13.06.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_a from \"../images/news/conf_a.PNG\"\n\n\nexport function Conf_a () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>14-я Международная мультиконференция «Биоинформатика регуляции и структуры геномов/системная биология», 5-10 августа 2024 года</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Сотрудники лаборатории примут участие в 14-я Международной мультиконференции «Биоинформатика регуляции и структуры геномов/системная биология», которая пройдет в Новосибирском Академгородке 5-10 августа 2024 года.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">В рамках работы конференции будет организована Секция «Математическая эпидемиология» (<a rel=\"noopener\" target=\"_blank\" href=\"https://bgrssb.icgbio.ru/2024/ru/systems-computational-biology/\">симпозиум \"Системная компьютерная биология\"</a>).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробная информация приведена на <a rel=\"noopener\" target=\"_blank\" href=\"https://bgrssb.icgbio.ru/2024/ru/schedule/\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>13.06.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_b from \"../images/news/conf_b.PNG\"\n\n\nexport function Conf_b () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_b} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Сотрудники лаборатории примут участие в конференции «Математика в медицине»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Сотрудники лаборатории примут участие в конференции, а именно:\n    <br></br>\n    <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info\">Криворотько О.И.</a><br></br>\n    Тема: Математическое моделирование распространения туберкулеза органов дыхания в Новосибирской области.<br></br>\n    Время: 1 октября, 12:00 — 12:15.<hr></hr>\n    <a rel=\"noopener\" target=\"_blank\" href=\"/Nestrova_info\">Нестерова А. В.</a><br></br>\n    Тема: Проблемы точной количественной оценки накопленной активности в опухолевых очагах при исследовании методом ОФЭКТ/КТ.<br></br>\n    Время: 3 октября, 14:30 — 14:45.<hr></hr>\n    <a rel=\"noopener\" target=\"_blank\" href=\"/Mikhailapov_info\">Михайлапов Д.И.</a><br></br>\n    Тема: Полу-контролируемая 3D сегментация расслоения аорты типа \"B\" с помощью SlimUNETTR.<br></br>\n    Время: 4 октября, 10:30 — 10:45.<hr></hr>\n</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Конференция объединяет в себе следующий темы: математические алгоритмы в обработке больших данных; применение методов математической статистики и современных статистических пакетов (SPSS, ORANGE и другие) при обработке и интерпретации медицинской информации; анализ результатов транскриптомных и/или протеомных исследований; применение нейронных сетей и систем искусственного интеллекта в различных областях медицины; применение методов математического моделирования в различных областях медицины (кардиологии, вирусологии, урологии и т.д.).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Конференция пройдёт 1-4 октября 2024 года в институте математики им. С.Л. Соболева СО РАН, Академгородок, Новосибирск.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">С полной программой можно ознакомиться по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Программа_МмедКонф-24.pdf\">ссылке.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробная информация приведена на <a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mmed2024/ru/general_info\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>24.09.2024</p></div>\n  \n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_c from \"../images/news/conf_c.PNG\"\n\n\nexport function Conf_c () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_c} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Сотрудники лаборатории примут участие в IV конференции математических центров России</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">С 6-го по 11-ое августа в Санкт-Петербурге проходит IV Конференция математических центров России, посвященная 300-летию СПбГУ и РАН.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Организатором является Санкт-Петербургский международный математический институт имени Леонарда Эйлера.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">10 августа сотрудники нашей лаборатории примут участие в конференции в секциях:«Прикладная математика и математическое моделирование» и «Теория вероятностей», а именно: </p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href='/Krivorotko_info'>Криворотько О.И.</a> примет участие в секции <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/applied-mathematics#!/tab/721114977-5\">«Прикладная математика и математическое моделирование»</a> с докладом на тему «Моделирование динамики эпидемий в зависимости от социально-экономических процессов с применением искусственного интеллекта»;</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Неверов А.В. примет участие в секции <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/applied-mathematics#!/tab/721114977-5\">«Прикладная математика и математическое моделирование»</a> с докладом на тему «Применение PINN в SIR модели игры среднего поля»;</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Дудукалов Д.В. примет участие в секции <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/probability-theory#!/tab/721114718-5\">«Теория вероятностей»</a> с докладом на тему «Рекомендательная система для микрофинансовых организаций».</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>08.08.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_d from \"../images/news/conf_d.PNG\"\n\n\nexport function Conf_d () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Сотрудники лаборатории приняли участие в конференции «Индустриальная математика: от математических методов к промышленным технологиям»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">С 7-го по 11-ое октября в международном математическом центре Сириус проходила конференция «Индустриальная математика: от математических методов к промышленным технологиям», в которой приняли участие сотрудники лаборатории.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Конференция собирает экспертов и молодых исследователей для обмена опытом трансляции математических методов в промышленные технологии. Промышленные технологии базируются прежде всего на технологиях математического моделирования, но также используют информационные технологии, технологии высокопроизводительных вычислений, технологии обработки больших данных, технологии искусственного интеллекта. Во всех вышеперечисленных технологиях математические методы и алгоритмы играют определяющую роль, поэтому опыт их трансляции в промышленные технологии является критически важным.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_048w\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_d from \"../images/news/conf_d.PNG\"\n\n\nexport function Conf_e () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Сотрудники лаборатории примут участие в конференции «Обратные некорректные задачи и машинное обучение»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">С 14-го по 18-ое октября в международном математическом центре Сириус проходит конференция «Обратные некорректные задачи и машинное обучение», в которой принимают участие сотрудники лаборатории.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Конференция призвана собрать ведущих российских и зарубежных специалистов, активно работающих в развитии классических идей обратных и некорректных задач в применении к задачам ИИ: машинное обучение, нейронные сети, стохастическая оптимизация. Планируется обсудить математические основы ИИ, Physics-Informed Neural Networks (PINNs) и стохастической оптимизации, их теоретическое обоснование и практические применения.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Основная идея конференции — подвести итоги математического обоснования ИИ и наметить наиболее перспективные направления теории обратных задач и машинного обучения. Среди основных целей конференции: обучение и повышение квалификации молодых ученых и специалистов по использованию новейших алгоритмов решения обратных и некорректных задач, возникающих в естественных науках, с применением нейронных сетей, машинного обучения; обмен опытом применения методов решения обратных и некорректных задач, анализа и обработке больших данных на основе методов искусственного интеллекта, включая промышленность, медицину, биоинформатику, эпидемиологию, экономику, экологию, науки о Земле и обществе; обсуждение наиболее важных достижений теории и численных методов решения обратных и некорректных задач и их приложений на основе машинного обучения; представление основных методов стохастической оптимизации в имплементации алгоритмов машинного обучения, в частности, рандомизированных методов К-средних, позволяющих эффективно обучать фильтры и кардинально улучшать классические сверточные уровни в глубоких нейронных сетях.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Основная задача конференции — привлечение ученых и специалистов к обоснованию и эффективному использованию алгоритмов машинного обучения на основе взаимного обогащения теории и практики применения нейронных сетей с одной стороны, и теории, методов решения и практического применения обратных и некорректных задач с другой стороны.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_049w\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_d from \"../images/news/conf_d.PNG\"\n\n\nexport function Conf_f () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Сотрудники лаборатории примут участие в конференции «Квазилинейные уравнения, обратные задачи и их приложения»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">С 17-го по 21-ое октября в международном математическом центре Сириус пройдёт конференция «Квазилинейные уравнения, обратные задачи и их приложения», в которой примут участие сотрудники лаборатории.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Конференция посвящена современным математическим методам анализа распространения волн и неразрушающего зондирования. Рассматриваемые математические задачи возникают в рамках различных томографий (акустическая томография, томографии с использованием элементарных частиц, электро-магнитные томографии), при анализе шумпетеровской динамики в моделях экономического роста, при анализе движения волн, в общем, и анализе динамики ударных волн, в частности.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">В рамках конференции будут обсуждаться современное состояние теории квазилинейных уравнений и обратных задач, а также возможные приложения в медицине, геофизике, нано-физике, моделировании экономической динамики и транспортных потоков, физике дисперсивных сред.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_050w\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_c from \"../images/news/conf_c.PNG\"\n\n\nexport function Conf_g () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_c} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Сотрудники лаборатории примут участие в XVI конференции «Математические модели и численные методы в биологии и медицине»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">С 31-го октября по 1-ое ноября пройдёт XVI конференция «Математические модели и численные методы в биологии и медицине», в которой примут участие сотрудники лаборатории, а именно <a rel=\"noopener\" target=\"_blank\" href='/Nesterova_info'>Нестерова А.В.</a> и <a rel=\"noopener\" target=\"_blank\" href='/Mikhailapov_info'>Михайлапов Д.И.</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Организаторами конференции являются: Институт вычислительной математики им. Г.И. Марчука Российской академии наук (ИВМ РАН), Отделение математического центра мирового уровня “Московский центр фундаментальной и прикладной математики” в ИВМ РАН, Кафедра высшей математики и математического моделирования Сеченовского университета,  Кафедра вычислительной физики МФТИ.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Темы: математическое моделирование в кардиологии, иммунологии, онкологии, эпидемиологии, системной биологии, спорте, фармакологии, методах диагностики (УЗИ, ЭКГ, МРТ, электроимпеданс), вычислительной гемодинамике, вычислительной биомеханике и т.п.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://dodo.inm.ras.ru/biomath/\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_e from \"../images/news/conf_e.PNG\"\n\n\nexport function Conf_h () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_e} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Cотрудники лаборатории примут участие в Международной конференции ПОСТГЕНОМ’2024, на которой с результатами работы выступит заведующий лабораторией Криворотько О.И.</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">С 29-го октября по 2-ое ноября пройдёт VI международная научно-практическая конференция ПОСТЕГНОМ’2024, на которой с результатами работы выступит заведующий лабораторией <a rel=\"noopener\" target=\"_blank\" href='/Krivorotko_info'>Криворотько О.И.</a> с докладом на тему «Совмещенные модели эпидемиологических, экономических и социальных процессов: IT-платформа и большие данные».</p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><b>МЕСТО ПРОВЕДЕНИЯ ФОРУМА:</b>Конгресс-центр гостиничного комплекса «ПСБ Патриот».\nАдрес: 143063 Московская обл., Одинцовский городской округ, территория Военно-патриотического парка\n«Патриот», дом 4.</p><p>\nОткрытие Российско-китайского конгресса в области наук о жизни пройдет в Институте биоорганической химии\nим. академиков М.М. Шемякина и Ю.А. Овчинникова Российской академии наук (ГНЦ ИБХ РАН).\nАдрес: 117997 Москва, ул. Миклухо-Маклая, 16/10</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://www.postgenome.org/pages/aktualnaya_nauchnaya_programma\">сайте конференции.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"Conferences\">Календарь конференций</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_a_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>On June 20, the laboratory will hold a seminar on \"Reasoning about methods of checking time series for stationarity\"</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">The report is devoted to an overview of techniques that can be used to check the stationarity of a time series. Special attention will be paid to the correctness of using the most popular tool for solving such problems — statistical tests. It will be shown that for time series of real measurements, different tests can give different results due to the peculiarities of building hypotheses. The author's procedure for checking the series for stationarity is also proposed, based on the analysis of scattering diagrams and histograms of the distribution of averages and variances of individual time series subsequences. The work of the proposed procedure on synthetic data is shown. The results of the indicated approaches are presented on real time series represented by measurements of the concentration of the pollutant PM2.5 in the boundary layer of the atmosphere of Krasnoyarsk.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Speaker: Candidate of Physical and Mathematical Sciences <h5>Victoria Petrakova.</h5></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The seminar will be held in an online format in Zoom. You can join via the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Before connecting, please write your first and last name.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар_Мол_Лаб_2024_Нестационарность_ВР_.pdf\">link</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n    <div class=\"row my-4\"><p>13.06.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_a from \"../images/news/conf_a.PNG\"\n\n\nexport function Conf_a_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>14th International Multi-Conference \"Bioinformatics of Genome Regulation and Structure/Systems Biology\", August 5-10, 2024</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Laboratory staff will take part in the 14th International Multi-conference \"Bioinformatics of genome Regulation and Structure/Systems Biology\", which will be held in Novosibirsk Akademgorodok on August 5-10, 2024.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Within the framework of the conference, a section \"Mathematical Epidemiology\" will be organized (<a rel=\"noopener\" target=\"_blank\" href=\"https://bgrssb.icgbio.ru/2024/ru/systems-computational-biology/\">Symposium \"System Computer Biology\"</a>).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information is available on the <a rel=\"noopener\" target=\"_blank\" href=\"https://bgrssb.icgbio.ru/2024/ru/schedule/\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>13.06.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_b from \"../images/news/conf_b.PNG\"\n\n\nexport function Conf_b_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_b} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff will take part in the conference \"Mathematics in Medicine\"</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Laboratory staff will take part in the conference, namely:\n    <br></br>\n    <a rel=\"noopener\" target=\"_blank\" href=\"/Krivorotko_info/En\">Olga Krivorotko</a><br></br>\n    Topic: Mathematical modeling of the spread of tuberculosis of the respiratory system in the Novosibirsk region.<br></br>\n    Time: October 1, 12:00 — 12:15.<hr></hr>\n    <a rel=\"noopener\" target=\"_blank\" href=\"/Nestrova_info/EN\">Angelina Nesterova</a><br></br>\n    Topic: Problems of accurate quantitative assessment of accumulated activity in tumor foci during the examination by the method of SPECT/CT.<br></br>\n    Time: October 3, 14:30 — 14:45.<hr></hr>\n    <a rel=\"noopener\" target=\"_blank\" href=\"/Mikhailapov_info/En\">Denis Mikhailov</a><br></br>\n    Topic: Semi-controlled 3D segmentation of type \"B\" aortic dissection using SlimUNETTR.<br></br>\n    Time: October 4, 10:30 — 10:45.<hr></hr>\n</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference combines the following topics: mathematical algorithms in big data processing; application of mathematical statistics methods and modern statistical packages (SPSS, ORANGE and others) in the processing and interpretation of medical information; analysis of the results of transcriptomic and/or proteomic studies; application of neural networks and artificial intelligence systems in various fields of medicine; application of mathematical methods modeling in various fields of medicine (cardiology, virology, urology, etc.).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference will be held on October 1-4, 2024 at the S.L. Sobolev Institute of Mathematics SB RAS, Akademgorodok, Novosibirsk.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The full program can be found at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Программа_МмедКонф-24.pdf\">link.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information is available on the <a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mmed2024/ru/general_info\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>24.09.2024</p></div>\n  \n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_c from \"../images/news/conf_c.PNG\"\n\n\nexport function Conf_c_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_c} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff will take part in the IV conference of mathematical centers of Russia</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From August 6 to August 11, St. Petersburg hosts the IV Conference of Mathematical Centers of Russia dedicated to the 300th anniversary of St. Petersburg State University and the Russian Academy of Sciences.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The organizer is the St. Petersburg International Mathematical Institute named after Leonard Euler.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">On August 10, our laboratory staff will take part in the conference in sections:\"Applied Mathematics and Mathematical Modeling\" and \"Probability Theory\", namely: </p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href='/Krivorotko_info'>Olga Krivorotko</a> will take part in the section <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/applied-mathematics#!/tab/721114977-5\">«Applied Mathematics and mathematical modeling»</a> with a report on «Modeling the dynamics of epidemics depending on socio-economic processes using artificial intelligence»;</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Andrey Neverov will take part in the section <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/applied-mathematics#!/tab/721114977-5\">«Applied Mathematics and mathematical modeling»</a> with a report on «Application of PINN in the SIR model of the middle field game»;</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Dmitry Dudukalov will take part in the section <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/probability-theory#!/tab/721114718-5\">«Probability Theory»</a> with a report on «Recommendation system for microfinance organizations».</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://mc4-conf.ru/\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>08.08.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_d from \"../images/news/conf_d.PNG\"\n\n\nexport function Conf_d_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff took part in the conference «Industrial Mathematics: from mathematical methods to industrial technologies»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From October 7 to October 11, the Sirius International Mathematical Center hosted the conference «Industrial Mathematics: from Mathematical Methods to Industrial Technologies», which was attended by laboratory staff.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference gathers experts and young researchers to share their experience in translating mathematical methods into industrial technologies. Industrial technologies are based primarily on mathematical modeling technologies, but also use information technologies, high-performance computing technologies, big data processing technologies, and artificial intelligence technologies. In all of the above technologies, mathematical methods and algorithms play a crucial role, so the experience of translating them into industrial technologies is critically important.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_048w\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_d from \"../images/news/conf_d.PNG\"\n\n\nexport function Conf_e_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff will take part in the conference «Inverse incorrect tasks and machine learning»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From October 14th to 18th, the Sirius International Mathematical Center hosts the conference «Inverse Ill-posed Problems and Machine Learning», which is attended by laboratory staff.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference is designed to bring together leading Russian and foreign experts who are actively working in the development of classical ideas of inverse and incorrect problems in application to AI problems: machine learning, neural networks, stochastic optimization. It is planned to discuss the mathematical foundations of AI, Physics-Informed Neural Networks (Inc) and stochastic optimization, their theoretical justification and practical applications.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The main idea of the conference is to summarize the results of the mathematical substantiation of AI and outline the most promising areas of the theory of inverse problems and machine learning. Among the main objectives of the conference: training and advanced training of young scientists and specialists in the use of the latest algorithms for solving inverse and incorrect problems arising in the natural sciences, using neural networks, machine learning; exchange of experience in the application of methods for solving inverse and incorrect problems, analysis and processing of big data based on artificial intelligence methods, including industry, medicine, bioinformatics, epidemiology, economics, ecology, Earth sciences and society; discussion of the most important achievements of the theory and numerical methods for solving inverse and incorrect problems and their applications based on machine learning; presentation of the main methods of stochastic optimization in the implementation of machine learning algorithms, in particular, randomized K-means methods, which make it possible to effectively train filters and radically improve classical convolutional levels in deep neural networks.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The main objective of the conference is to attract scientists and specialists to substantiate and effectively use machine learning algorithms based on mutual enrichment of the theory and practice of using neural networks on the one hand, and theory, methods of solving and practical application of inverse and incorrect problems on the other hand.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_049w\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_d from \"../images/news/conf_d.PNG\"\n\n\nexport function Conf_f_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff will take part in the conference «Quasi-linear equations, inverse problems and their applications»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From October 17th to 21st, the Sirius International Mathematical Center will host the conference «Quasi-linear equations, inverse problems and their applications», which will be attended by laboratory staff.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference is devoted to modern mathematical methods of wave propagation analysis and non-destructive sensing. The mathematical problems under consideration arise in the framework of various tomographs (acoustic tomography, tomography using elementary particles, electro-magnetic tomography), in the analysis of Schumpeter dynamics in economic growth models, in the analysis of wave motion, in general, and in the analysis of shock wave dynamics, in particular.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference will discuss the current state of the theory of quasi-linear equations and inverse problems, as well as possible applications in medicine, geophysics, nano-physics, modeling of economic dynamics and traffic flows, physics of dispersive media.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/program_050w\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_c from \"../images/news/conf_c.PNG\"\n\n\nexport function Conf_g_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_c} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff will take part in the XVI conference «Mathematical Models and Numerical methods in Biology and Medicine»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From October 31st to November 1st, the XVI conference «Mathematical Models and Numerical methods in Biology and Medicine» will be held, which will be attended by laboratory staff, namely <a rel=\"noopener\" target=\"_blank\" href='/Nesterova_info/En'>A. Nesterova</a> and <a rel=\"noopener\" target=\"_blank\" href='/Mikhailapov_info/En'>D. Mikhailapov</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The conference is organized by: the G.I. Marchuk Institute of Computational Mathematics of the Russian Academy of Sciences (IWM RAS), the Department of the world-class Mathematical Center “Moscow Center for Fundamental and Applied Mathematics” at IWM RAS, the Department of Higher Mathematics and Mathematical Modeling of Sechenov University, the Department of Computational Physics at MIPT.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Topics: mathematical modeling in cardiology, immunology, oncology, epidemiology, systems biology, sports, pharmacology, diagnostic methods (ultrasound, ECG, MRI, electrical impedance), computational hemodynamics, computational biomechanics, etc.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://dodo.inm.ras.ru/biomath/\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_e from \"../images/news/conf_e.PNG\"\n\n\nexport function Conf_h_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_e} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>Laboratory staff will take part in the International Conference POSTGENOM’2024, at which the head of the laboratory O.Krivorotko will present the results of the work</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From October 29 to November 2, the VI International scientific and practical conference POSTEGNOM'2024 will be held, at which the head of the laboratory <a rel=\"noopener\" target=\"_blank\" href='/Krivorotko_info/En'>O. Krivorotko</a> will make a presentation on the topic «Combined models of epidemiological, economic and social processes: IT platform and big data».</p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><b>THE VENUE OF THE FORUM:</b>The Congress center of the hotel complex «PSB Patriot».\n    Address: 143063 Moscow region, Odintsovo city district, territory of the Military-Patriotic Park\n\"Patriot\", house 4.</p><p>\nThe opening of the Russian-Chinese Congress in the field of life sciences will be held at the Institute of Bioorganic Chemistry\nnamed after Academicians M.M. Shemyakin and Yu.A. Ovchinnikov of the Russian Academy of Sciences (SSC IBH RAS).\nAddress: 16/10 Miklukho-Maklaya str., Moscow, 117997</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://www.postgenome.org/pages/aktualnaya_nauchnaya_programma\">conference website.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\"><a rel=\"noopener\" target=\"_blank\" href=\"/Conferences/En\">Conference calendar</a>.</p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_b () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>4 июля пройдёт семинар лаборатории на тему «Применение PINN в SIR модели игры среднего поля»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Рассматривается пространственная эпидемиологическая SIR модель, в которой люди распределены в некотором населенном пукнте и стремятся не стать инфицированными. Для реализации взаимодействия большого населения в условиях эпидемии применен подход игр среднего поля, характеризующийся совместным решением систем уравнений в частных производных типа Колмогорова-Фоккера-Планка и Гамильтона-Якоби-Беллмана. Для численной реализации математического моделирования распространения эпидемии в популяции с учетом оптимального управления применяется метод машинного обучения, а именно физически информированные нейронные сети (PINN) с различными модификациями. Рассматривается возможность решения коэффициентных обратных задач, где информация вводится в виде дополнительных уравнений.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Докладчик: <h5>Неверов Андрей Вячеславович.</h5></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Применение_PINN_в_SIR_модели_игры_среднего_поля.pdf\">ссылке</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n    <div class=\"row my-4\"><p>21.06.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_b_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>On July 4, a laboratory seminar will be held on the topic \"Application of PINN in the SIR model of the middle field game\"</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">The spatial epidemiological SIR model is considered, in which people are distributed in a certain populated area and strive not to become infected. To implement the interaction of a large population in the conditions of an epidemic, the approach of medium-field games is used, characterized by the joint solution of systems of partial differential equations of the Kolmogorov-Fokker-Planck and Hamilton-Jacobi-Bellman types. For the numerical implementation of mathematical modeling of the spread of an epidemic in a population, taking into account optimal control, a machine learning method is used, namely physically informed neural networks (PINN) with various modifications. The possibility of solving coefficient inverse problems, where information is introduced in the form of additional equations, is considered.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Speaker: <h5>Andrey Neverov.</h5></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Before connecting, please write your First and Last name.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Применение_PINN_в_SIR_модели_игры_среднего_поля.pdf\">link</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">All the seminars held have been <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archived</a>.</p></div>\n    <div class=\"row my-4\"><p>21.06.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_c () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>18 июля пройдёт семинар лаборатории на тему «Полуконтролируемая сегментация медицинских изображений: Обзор»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Сегментация поражений на медицинских изображениях является важной задачей для лечения пациентов. Нейросетевые подходы получили широкое распространение в решении данной задачи. Однако для их успешной разработки требуется получить высококачественный набор данных с разметкой поражённых областей, что является затратным процессом, так как требует кропотливой работы высококвалифицированных медицинских работников. Для решения данной проблемы разрабатываются методы полуконтролируемого обучения, которые позволяют использовать данные без разметки. В данном докладе представлен краткий обзор основных идей лежащих в основе данных методов.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Докладчик: <b>Михайлапов Денис Иванович.</b></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Semi-Supervised Medical Image Segmentation.pdf\">ссылке</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n    <div class=\"row my-4\"><p>10.07.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_c_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>On July 18, the laboratory will hold a seminar on the topic \"Semi-controlled segmentation of medical images: An overview\"</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">Segmentation of lesions in medical images is an important task for the treatment of patients. Neural network approaches have become widespread in solving this problem. However, for their successful development, it is necessary to obtain a high-quality data set with the marking of the affected areas, which is a costly process, since it requires the painstaking work of highly qualified medical professionals. To solve this problem, semi-supervised learning methods are being developed that allow the use of data without markup. This report provides a brief overview of the main ideas underlying these methods.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Speaker: <b>Denis Mikhailapov.</b></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Before connecting, please write your first and last name.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Semi-Supervised Medical Image Segmentation.pdf\">link</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n    <div class=\"row my-4\"><p>10.07.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_d () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>1 августа пройдёт семинар лаборатории на тему «Метод регуляризации А.Н. Тихонова для решения задачи определения начального условия в параболическом уравнении»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\"> Исследуется задача определения начального условия для диффузионно-логистической модели с нелинейной правой частью по дополнительной информации о процессе в фиксированные моменты времени. Обратная задача сведена к задаче минимизации целевого функционала. Показано, что исследуемая постановка является некорректной, поэтому применяется метод регуляризации А.Н. Тихонова. Обсуждаются результаты для различных вариантов выбора параметра регуляризации.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Докладчик: <b>Звонарева Татьяна Александровна.</b></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Sem_01.08.2024_Zvonareva.pdf\">ссылке</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n    <div class=\"row my-4\"><p>31.07.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_d_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>On August 1, a laboratory seminar will be held on the topic «A.N. Tikhonov's regularization method for solving the problem of determining the initial condition in a parabolic equation»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">The problem of determining the initial condition for a diffusion-logistic model with a nonlinear right-hand side based on additional information about the process at fixed points in time is investigated. The inverse problem is reduced to the task of minimizing the target functionality. It is shown that the studied formulation is incorrect, therefore, the regularization method of A.N. Tikhonov is used. The results for various options for choosing the regularization parameter are discussed.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Speaker: <b>Tatiana Zvonareva.</b></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Before connecting, please write your first and last name.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Sem_01.08.2024_Zvonareva.pdf\">link</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n    <div class=\"row my-4\"><p>31.07.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\nexport function Sem_e() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>15 августа пройдёт семинар лаборатории на тему «Рекомендательная система для микрофинансовых организаций»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">На данный момент работа большинства микрофинансовых организаций (МФО) в России происходит через интернет...</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Дудукалов Дмитрий Витальевич.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Соавторы: <b>Прокопенко Евгений Игоревич, Савинкина Екатерина Николаевна.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Ранжирование мфо.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>31.07.2024</p></div>\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\"\n\n\nexport function Sem_e_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={sem_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h1>On August 15, the laboratory will hold a seminar on the topic «Recommendation system for microfinance organizations»</h1></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">At the moment, the work of most microfinance organizations (MFOs) in Russia takes place via the Internet. Through the aggregator site, users can search for suitable MFIs for themselves. The task arises of correctly, in a sense, ranking all the MFIs presented on this aggregator site in order to improve the user experience. The report will talk about the MFIs ranking model developed by us based on Markov chains and the method of comparing two ranking models.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Speaker: <b>Dmitry Dudukalov.</b></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Co-authors: <b>Evgeny Prokopenko, Ekaterina Savinkina.</b></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n    <div class=\"row my-4\"><p class=\"lead\">*Before connecting, please write your first and last name.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Ранжирование мфо.pdf\">link</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n    <div class=\"row my-4\"><p>31.07.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_f() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>29 августа пройдёт семинар лаборатории на тему «Метод Гельфанда-Левитана в коэффициентых обратных задачах»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В докладе рассматриваются обратные задачи по определению коэффициентов уравнений, связанных с распространением волн в неоднородных средах. В качестве метода для их решения выбран подход И.М.Гельфанда-Б.М.Левитана, который позволяет свести решение нелинейных обратных задач к семействам линейных интегральных уравнений. В докладе будут рассмотрены основные особенности подхода, численные алгоритмы на основе метода. Будут представлены результаты численных экспериментов.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Новиков Никита Сергеевич.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>23.08.2024</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_f_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On August 29, the laboratory will hold a seminar on the topic «The Gelfand-Levitan method in coefficient inverse problems»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">The paper discusses inverse problems of determining the coefficients of equations related to wave propagation in inhomogeneous media. The I.M.Gelfand-B.M.Levitan approach has been chosen as a method for solving them, which makes it possible to reduce the solution of nonlinear inverse problems to families of linear integral equations. The report will consider the main features of the approach, numerical algorithms based on the method. The results of numerical experiments will be presented.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Nikita Novikov.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>23.08.2024</p></div>\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_g() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>12 сентября пройдёт семинар лаборатории на тему «Особенности использования физически-информированных нейронных сетей для решения задач моделирования движения несжимаемой жидкости»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В докладе рассматривается возможность применения подхода с\nиспользованием физически-информированных нейронных сетей, в англоязычной\nлитературе Physics Informed Neural Network (PINN), для решения прямых и обратных\nзадач моделирования движения вязкой несжимаемой жидкости с использованием\nсистемы уравнений Навье-Стокса и уравнений по теории мелкой воды. В работе\nпроведены исследования применимости бессеточного метода частиц для решения\nмодельных задач (течение Коважного, вихрь Тейлора-Грина, геофизическое течение\nБельтрами, обтекание цилиндра для заданных чисел Рейнольдса), допускающих\nаналитическое решение для системы уравнений Навье-Стокса [1,2].<br></br>\nТакже выполнено исследование с целью разработки тематической PINN для\nизучения гидрологии рек по уравнениям теории мелкой воды. В качестве примеров\nнами рассматривались задачи обрушения столба жидкости воды, течения воды в\nпрямоугольном канале, течение воды в сечении русла реки с заданным профилем.\nДля решения выбранных задач в качестве исходных данных задавались коэффициент\nшероховатости дна, значение расходов воды, уровни поверхности воды.<br></br>\nОбщее количество точек в расчетной области выбиралось равным около 2\nмиллионов по уже обученной модели с целью воспроизведения детальной структуры\nтечения в различные моменты времени. Количество эпох для обучения нейронной\nсети для разных задач задавалось равным от 20 000 до 300 000. Максимальное время\nобучения нейронной сети составило 4 часа. Результатом предсказания PINN\nявлялись значения двух компонент скорости, уровень воды. Для получения точного\nрешения, когда невозможно получить аналитическое решение, нами дополнительно\nиспользовались открытые расчетные коды для вычислительной гидродинамики\n(OpenFOAM, Delft3D, NekTar++).<br></br>\nС целью изучения вопроса точности предсказания PINN обсуждается вопрос\nприменимости различных архитектур нейронных сетей (FNN, DeepONet, FNO),\nразличных методов оптимизации целевой функции. Нами была проведена оценка\nвлияния выбора гиперпараметров (количество слоев и нейронов, количество точек в\nрасчетной области и на границах, весовые коэффициенты в функции потерь) для\nнейронной сети на точность предсказания метрики MAE.<br></br>\nПрограммное решение реализовано с использованием языка Python,\nбиблиотек DeepXDE, TensorFlow, Numpy, Matplotlib, Jupyter Notebook, других.\nРасчеты выполнялись на рабочей станции с Nvidia GPU Geforce RTX 3070.<br></br>\nВ заключении доклада формулируются направления дальнейшего\nисследования PINN с использованием технологии трансферного обучения, с\nвозможностью параметризации геометрических свойств обтекаемого тела.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Стрижак Сергей Владимирович.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Соавтор: <b>Кошелев Константин Борисович.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/PINN-Fluid Dynamics-SSV-12.09.2024.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>11.09.2024</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_g_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On September 12, a laboratory seminar will be held on the topic «Features of using physically informed neural networks to solve problems of modeling the motion of an incompressible fluid»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">The report considers the possibility of applying an approach\nusing physically informed neural networks, in the English\nliterature Physics Informed Neural Network (PINN), to solve direct and inverse\nproblems of modeling the motion of a viscous incompressible fluid using\na system of Navier-Stokes equations and equations based on the theory of shallow water. The paper\ninvestigates the applicability of the mesh-free particle method for solving\nmodel problems (Kovazhny flow, Taylor-Green vortex, geophysical flow\nBeltrami, the flow around the cylinder for given Reynolds numbers), allowing\nanalytical solution for the system of Navier-Stokes equations [1,2].<br></br>\nA study was also carried out to develop a thematic PINN for\nstudying the hydrology of rivers according to the equations of shallow water theory. As examples\n, we considered the problems of collapse of a column of liquid water, the flow of water in\na rectangular channel, the flow of water in a section of a riverbed with a given profile.\nTo solve the selected tasks, the\nbottom roughness coefficient, the value of water flow, and water surface levels were set as initial data.<br></br>\nThe total number of points in the computational domain was chosen to be about 2\nmillion according to an already trained model in order to reproduce the detailed structure\nof the flow at various points in time. The number of epochs for training a neural\nnetwork for different tasks was set to be from 20,000 to 300,000. The maximum\ntraining time of the neural network was 4 hours. The result of PINN prediction\nThe values of the two components of the velocity and the water level were shown. To obtain an accurate\nsolution, when it is impossible to obtain an analytical solution, we additionally\nopen calculation codes for computational fluid dynamics were used\n(OpenFOAM, Delft3D, NekTar++).<br></br>\nIn order to study the accuracy of PINN prediction\n, the applicability of various neural network architectures (FN, Deepnet, FNO)\nand various methods of optimizing the objective function are discussed. We evaluated\nthe influence of the choice of hyperparameters (the number of layers and neurons, the number of points in\nthe computational domain and at the boundaries, weight coefficients in the loss function) for\na neural network on the accuracy of the prediction of the MAE metric.<br></br>\nПрограммное преобразование разработано с использованием языка Python,\nбиблиотек DeepXDE, TensorFlow, Numpy, Matplotlib, Jupiter Notebook, друзей.\nРасчеты использовались на рабочей станции c графическим процессором Nvidia Geforce RTX 3070.<br></br>\nIn conclusion, the report formulates the directions for further\nresearch of PINN using transfer learning technology, with\nthe possibility of parameterizing the geometric properties of a streamlined body.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Sergey Strizhak.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Co-author: <b>Konstantin Koshelev.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/PINN-Fluid Dynamics-SSV-12.09.2024.pdf\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>11.09.2024</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_h() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>26 сентября пройдёт семинар лаборатории на тему «Проблемы получения точной количественной оценки накопленной активности в опухолевых очагах при исследовании методом ОФЭКТ/КТ»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В докладе рассматриваются проблемы, сдерживающие развитие количественного метода однофотонной эмиссионной компьютерной томографии (ОФЭКТ/КТ) для точной количественной оценки накопленной активности в опухолевых очагах. Основная проблема заключается в математических ограничениях итерационных алгоритмов реконструкции изображений, что на практике приводит к неопределенности в выборе количества итераций. Размер опухолевого поражения играет ключевую роль: для меньших очагов требуется больше итераций, что усиливает шум на изображении. Это делает необходимым использование методов сглаживания, которые могут привести к занижению оценок накопленной активности. Дополнительно рассматривается проблема краевых артефактов, снижающих точность количественных оценок.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Нестерова Ангелина Витальевна.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Соавторы: <b>Денисова Наталья Васильевна, Рузанкин Павел Сергеевич.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 26.09.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>17.09.2024</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_h_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On September 26, the laboratory will hold a seminar on the topic «Problems of obtaining an accurate quantitative assessment of accumulated activity in tumor foci during the examination by the method of SPECT/CT»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">The report examines the problems hindering the development of a quantitative method of single-photon emission computed tomography (SPECT/CT) for an accurate quantitative assessment of accumulated activity in tumor foci. The main problem lies in the mathematical limitations of iterative image reconstruction algorithms, which in practice leads to uncertainty in choosing the number of iterations. The size of the tumor lesion plays a key role: for smaller foci, more iterations are required, which increases the noise in the image. This makes it necessary to use smoothing methods, which can lead to underestimation of accumulated activity estimates. Additionally, the problem of edge artifacts that reduce the accuracy of quantitative estimates is considered.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Angelina Nesterova.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Co-authors: <b>Natalia Denisova, Pavel Ruzankin.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар 26.09.pdf\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>17.09.2024</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_i() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>14 ноября пройдёт семинар лаборатории на тему «Моделирование острых и хронических инфекций»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">Существует большое количество классификаций инфекционных болезней. По продолжительности течения инфекции делятся на острые и хронические. Каждое инфекционное заболевание имеет свои эпидемиологические особенности, и математическое моделирование является одним из инструментов для их изучения. В докладе будет рассмотрена обратная задача определения параметров эпидемического процесса в дифференциальной модели, состоящей из 7 компонентов. Будут обсуждены различия острых и хронических инфекционных заболеваний. Будут представлены значения основных параметров эпидемического процесса и коэффициентов управления, а также результаты сопоставления модельных данных с реальными. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Семенова Диана Анзоровна.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Моделирование_острых_и_хронических_инфекций.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>06.11.2024</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_i_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On November 14, the laboratory will hold a seminar on the topic «Modeling of acute and chronic infections»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">There are a large number of classifications of infectious diseases. According to the duration of the infection, they are divided into acute and chronic. Each infectious disease has its own epidemiological characteristics, and mathematical modeling is one of the tools for studying them. The report will consider the inverse problem of determining the parameters of the epidemic process in a differential model consisting of 7 components. The differences between acute and chronic infectious diseases will be discussed. The values of the main parameters of the epidemic process and control coefficients will be presented, as well as the results of comparing model data with real ones. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Diana Semenova</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Моделирование_острых_и_хронических_инфекций.pdf\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>06.11.2024</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_b from \"../images/news/sem_b.PNG\";\n\n\nexport function Sem_j() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_b} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>28 ноября пройдёт семинар лаборатории на тему «Вероятностное прогнозирование эпидемий в регионах Российской Федерации на основе условной генеративно-состязательной сети и байесовского подхода»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В докладе будут рассмотрены: <br></br>\n— Особенности построения нейронных сетей для моделирования и прогнозирования временных рядов.<br></br>\n— Модель вероятностного прогнозирования распространения COVID-19 в Санкт-Петербурге на основе условной генеративно-состязательной сети (CGAN). <br></br>\n — Оценка параметров подмодели динамики туберкулеза с учетом бактериовыделения в Новосибирской области с помощью вероятностного программирования и байесовской статистики. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Зятьков Николай Юрьевич.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 14:00 новосибирского времени (10:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/M1_семинар_2024-11-28.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>20.11.2024</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_b from \"../images/news/sem_b.PNG\";\n\n\nexport function Sem_j_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_b} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On November 28, a laboratory seminar will be held on the topic «Probabilistic forecasting of epidemics in the regions of the Russian Federation based on a conditional generative-adversarial network and a Bayesian approach»</h1>\n        </div>\n        \n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">The report will consider:<br></br>\n— Features of building neural networks for modeling and forecasting time series.<br></br>\n— A model for probabilistic forecasting of the spread of COVID-19 in St. Petersburg based on a conditional generative adversarial network (CGAN). <br></br>\n — Evaluation of the parameters of the tuberculosis dynamics submodel, taking into account bacterial excretion in the Novosibirsk region using probabilistic programming and Bayesian statistics. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Nikolay Zyatkov</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 14:00 Novosibirsk time (10:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>20.11.2024</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_c from \"../images/news/sem_c.PNG\";\n\n\nexport function Sem_k() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_c} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>6 февраля пройдёт семинар лаборатории на тему «Математическое моделирование распространения эпидемий с учётом социальных, экономических и экологических процессов»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">Статистические данные о динамике эпидемического процесса представляют из себя набор временных рядов. Прогнозирование распространения эпидемии (экстраполяция временного ряда) можно описать статистическими, дифференциальными, агентными, стохастическими моделями, моделями машинного обучения и их комбинациями. Однако для управления эпидемическим процессом требуется понимание механизмов влияния взаимодействующих социально-экономических и экологических процессов, а также динамики самого эпидемического процесса, что характеризуется параметрами дифференциальных, агентных, стохастических моделей. Для идентификации параметров физически-обоснованных моделей применяются методы анализа идентифицируемости, оптимизации и обратных задач. В результате оцениваются управляемые параметры эпидемического процесса и сценарии распространения заболевания в популяции. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Криворотько Ольга Игоревна.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 16:00 новосибирского времени (12:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Криворотько_лабИИ_06-02-25_full\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>04.02.2025</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_c from \"../images/news/sem_c.PNG\";\n\n\nexport function Sem_k_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_c} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On February 6, the laboratory will hold a seminar on \"Mathematical modeling of epidemic spread taking into account social, economic and environmental processes\"</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">Statistical data on the dynamics of the epidemic process is a set of time series. Forecasting the spread of an epidemic (extrapolation of a time series) can be described by statistical, differential, agent-based, stochastic, machine learning models and their combinations. However, to manage the epidemic process, it is necessary to understand the mechanisms of influence of interacting socio-economic and environmental processes, as well as the dynamics of the epidemic process itself, which is characterized by the parameters of differential, agent-based, stochastic models. Methods of identifiability analysis, optimization, and inverse problems are used to identify the parameters of physically based models. As a result, the controlled parameters of the epidemic process and scenarios of the spread of the disease in the population are evaluated. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Olga Krivorotko.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 16:00 Novosibirsk time (12:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Криворотько_лабИИ_06-02-25_full\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>04.02.2025</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_l() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>27 февраля пройдёт семинар лаборатории на тему «Новый метод коррекции параметров динамических эпидемиологических моделей»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В докладе будет представлен метод восстановления параметров динамической модели, если модель описывается системой обыкновенных дифференциальных уравнений с числом параметров в правой части, превышающим число искомых функций. Для определения параметров, во-первых, строится неопределенная система алгебраических уравнений с прямоугольной матрицей, которая получается в результате аппроксимации системы дифференциальных уравнений с учетом известных значений функций, заданных в два последовательных момента времени. Во-вторых, задействовано свойство плавного изменения параметров во времени для динамических моделей, описывающих реальность. Одновременная минимизация невязки для недоопределенной системы и суммы квадратов разностей параметров в два последовательных момента времени приводит к регуляризованной системе линейных алгебраических уравнений с положительно определенной матрицей и с единственным решением. Будет представлено сравнение работы метода сравнивается с другим методом решения обратной задачи восстановления параметров в рамках эпидемиологической модели SEIR-HCD.  </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Петракова Виктория Сергеевна.</b> Соавтор: Шайдуров Владимир Викторович.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 16:00 новосибирского времени (12:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар_мол_лаб_Восстановление_параметров_дифференциальной_модели.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>17.02.2025</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_c from \"../images/news/sem_c.PNG\";\n\n\nexport function Sem_l_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_c} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On February 27, the laboratory will hold a seminar on «A new method for correcting the parameters of dynamic epidemiological models»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">The report will present a method for restoring the parameters of a dynamic model if the model is described by a system of ordinary differential equations with the number of parameters on the right side exceeding the number of desired functions. To determine the parameters, firstly, an indefinite system of algebraic equations with a rectangular matrix is constructed, which is obtained by approximating a system of differential equations taking into account known values of functions set at two consecutive points in time. Secondly, the property of smooth parameter changes over time is involved for dynamic models describing reality. Simultaneous minimization of the discrepancy for an underdetermined system and the sum of squares of the parameter differences at two consecutive time points leads to a regularized system of linear algebraic equations with a positive definite matrix and with a single solution. A comparison of the method's operation will be presented compared with another method for solving the inverse problem of parameter recovery within the framework of the SEIR-HCD epidemiological model. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Petrakova Viktoria.</b> Co-author: Shaidurov Vladimir</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 16:00 Novosibirsk time (12:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Семинар_мол_лаб_Восстановление_параметров_дифференциальной_модели.pdf\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>17.02.2025</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_m() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>6 марта состоится совместное заседание семинара «Прикладная статистика»  и семинара лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В докладе будет рассмотрена практическая сторона применения регрессионных моделей на основе гауссовских процессов. Этот метод является непараметрическим, а вид итоговой регрессионной функции определяется видом ядра, характеризующего расстояние между функциями. Это даёт большую гибкость по сравнению с классическими методами за счёт большей вычислительной сложности алгоритма. В докладе будет показано, как можно воспроизводить этим методом классические регрессионные методы, а также их модификации и комбинации. В заключение будет рассмотрена концепция автоматического адаптивного подбора ядра регрессии в зависимости от исходной выборки и практические примеры применения.  </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Неверов Андрей Вячеславович.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 16:30 новосибирского времени (12:30 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us06web.zoom.us/j/82737787257?pwd=5WjMK2SAzb7MusScTpdMjtvaotfgv2.1\">ссылке.</a> Идентификатор конференции: 827 3778 7257. Код доступа: 498246</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Gaussian_process_regression_06.03.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>04.03.2025</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_m_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On March 6, a joint meeting of the seminar \"Applied Statistics\" and the seminar of the Laboratory of AI technologies for mathematical modeling of biological, socio-economic and environmental processes will be held</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">The report will examine the practical side of using regression models based on Gaussian processes. This method is nonparametric, and the type of the final regression function is determined by the type of kernel that characterizes the distance between the functions. This provides greater flexibility compared to classical methods due to the greater computational complexity of the algorithm. The report will show how this method can be used to reproduce classical regression methods, as well as their modifications and combinations. In conclusion, the concept of automatic adaptive selection of the regression core depending on the initial sample and practical application examples will be considered.  </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Andrey Neverov.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 16:30 Novosibirsk time (12:30 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us06web.zoom.us/j/82737787257?pwd=5WjMK2SAzb7MusScTpdMjtvaotfgv2.1\">link.</a>Conference ID: 827 3778 7257. Access code: 498246.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Gaussian_process_regression_06.03.pdf\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>04.03.2025</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_b from \"../images/news/sem_b.PNG\";\n\n\nexport function Sem_n() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_b} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>20 марта пройдёт семинар лаборатории на тему «Полу-контролируемая классификация: Основные идеи»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">В рамках выступления рассматриваются методы полу-контролируеммой классификации трёх основных типов данных: Картинки, временные ряды и табличные данные. Рассматриваются основные идеи лежащие в основе современных методов.  </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Михайлапов Денис Иванович.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 16:00 новосибирского времени (12:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Полу_контролируемая_классификация_1.pdf\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>19.03.2025</p></div>\n\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_b from \"../images/news/sem_b.PNG\";\n\n\nexport function Sem_n_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_b} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On March 20, the laboratory will hold a seminar on «Semi-supervised classification: Basic Ideas»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">In the framework of the presentation, methods of semi-controlled classification of three main types of data are considered: Images, time series and tabular data. The main ideas underlying modern methods are considered.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Mikhailapov Denis.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 16:00 Novosibirsk time (12:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/Полу_контролируемая_классификация_1.pdf\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>19.03.2025</p></div>\n\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer from '../Components/Footer';\nimport NaviBarv2 from '../Components/NaviBarv2';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_o() {\n\n\n  return (\n    <>\n      <NaviBarv2 />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>3 апреля пройдёт семинар лаборатории на тему «Почему живое плохо подходит для дифференциального и вероятностного моделирования»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <hr />\n        <div className=\"row my-4\"><p className=\"lead\">3 апреля 2025 года в 16:00, ауд. 305 (+Zoom)\nВ докладе на примере генных сетей будет обоснована необходимость использования понятия переключения из состояния в состояние при моделировании живых систем. </p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Докладчик: <b>Сергей Владимирович Августинович.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Время: 16:00 новосибирского времени (12:00 Мск).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Семинар будет проходить в ИМ СО РАН в аудитории 305, а также в онлайн формате в Zoom. Присоединиться можно по <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">ссылке.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Перед подключением просьба написать свои Имя и Фамилию.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Презентацию доклада можно увидеть по <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/\">ссылке</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Все проведённые семинары выложены в <a rel=\"noopener\" target=\"_blank\" href=\"Sem_Compl\">архиве</a>.</p></div>\n        <div className=\"row my-4\"><p>29.03.2025</p></div>\n      </Container>\n      <Footer />\n    </>\n  );\n}","import React, { useEffect, useState } from \"react\";\nimport Footer_En from '../Components/Footer_En';\nimport NaviBarv2_En from '../Components/NaviBarv2_En';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport { Container } from 'react-bootstrap';\nimport sem_a from \"../images/news/sem_a.PNG\";\n\n\nexport function Sem_o_En() {\n\n\n  return (\n    <>\n      <NaviBarv2_En />\n      <Container>\n        <div><img src={sem_a} align=\"left\" width={500}></img></div>\n        <div className=\"row my-4 ps-4\">\n          <h1>On April 3, the laboratory will hold a seminar on «Why living things are poorly suited for differential and probabilistic modeling»</h1>\n        </div>\n        <br></br>\n        <div className=\"row ps-4 my-4\"><p className=\"lead\"></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Using the example of gene networks, the report will substantiate the need to use the concept of switching from state to state when modeling living systems.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Speaker: <b>Augustinovich Sergey.</b></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">Time: 16:00 Novosibirsk time (12:00 Moscow time).</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">The seminar will be held at the IM SB RAS in auditorium 305, as well as in an online format in Zoom. You can join by following the <a rel=\"noopener\" target=\"_blank\" href=\"https://us02web.zoom.us/j/8615596919\">link.</a></p></div>\n        <div className=\"row my-4\"><p className=\"lead\">*Before connecting, please write your first and last name.</p></div>\n        <div class=\"row my-4\"><p class=\"lead\">The presentation of the report can be seen at the <a rel=\"noopener\" target=\"_blank\" href=\"https://ai-biolab.ru/data/\">link</a>.</p></div>\n        <div className=\"row my-4\"><p className=\"lead\">All the seminars held are posted in the <a rel=\"noopener\" target=\"_blank\" href=\"/Sem_Compl/En\">archive</a>.</p></div>\n        <div className=\"row my-4\"><p>29.03.2025</p></div>\n      </Container>\n      <Footer_En />\n    </>\n  );\n}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_a from \"../images/news/life_a.PNG\"\n\n\nexport function Life_a () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={life_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>Ученые НГУ разрабатывают модель для прогнозирования развития осложнений инфекционных заболеваний</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Ученые Новосибирского государственного университета совместно с коллегами из Лаборатории ИИ-технологий математического моделирования биологических, социально-экономических и экологических процессов Института математики им. С.Л. Соболева методами искусственного интеллекта и математического моделирования изучают влияние прошедшей эпидемии ковида на течение туберкулеза и ВИЧ в различных регионах России. Исследования проводятся в рамках запроса нескольких учреждений, подведомственных Министерству здравоохранения РФ: Национального медицинского исследовательского центра физиопульмонологии и инфекционных заболеваний (г. Москва), Тульского областного центра по профилактике и борьбе со СПИД и инфекционными заболеваниями (г. Тула) и Новосибирского научно-исследовательского института туберкулеза (г. Новосибирск). Согласно этому запросу, научным сотрудникам лаборатории предлагалось выяснить, какие социально-экономические и эпидемиологические факторы влияют на распространенность туберкулеза и ВИЧ-инфекции.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">— У медицинских работников было подозрение, что пандемия ковид-19 повлияла на возникновение будущих осложнений при заболевании туберкулезом, поскольку ковид — это быстро развивающееся заболевание, инкубационный период и развитие которого по времени исчисляется в днях, а туберкулез может скрытно развиваться в организме годами и протекать длительное время. Наложившись на латентный период туберкулеза, вирус ковида может привести к осложнениям его протекания и, соответственно, лечения ввиду возникновения лекарственной резистентности. Возможно и сокращение длительности инкубационного периода туберкулеза. Однако пока это еще только теория, которой требуются подтверждения, а их привычными методами получить затруднительно, поскольку для оценки ситуации с момента окончания эпидемии ковида прошло недостаточно времени, — объясняет заведующая Лабораторией, доцент кафедры высшей математики <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/physics-department/\">Физического факультета НГУ</a> и кафедры математических методов геофизики <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/mathematics-mechanics-department/\">Механико-математического факультета НГУ</a> <b>Ольга Криворотько.</b></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Перед учеными была поставлена данная задача, выполнять которую они решили в два этапа. Сначала им предстояло построить математическую модель и разработать алгоритм, позволяющие выявить в каждом регионе страны ключевые социально-экономические факторы, влияющие на заболеваемость туберкулезом и его распространенность. Учитывались средняя площадь помещений, в которых жители различных регионов живут и работают, уровень безработицы, средняя зарплата, уровень образования, миграция, количество заболевших в учреждениях Федеральной службы исполнения наказания и др.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">На втором этапе было решено построить математическую модель распространения туберкулеза и ВИЧ-инфекции, учитывающую помимо социально-экономических факторов еще и эпидемиологические: количество людей, переболевших ковидом и получивших естественный иммунитет, число умерших с этим диагнозом (как основным, так и сопутствующим другим заболеваниям).</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Первый этап исследования уже пройден, ключевые факторы распространения туберкулеза выявлены. Не во всех регионах России они одинаковы.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">— Все 86 регионов страны мы условно с помощью методов машинного обучения и нейросетей разделили на три больших блока. Первый — развитые регионы, которые характеризуются меньшей плотностью населения и более благополучной ситуацией по заболеваемости туберкулезом. Во второй блок вошли их противоположности — регионы с высокой заболеваемостью и большей плотностью населения. Третий блок составили регионы со средними показателями. В каждой группе регионов разные показатели влияют на распространенность туберкулеза, например, Москва, Санкт-Петербург и Тюменская область относятся к первой группе, республика Тыва, Курганская область и Алтайский край — ко второй группе. По обеим группам (развитые и менее развитые) общий показатель, влияющий на распространение туберкулеза, —  количество ВИЧ-инфицированных. В первой группе влияет еще показатель площади помещений на человека и среднедушевой доход, а во второй —  доля постоянного населения и доля населения ниже прожиточного минимума, — рассказала <b>Ольга Криворотько.</b></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Для каждой группы регионов были разработаны математические модели с учетом их специфики, а также преобладающих ключевых факторов и социально-экономических показателей. Затем с помощью данных математических моделей построили прогнозы на минувшие годы и сравнили их с реальными историческими данными. Прогнозы, где были учтены социально-экономические факторы, совпали с реальными данными в большей степени, чем те, в которых они не учитывались, особенно в регионах с повышенной заболеваемостью в последние 3 года. Также с реальными показателями совпал и прогноз на 2021 год — он оказался в доверительном интервале. Но прогноз на 2022 год отличался от реальной ситуации. По мнению экспертов-эпидемиологов Минздрава России, такое расхождение произошло по причине того, что мы не учитывали при составлении прогнозов заболеваемости туберкулезом эпидемию ковида, влияние которой проявилось в 2022 году, Исследователи добавили в модель дополнительную зависимость от количества переболевших ковидом и приступили к составлению сценариев распространения туберкулеза на 2022-2024 годы. Прогнозы на 2022 и 2023 годы оказались достаточно близки к историческим данным, проверить прогноз на 2024 год пока не представляется возможным по причине недостатка статистических данных.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Завершить работу по модели прогнозирования заболеваемости туберкулезом на три года вперед с учетом ковида ученые планируют к сентябрю этого года. Программой, создающей прогнозы на год, уже пользуются специалисты Минздрава России, выданные ею прогнозные данные на сегодняшний день совпадают с реальными. Прогнозы были использованы для расчетов нагрузок на лечебные учреждения в этом году и пока существенных расхождений между ними и настоящей ситуацией не отмечено.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">У ученых лаборатории накоплен большой опыт работы с прогнозами заболеваемости ковидом в период пандемии коронавируса. В апреле 2020 году они с помощью своей модели прогнозирования предсказали пик заболеваемости уханьским штаммом коронавируса в Москве 11 мая того же года и выдали данные по предположительному количеству заболевших в сутки. Доклад об этом Ольга Криворотко представила 17 апреля на <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/mca/researchgroups/nauchno-obrazovatelnye-seminary/\"> Интернет-семинаре «Актуальные проблемы прикладной математики»</a>, который проводился под руководством академика РАН И.А. Тайманова, чл.-корр. РАН С.И. Кабанихина, чл.-корр. РАН А.Е. Миронова, д.ф.-м.н. М.А. Шишленина.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">— Данный прогноз был сделан на основе базовой модели, которая опиралась на закон действующих масс и функционировала без применения машинного обучения. В ней учитывалась только информация о самом заболевании — его инкубационный период, степень заразности, течение заболевания и т.п. Затем начался период ограничительных мероприятий: обязательное ношение защитных масок, закрытие общественных мест, временное прекращение работы учреждений и организаций, локдауны, а потом и вакцинация. Следует отметить, что с введением превентивных мер меняется сценарий распространения любого инфекционного заболевания, и классические математические модели расчетов здесь уже не работают. И мы создали новую модель прогнозов, учитывающую множество факторов, включая перечисленные. Причем для всех регионов прогнозы были разными — в зависимости от того, какие превентивные меры в них вводились и когда именно, выдавались прогнозы на 7, 30, 45 дней с учетом текущих социально-экономических изменений, — сказала <b>Ольга Криворотько.</b></p></div>\n    <div class=\"row ps-4 my-4\"><p>08.07.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_a from \"../images/news/life_a.PNG\"\n\n\nexport function Life_a_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={life_a} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>NSU scientists are developing a model for predicting the development of complications of infectious diseases</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Scientists of Novosibirsk State University, together with colleagues from the Laboratory of AI Technologies for Mathematical Modeling of Biological, Socio-economic and Environmental Processes of the S.L. Sobolev Institute of Mathematics, use artificial intelligence and mathematical modeling to study the impact of the past covid epidemic on the course of tuberculosis and HIV in various regions of Russia. The research is carried out at the request of several institutions subordinate to the Ministry of Health of the Russian Federation: the National Medical Research Center for Physiopulmonology and Infectious Diseases (Moscow), the Tula Regional Center for the Prevention and Control of AIDS and Infectious Diseases (Tula) and the Novosibirsk Tuberculosis Research Institute (Novosibirsk). According to this request, the laboratory's researchers were asked to find out what socio-economic and epidemiological factors affect the prevalence of tuberculosis and HIV infection.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">— Medical workers suspected that the covid-19 pandemic affected the occurrence of future complications of tuberculosis, since covid is a rapidly developing disease, the incubation period and development of which is calculated in days, and tuberculosis can develop covertly in the body for years and take a long time. Superimposed on the latent period of tuberculosis, the covid virus can lead to complications of its course and, accordingly, treatment due to the emergence of drug resistance. It is also possible to reduce the duration of the incubation period of tuberculosis. However, so far this is only a theory that requires confirmation, and it is difficult to obtain them using conventional methods, since not enough time has passed to assess the situation since the end of the covid epidemic, — explains <b>Olga Krivorotko</b>  head of the Laboratory, Associate Professor of the Department of Higher Mathematics of the <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/physics-department/\"> Faculty of Physics of NSU</a> and the Department of Mathematical Methods of Geophysics of the <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/mathematics-mechanics-department/\">Faculty of Mechanics and Mathematics of NSU.</a></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">The scientists were given this task, which they decided to perform in two stages. First, they had to build a mathematical model and develop an algorithm to identify the key socio-economic factors affecting the incidence of tuberculosis and its prevalence in each region of the country. The average area of premises in which residents of different regions live and work, the unemployment rate, average salary, education level, migration, the number of cases in institutions of the Federal Penitentiary Service, etc. were taken into account.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">At the second stage, it was decided to build a mathematical model of the spread of tuberculosis and HIV infection, taking into account, in addition to socio-economic factors, epidemiological factors: the number of people who had covid and received natural immunity, the number of deaths with this diagnosis (both major and concomitant other diseases).</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">The first stage of the study has already been completed, the key factors of the spread of tuberculosis have been identified. They are not the same in all regions of Russia.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">— We conditionally divided all 86 regions of the country into three large blocks using machine learning and neural networks. The first is the developed regions, which are characterized by a lower population density and a more prosperous situation in terms of tuberculosis incidence. The second block includes their opposites — regions with high morbidity and higher population density. The third block consisted of regions with average indicators. In each group of regions, different indicators affect the prevalence of tuberculosis, for example, Moscow, St. Petersburg and the Tyumen Region belong to the first group, the Republic of Tyva, the Kurgan Region and the Altai Territory belong to the second group. For both groups (developed and less developed), the overall indicator affecting the spread of tuberculosis is the number of HIV-infected people. In the first group, the indicator of the area of premises per person and the average per capita income also affects, and in the second — the share of the permanent population and the share of the population below the subsistence minimum, — said <b>Olga Krivorotko.</b></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Mathematical models have been developed for each group of regions, taking into account their specifics, as well as the prevailing key factors and socio-economic indicators. Then, using these mathematical models, forecasts for the past years were built and compared with real historical data. The forecasts, where socio-economic factors were taken into account, coincided with the real data to a greater extent than those in which they were not taken into account, especially in regions with increased morbidity in the last 3 years. Also, the forecast for 2021 coincided with the real indicators — it turned out to be in the confidence interval. But the forecast for 2022 was different from the real situation. According to epidemiologists of the Ministry of Health of the Russian Federation, such a discrepancy occurred due to the fact that we did not take into account the covid epidemic when making forecasts for the incidence of tuberculosis, the impact of which manifested itself in 2022, the researchers added an additional dependence to the model on the number of covid patients and began to draw up scenarios for the spread of tuberculosis for 2022-2024. Forecasts for 2022 and 2023 turned out to be quite close to historical data, it is not yet possible to check the forecast for 2024 due to a lack of statistical data.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Scientists plan to complete work on a model for predicting the incidence of tuberculosis for three years ahead, taking into account covid, by September this year. The program that creates forecasts for the year is already used by specialists of the Ministry of Health of the Russian Federation, the forecast data issued by it today coincide with the real ones. The forecasts were used to calculate the loads on medical institutions this year and so far there have been no significant discrepancies between them and the current situation.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">The laboratory's scientists have accumulated extensive experience in working with forecasts of covid incidence during the coronavirus pandemic. In April 2020, using their forecasting model, they predicted the peak incidence of the Wuhan strain of coronavirus in Moscow on May 11 of the same year and provided data on the estimated number of cases per day. Olga Krivorotko presented a report on this on April 17 at the <a rel=\"noopener\" target=\"_blank\" href=\"https://www.nsu.ru/n/mca/researchgroups/nauchno-obrazovatelnye-seminary/\">  Internet seminar \"Actual Problems of Applied Mathematics\"</a>, which was conducted under the guidance of Academician of the Russian Academy of Sciences I.A. Taimanov, corresponding member. RAS S.I. Kabanikhina, corresponding member. RAS A.E. Mironova, Doctor of Ph.D. M.A. Shishlenina.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">— This forecast was made based on the basic model, which was based on the law of acting masses and functioned without the use of machine learning. It took into account only information about the disease itself — its incubation period, the degree of contagion, the course of the disease, etc. Then began a period of restrictive measures: mandatory wearing of protective masks, closure of public places, temporary shutdown of institutions and organizations, lockdowns, and then vaccination. It should be noted that with the introduction of preventive measures, the scenario of the spread of any infectious disease changes, and classical mathematical models of calculations no longer work here. And we have created a new forecast model that takes into account many factors, including the listed ones. Moreover, the forecasts were different for all regions — depending on what preventive measures were introduced in them and when, forecasts for 7, 30, 45 days were issued, taking into account current socio-economic changes,\" <b>Olga Krivorotko</b> said.</p></div>\n    <div class=\"row ps-4 my-4\"><p>08.07.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_b from \"../images/news/life_b.PNG\"\n\n\nexport function Life_b () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={life_b} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>В Новосибирской области проходит акция \"Наука рядом\"</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Герои информационных баннеров - 15 молодых новосибирских учёных, чьи научные достижения активно применяют в различных отраслях. На цифровых панелях можно увидеть не только фото исследователей, но и познакомиться с результатами их деятельности. С одной из героинь встретилась корреспондент телеканала ОТС Светлана Шевченко. Видео можно посмотреть по <a rel=\"noopener\" target=\"_blank\" href=\"https://yandex.ru/video/preview/1383508478853144806\">ссылке.</a></p></div>\n    <div class=\"row ps-4 my-4\"><p>10.07.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_b from \"../images/news/life_b.PNG\"\n\n\nexport function Life_b_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={life_b} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>The action \"Science is near\" is taking place in the Novosibirsk region</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    \n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">The heroes of the information banners are 15 young Novosibirsk scientists whose scientific achievements are actively used in various industries. On the digital panels, you can see not only photos of researchers, but also get acquainted with the results of their activities. Svetlana Shevchenko, a correspondent of the OTS TV channel, met with one of the heroines. The video can be <a rel=\"noopener\" target=\"_blank\" href=\"https://yandex.ru/video/preview/1383508478853144806\">viewed here.</a></p></div>\n    <div class=\"row ps-4 my-4\"><p>10.07.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_c from \"../images/news/life_c.PNG\"\n\n\nexport function Life_c () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={life_c} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>30 августа на базе Центра нейрохирургии состоится Заседание Сибирской ассоциации нейрохирургов</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">30 августа на базе Центра нейрохирургии состоится Заседание Сибирской ассоциации нейрохирургов на котором выступит сотрудник лаборатории <b>Криворотько Ольга Игоревна</b>, доктор физико-математических  наук, заведующий лабораторией Института математики им. С.Л. Соболева СО РАН, начальник научно-исследовательского отдела ММЦ ИМ СО РАН (г. Новосибирск) с докладом на тему «Математическое моделирование в медицине».</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Председатель заседания: Антон Алексеевич Пашков</b>, медицинский психолог ФГБУ «Федеральный центр нейрохирургии» Министерства здравоохранения Российской Федерации (г. Новосибирск), старший преподаватель Кафедры нейрохирургии ФГБОУ ФО «Новосибирский государственный медицинский университет» Министерства здравоохранения Российской Федерации, старший преподаватель Кафедры систем сбора и обработки данных ФГБОУ ВО  «Новосибирский государственный технический университет».</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Программа: </b></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">16:00 Вступительное слово</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">16:05 «Математическое моделирование в медицине» (О.И. Криворотько)</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">16:45 «Искусственный интеллект в науках о мозге» (А.А. Пашков)</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">17:30 Дискуссия</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">17:40 Закрытие заседания</p></div>\n    <div class=\"row ps-4 my-4\"><p>26.08.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_c from \"../images/news/life_c.PNG\"\n\n\nexport function Life_c_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={life_c} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>On August 30, a meeting of the Siberian Association of Neurosurgeons will be held at the Neurosurgery Center</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">On August 30, on the basis of the Center for Neurosurgery, a meeting of the Siberian Association of Neurosurgeons will be held at which an employee of the laboratory <b>Olga Krivorotko</b>, Doctor of Physical and Mathematical Sciences, head of the laboratory of the S.L. Sobolev Institute of Mathematics SB RAS, head of the research department of the MMC SB RAS (Novosibirsk) will make a report on the topic «Mathematical modeling in medicine».</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Chairman of the meeting: Anton Pashkov</b>, a medical psychologist at the Federal State Budgetary Institution of the Ministry of Health of the Russian Federation (Novosibirsk), Senior lecturer at the Department of Neurosurgery of the Novosibirsk State Medical University of the Ministry of Health of the Russian Federation, Senior Lecturer at the Department of Data Collection and Processing Systems Federal State Budgetary Educational Institution of Higher Education «Novosibirsk State Technical University».</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Program: </b></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">16:00 Opening remarks</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">16:05 «Mathematical modeling in medicine» (O. Krivorotko)</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">16:45 «Artificial intelligence in the sciences of the brain» (A. Pashkov)</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">17:30 Discussion</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">17:40 Closing of the meeting</p></div>\n    <div class=\"row ps-4 my-4\"><p>26.08.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_d from \"../images/news/life_d.PNG\"\n\n\nexport function Life_d () {\n\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={life_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>Заведующий лабораторией Криворотько О.И. примет участие в заседаниях IV Конгресса молодых учёных</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">С 27-го по 29-ое ноября пройдёт IV Конгресс молодых учёных, в котором примет участие заведующий лабораторией <a rel=\"noopener\" target=\"_blank\" href='/Krivorotko_info'>Криворотько О.И.</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">IV Конгресс молодых ученых – ключевое событие 2024 года в рамках Десятилетия науки и технологий, объявленного Указом Президента Российской Федерации в целях усиления роли науки и технологий в решении важнейших задач развития общества и страны.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Конгресс выступает крупнейшей площадкой для диалога передовой и фундаментальной науки, государственной власти и реального сектора экономики и задает основные векторы научно-технологического развития России.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">В программу Конгресса входят деловая, выставочная, спортивная, культурная и вечерняя программы.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Деловая программа традиционно состоит из круглых столов, экспертных сессий, панельных дискуссий и мероприятий в различных интерактивных форматах.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">На Конгрессе также состоится выставка научных достижений всех субъектов РФ, в том числе результаты реализации региональных планов по инициативам Десятилетия науки и технологий.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">Более подробную информацию можно найти на <a rel=\"noopener\" target=\"_blank\" href=\"https://xn--c1aenmeoia.xn--80aa3ak5a.xn--p1ai/\">сайте конгресса.</a></p></div>\n    <div class=\"row ps-4 my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport life_d from \"../images/news/life_d.PNG\"\n\n\nexport function Life_d_En () {\n\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={life_d} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>The head of the laboratory, O. Krivorotko, will take part in the meetings of the IV Congress of Young Scientists</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row my-4\"><p class=\"lead\">From November 27th to November 29th, the IV Congress of Young Scientists will be held, which will be attended by the head of the laboratory <a rel=\"noopener\" target=\"_blank\" href='/Krivorotko_info/En'>O. Krivorotko</a>.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The IV Congress of Young Scientists is a key event in 2024 within the framework of the Decade of Science and Technology, announced by Decree of the President of the Russian Federation in order to strengthen the role of science and technology in solving the most important tasks of the development of society and the country.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The Congress acts as the largest platform for dialogue between advanced and fundamental science, government and the real sector of the economy and sets the main vectors of scientific and technological development in Russia.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The Congress program includes business, exhibition, sports, cultural and evening programs.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The business program traditionally consists of round tables, expert sessions, panel discussions and events in various interactive formats.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">The Congress will also host an exhibition of scientific achievements of all subjects of the Russian Federation, including the results of the implementation of regional plans for the initiatives of the Decade of Science and Technology.</p></div>\n    <div class=\"row my-4\"><p class=\"lead\">More detailed information can be found on the <a rel=\"noopener\" target=\"_blank\" href=\"https://xn--c1aenmeoia.xn--80aa3ak5a.xn--p1ai/\">congress website.</a></p></div>\n    <div class=\"row my-4\"><p>17.10.2024</p></div>\n\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_TheoryAndNumericalMethods2 from \"../images/conf/conf_TheoryAndNumericalMethods2.png\"\n\n\nexport function TheoryAndNumericalMethods () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_TheoryAndNumericalMethods2} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>XVI международная молодежная научная школа-конференция «Теория и численные методы решения обратных и некорректных задач».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">С 30 сентября по 2 октября в Институте математики им. С.Л. Соболева СО РАН пройдёт XVI международная молодежная научная школа-конференция «Теория и численные методы решения обратных и некорректных задач».</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Организационный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Председатель:</b> д.ф.-.м.н., профессор РАН М.А. Шишленин. <br></br> <b>Зам. председателя:</b> д.ф.-м.н. О.И. Криворотько, к.ф.-м.н. Н.С. Новиков.<br></br><b>Ученый секретарь:</b> А.И. Глухов.<br></br><b>Оргкомитет:</b> Н.Ю. Зятьков, Т.А. Звонарева, П.С. Сурнин, А.В. Неверов, А.В. Губер.<br></br><b>Почта оргкомитета:</b> tcmiip@yandex.ru</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Программный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Председатель Программного комитета: </b>член-корр. РАН С.И. Кабанихин, Математический центр в Академгородке, Новосибирский государственный университет, Новосибирск, Россия.<br></br><b>Заместители председателя: </b>профессор РАН И.В. Марчук, Новосибирский государственный университет;<br></br>профессор РАН М.А. Шишленин, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;\n    <br></br>профессор А.Г. Ягола, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>д.ф.-м.н. О.И. Криворотько, Международный математический центр, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.<br></br><b>Ученый секретарь: </b>А.И. Глухов, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия. <br></br><b>Программный комитет: </b>академик РАН В.И. Бердышев, Институт математики и механики УрО РАН, Екатеринбург, Россия;\n    <br></br>академик РАН М.А. Гузев, Институт прикладной математики ДВО РАН, Владивосток, Россия;<br></br>академик РАН В.П. Дымников, Институт вычислительной математики им. Г.И. Марчука РАН, Москва, Россия;<br></br>\nакадемик РАН Ю.Г. Евтушенко, ФИЦ «Информатика и управление» РАН, Москва, Россия;<br></br>\nакадемик НАН РК Т.Ш. Кальменов, Центр физико-математических исследований МОН РК, Алматы, Казахстан;<br></br>\nакадемик Н.А. Колчанов, Институт цитологии и генетики СО РАН, Новосибирск, Россия;<br></br>\nакадемик РАН Н.Ю. Лукоянов, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nакадемик РАН В.Г. Романов, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nакадемик РАН Г.И. Савин, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nакадемик РАН Р.З. Сагдеев, Международный томографический центр СО РАН, Новосибирск, Россия;<br></br>\nакадемик РАН В.А. Садовничий, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nакадемик РАН Е.Е. Тыртышников, Институт вычислительной математики РАН, Москва, Россия;<br></br>\nакадемик РАН М.П. Федорук, Новосибирский государственный университет, Новосибирск, Россия;<br></br>\nакадемик РАН Б.Н. Четверушкин, Институт прикладной математики им. М.В. Келдыша РАН, Москва, Россия;<br></br>\nакадемик РАН А.А. Шананин, Московский физико-технический институт, Москва, Россия;<br></br>\nакадемик РАН М.И. Эпов, Институт нефтегазовой геологии и геофизики им. А.А. Трофимука СО РАН, Новосибирск, Россия;<br></br>\nчлен-корр. РАН В.В. Васин, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nчлен-корр. РАН В.Н. Глинских, Институт нефтегазовой геологии и геофизики им. А.А. Трофимука СО РАН, Новосибирск, Россия;<br></br>\nчлен-корр. РАН С.Н. Лебедев, Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт технической физики имени академика Е. И. Забабахина, Снежинск, Россия;<br></br>\nчлен-корр. РАН Г.А. Михайлов, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nчлен-корр. РАН И.Б. Петров, Московский физико-технический институт, Москва, Россия;<br></br>\nчлен-корр. РАН Р.М. Шагалиев, Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики, Саров, Россия;<br></br>\nпрофессор М.А. Бектемесов, Казахстанский национальный педагогический университет им Абая, Алматы, Казахстан;<br></br>\nпрофессор М.И. Белишев, Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН, Санкт-Петербург, Россия;<br></br>\nпрофессор В.И. Васильев, Северо-восточный федеральный университет им. М.К. Аммосова, Якутск, Россия;<br></br>\nпрофессор РАН К.В. Воронцов, Московский физико-технический институт, Москва, Россия;<br></br>\nпрофессор С.К. Голушко, Новосибирский государственный университет, Новосибирск, Россия;<br></br>\nпрофессор И.Н. Ельцов, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор Г.Н. Ерохин, Балтийский федеральный университет им. И. Канта, Калининград, Россия;<br></br>\nпрофессор К.Т. Искаков, Евразийский национальный университет им. Л.Н. Гумилева, Астана, Казахстан;<br></br>\nпрофессор М.Ю. Кокурин, Марийский государственный университет, Йошкар-Ола, Россия;<br></br>\nпрофессор И.В. Коптюг, Международный томографический центр СО РАН, Новосибирск, Россия;<br></br>\nпрофессор Г.М. Курамшина, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nпрофессор М.М. Лаврентьев, Новосибирский государственный университет, Новосибирск, Россия;<br></br>\nпрофессор В.И. Максимов, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nпрофессор РАН М.А. Марченко, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор РАН И.В. Оселедец, Сколковский институт науки и технологий, Москва, Россия;<br></br>\nпрофессор В.В. Пененко, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор В.В. Пикалов, Институт теоретической и прикладной механики им. С.А. Христиановича СО РАН, Новосибирск, Россия;<br></br>\nпрофессор К.К. Сабельфельд, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор РАН Д.Н. Сидоров, Институт систем энергетики им. Л.А. Мелентьева СО РАН,Иркутск, Россия;<br></br>\nпрофессор В.А. Юрко, Саратовский государственный университет, Саратов, Россия;<br></br>\nд.ф.-м.н. Г.А. Бочаров, Институт вычислительной математики РАН, Москва, Россия;<br></br>\nд.ф.-м.н. А.В. Гасников, Московский физико-технический институт, Москва, Россия;<br></br>\nд.ф.-м.н. А.С. Козелков, Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики, Саров, Россия;<br></br>\nк.ф.-м.н. С.Г. Казанцев, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nк.ф.-м.н. Д.В. Лукьяненко, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nк.ф.-м.н. В.С. Михайлов, Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН, Санкт-Петербург, Россия;<br></br>\nк.ф.-м.н. Н.С. Новиков, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nProfessor H. Ammari, ETH Zürich, Zürich, Switzerland;<br></br>\nProfessor A. Baklanov, World Meteorological Organization, Geneva, Switzerland;<br></br>\nProfessor A.L. Bougheim, Kansas State University, Kansas, USA;<br></br>\nProfessor J. Cheng, Fudan University, Shanghai, China;<br></br>\nProfessor Ya. Efendiev, Texas A&M University, College Station, USA;<br></br>\nProfessor D.N. Hao, Institute of Mathematics, Hanoi, Vietnam;<br></br>\nProfessor A. Hasanoglu, Izmit University, Izmit, Turkey;<br></br>\nProfessor T. Hohage, University of Göttingen, Göttingen, Germany;<br></br>\nProfessor M. Ikehata, Hiroshima University, Hiroshima, Japan;<br></br>\nProfessor M. Klibanov, University of North Carolina at Charlotte,Charlotte, USA;<br></br>\nProfessor D. Lesnic, University of Leeds, Leeds, UK;<br></br>\nProfessor J. Liu, Southeast University, Nanjing, China;<br></br>\nProfessor A. Louis, Saarland University, Saarbrücken, Germany;<br></br>\nProfessor R. Novikov, Centre de Mathématiques Appliquées, Ecole Polytechnique, France;<br></br>\nProfessor O. Scherzer, Johann Radon Institute for Computational and Applied Mathematics, Vienna, Austria;<br></br>\nProfessor Y. Wang, Institute of Geology and Geophysics, Beijing, China;<br></br>\nProfessor Ye Zhang, MSU-BIT University, Shenzhen, China;<br></br>\nProfessor Sh. Zhang, Tianjin University of Finance and Economics,Tianjin, China;<br></br>\nProfessor J. Zou, Chinese University of Hong Kong, Hong Kong, China.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Более подробная информация указана на <a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/tcmiip2024/general_info\">сайте конференции</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>09.08.2024</p></div>\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_TheoryAndNumericalMethods2 from \"../images/conf/conf_TheoryAndNumericalMethods2.png\"\n\n\nexport function TheoryAndNumericalMethods_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_TheoryAndNumericalMethods2} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>XVI International Youth Scientific School-conference «Theory and numerical methods for solving inverse and ill-posed problems».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    \n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">From September 30 to October 2, the XVI International Youth Scientific School conference «Theory and Numerical Methods for solving Inverse and Ill-posed problems» will be held at the S.L. Sobolev Institute of Mathematics SB RAS.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>The Organizing Committee:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Chairman:</b> M. Shishlenin, Doctor of Physical and Mathematical Sciences, Professor of the Russian Academy of Sciences. <br></br> <b>Deputy Chairman:</b> Doctor of Physical and Mathematical Sciences O. Krivorotko, Candidate of Physical and Mathematical Sciences N. Novikov.<br></br><b>Academic Secretary:</b> A. Glukhov.<br></br><b>The Organizing Committee:</b> N. Zyatkov, T. Zvonareva, P. Surnin, A. Neverov, A. Huber.<br></br><b>Organizing Committee's mail:</b> tcmiip@yandex.ru</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Program Committee:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Chairman of the Program Committee: </b>corresponding member. RAS S. Kabanikhin, Mathematical Center in Akademgorodok, Novosibirsk State University, Novosibirsk, Russia.<br></br><b>Deputy Chairman: </b>Professor of the Russian Academy of Sciences I. Marchuk, Novosibirsk State University;<br></br>RAS Professor M. Shishlenin, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;\n    <br></br>Professor A. Yagola, Lomonosov Moscow State University, Moscow, Russia;<br></br>Doctor of Physical and Mathematical Sciences O. Krivorotko, International Mathematical Center, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.<br></br><b>Academic Secretary: </b>A. Glukhov,S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia. <br></br><b>Program Committee: </b>Academician of the Russian Academy of Sciences V. Berdyshev, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;\n    <br></br>Academician of the Russian Academy of Sciences M. Guzev, Institute of Applied Mathematics, FEB RAS, Vladivostok, Russia;<br></br>Academician of the Russian Academy of Sciences V. Dymnikov, G.I. Marchuk Institute of Computational Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\n    Academician of the Russian Academy of Sciences Yu. Yevtushenko, FITZ \"Informatics and Management\" RAS, Moscow, Russia;<br></br>\n    Academician of the National Academy of Sciences of the Republic of Kazakhstan T. Kalmenov, Center for Physical and Mathematical Research of the Ministry of Education and Science of the Republic of Kazakhstan, Almaty, Kazakhstan;<br></br>\n    Academician N. Kolchanov, Institute of Cytology and Genetics SB RAS, Novosibirsk, Russia;<br></br>\n    Academician of the Russian Academy of Sciences N. Lukoyanov, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\n    Academician of the Russian Academy of Sciences V. Romanov, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\n    Academician of the Russian Academy of Sciences G. Savin, Lomonosov Moscow State University, Moscow, Russia;<br></br>\n    Academician of the Russian Academy of Sciences R. Sagdeev, International Tomographic Center SB RAS, Novosibirsk, Russia;<br></br>\n    Academician of the Russian Academy of Sciences V. Sadovnichy, Lomonosov Moscow State University, Moscow, Russia;<br></br>\n    Academician of the Russian Academy of Sciences E. Tyrtyshnikov, Institute of Computational Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\n    Academician of the Russian Academy of Sciences M. Fedoruk, Novosibirsk State University, Novosibirsk, Russia;<br></br>\n    Academician of the Russian Academy of Sciences B. Chetverushkin, M.V. Keldysh Institute of Applied Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\n    Academician of the Russian Academy of Sciences A. Shananin, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\n    Academician of the Russian Academy of Sciences M. Epov, A.A. Trofimuk Institute of Petroleum Geology and Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    corresponding member. RAN V. Vasin, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\n    corresponding member. RAS V. Glinskikh, A.A. Trofimuk Institute of Petroleum Geology and Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    corresponding member. S. Lebedev, Russian Federal Nuclear Center - All-Russian Scientific Research Institute of Technical Physics named after Academician E. I. Zababakhin, Snezhinsk, Russia;<br></br>\n    corresponding member. RAS G. Mikhailov, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    corresponding member. RAN I. Petrov, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\n    corresponding member. RAS R. Shagaliev, Russian Federal Nuclear Center - All-Russian Scientific Research Institute of Experimental Physics, Sarov, Russia;<br></br>\n    Professor M. Bektemesov, Abai Kazakh National Pedagogical University, Almaty, Kazakhstan;<br></br>\n    Professor M. Belishev, St. Petersburg Department of the Steklov Mathematical Institute of the Russian Academy of Sciences, St. Petersburg, Russia;<br></br>\n    Professor V. Vasiliev, Northeastern Federal University named after M.K. Ammosov, Yakutsk, Russia;<br></br>\n    Professor of the Russian Academy of Sciences K. Vorontsov, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\n    Professor S. Golushko, Novosibirsk State University, Novosibirsk, Russia;<br></br>\n    Professor I. Yeltsov, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    Professor G. Erokhin, I. Kant Baltic Federal University, Kaliningrad, Russia;<br></br>\n    Professor K. Iskakov, L.N. Gumilyov Eurasian National University, Astana, Kazakhstan;<br></br>\n    Professor M. Kokurin, Mari State University, Yoshkar-Ola, Russia;<br></br>\n    Professor I. Koptyug, International Tomography Center SB RAS, Novosibirsk, Russia;<br></br>\n    Professor G. Kuramshina, Lomonosov Moscow State University, Moscow, Russia;<br></br>\n    Professor M. Lavrentiev, Novosibirsk State University, Novosibirsk, Russia;<br></br>\n    Professor V. Maksimov, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\n    RAS Professor M. Marchenko, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    Professor of the Russian Academy of Sciences I. Oseledets, Skolkovo Institute of Science and Technology, Moscow, Russia;<br></br>\n    Professor V. Penenko, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    Professor V. Pikalov, S.A. Khristianovich Institute of Theoretical and Applied Mechanics SB RAS, Novosibirsk, Russia;<br></br>\n    Professor K. Sabelfeld, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\n    RAS Professor D. Sidorov, L.A. Melentiev Institute of Energy Systems SB RAS,Irkutsk, Russia;<br></br>\n    Professor V. Yurko, Saratov State University, Saratov, Russia;<br></br>\n    Doctor of Physical and Mathematical Sciences G. Bocharov, Institute of Computational Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\n    Doctor of Physical and Mathematical Sciences A. Gasnikov, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\n    Doctor of Physical and Mathematical Sciences A. Kozelkov, Russian Federal Nuclear Center - All-Russian Scientific Research Institute of Experimental Physics, Sarov, Russia;<br></br>\n    Candidate of Physical and Mathematical Sciences S. Kazantsev, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\n    Candidate of Physical and Mathematical Sciences D. Lukyanenko, Lomonosov Moscow State University, Moscow, Russia;<br></br>\n    Candidate of Physical and Mathematical Sciences V. Mikhailov, St. Petersburg Department of the Steklov Mathematical Institute of the Russian Academy of Sciences, St. Petersburg, Russia;<br></br>\n    Candidate of Physical and Mathematical Sciences N. Novikov, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\nProfessor H. Ammari, ETH Zürich, Zürich, Switzerland;<br></br>\nProfessor A. Baklanov, World Meteorological Organization, Geneva, Switzerland;<br></br>\nProfessor A.L. Bougheim, Kansas State University, Kansas, USA;<br></br>\nProfessor J. Cheng, Fudan University, Shanghai, China;<br></br>\nProfessor Ya. Efendiev, Texas A&M University, College Station, USA;<br></br>\nProfessor D.N. Hao, Institute of Mathematics, Hanoi, Vietnam;<br></br>\nProfessor A. Hasanoglu, Izmit University, Izmit, Turkey;<br></br>\nProfessor T. Hohage, University of Göttingen, Göttingen, Germany;<br></br>\nProfessor M. Ikehata, Hiroshima University, Hiroshima, Japan;<br></br>\nProfessor M. Klibanov, University of North Carolina at Charlotte,Charlotte, USA;<br></br>\nProfessor D. Lesnic, University of Leeds, Leeds, UK;<br></br>\nProfessor J. Liu, Southeast University, Nanjing, China;<br></br>\nProfessor A. Louis, Saarland University, Saarbrücken, Germany;<br></br>\nProfessor R. Novikov, Centre de Mathématiques Appliquées, Ecole Polytechnique, France;<br></br>\nProfessor O. Scherzer, Johann Radon Institute for Computational and Applied Mathematics, Vienna, Austria;<br></br>\nProfessor Y. Wang, Institute of Geology and Geophysics, Beijing, China;<br></br>\nProfessor Ye Zhang, MSU-BIT University, Shenzhen, China;<br></br>\nProfessor Sh. Zhang, Tianjin University of Finance and Economics,Tianjin, China;<br></br>\nProfessor J. Zou, Chinese University of Hong Kong, Hong Kong, China.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">More detailed information is available on the <a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/tcmiip2024/general_info\">conference website</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>09.08.2024</p></div>\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_ModernProblemsOfInverseProblems2 from \"../images/conf/conf_ModernProblemsOfInverseProblems2.png\"\n\n\nexport function ModernProblemsOfInverseProblems () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_ModernProblemsOfInverseProblems2} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>Международная научная конференция «Современные проблемы обратных задач».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">С 3 по 5 октября в Институте математики им. С.Л. Соболева СО РАН пройдёт С 3 по 5 октября в Институте математики им. С.Л. Соболева СО РАН пройдёт Международная научная конференция «Современные проблемы обратных задач».</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Организационный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Председатель:</b> д.ф.-.м.н., профессор РАН М.А. Шишленин. <br></br> <b>Зам. председателя:</b> д.ф.-м.н. О.И. Криворотько, к.ф.-м.н. Н.С. Новиков.<br></br><b>Ученый секретарь:</b> А.И. Глухов.<br></br><b>Оргкомитет:</b> Н.Ю. Зятьков, Т.А. Звонарева, П.С. Сурнин, А.В. Неверов, А.В. Губер.<br></br><b>Почта оргкомитета:</b> tcmiip@yandex.ru</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Программный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Сопредседатели Программного комитета: </b>член-корр. РАН С.И. Кабанихин, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nпрофессор РАН М.А. Шишленин, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nд.ф.-м.н. О.И. Криворотько, Международный математический центр, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.<br></br>\n<b>Ученый секретарь: </b>П.С. Сурнин, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия.<br></br>\n<b>Программный комитет: </b>академик РАН В.И. Бердышев, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nакадемик РАН М.А. Гузев, Институт прикладной математики ДВО РАН, Владивосток, Россия;<br></br>\nакадемик РАН В.П. Дымников, Институт вычислительной математики им. Г.И. Марчука РАН, Москва, Россия;<br></br>\nакадемик РАН Ю.Г. Евтушенко, ФИЦ «Информатика и управление» РАН, Москва, Россия;<br></br>\nакадемик НАН РК Т.Ш. Кальменов, Центр физико-математических исследований МОН РК, Алматы, Казахстан;<br></br>\nакадемик Н.А. Колчанов, Институт цитологии и генетики СО РАН, Новосибирск, Россия;<br></br>\nакадемик РАН Н.Ю. Лукоянов, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nакадемик РАН В.Г. Романов, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nакадемик РАН Г.И. Савин, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nакадемик РАН Р.З. Сагдеев, Международный томографический центр СО РАН, Новосибирск, Россия;<br></br>\nакадемик РАН В.А. Садовничий, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nакадемик РАН Е.Е. Тыртышников, Институт вычислительной математики РАН, Москва, Россия;<br></br>\nакадемик РАН М.П. Федорук, Новосибирский государственный университет, Новосибирск, Россия;<br></br>\nакадемик РАН Б.Н. Четверушкин, Институт прикладной математики им. М.В. Келдыша РАН, Москва, Россия;<br></br>\nакадемик РАН А.А. Шананин, Московский физико-технический институт, Москва, Россия;<br></br>\nакадемик РАН М.И. Эпов, Институт нефтегазовой геологии и геофизики им. А.А. Трофимука СО РАН, Новосибирск, Россия;<br></br>\nчлен-корр. РАН В.В. Васин, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nчлен-корр. РАН В.Н. Глинских, Институт нефтегазовой геологии и геофизики им. А.А. Трофимука СО РАН, Новосибирск, Россия;<br></br>\nчлен-корр. РАН С.Н. Лебедев, Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт технической физики имени академика Е. И. Забабахина, Снежинск, Россия;<br></br>\nчлен-корр. РАН Г.А. Михайлов, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nчлен-корр. РАН И.Б. Петров, Московский физико-технический институт, Москва, Россия;<br></br>\nчлен-корр. РАН Р.М. Шагалиев, Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики, Саров, Россия;<br></br>\nпрофессор М.А. Бектемесов, Казахстанский национальный педагогический университет им Абая, Алматы, Казахстан;<br></br>\nпрофессор М.И. Белишев, Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН, Санкт-Петербург, Россия;<br></br>\nпрофессор В.И. Васильев, Северо-восточный федеральный университет им. М.К. Аммосова, Якутск, Россия;<br></br>\nпрофессор РАН К.В. Воронцов, Московский физико-технический институт, Москва, Россия;<br></br>\nпрофессор С.К. Голушко, Новосибирский государственный университет, Новосибирск, Россия;<br></br>\nпрофессор И.Н. Ельцов, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор Г.Н. Ерохин, Балтийский федеральный университет им. И. Канта, Калининград, Россия;<br></br>\nпрофессор К.Т. Искаков, Евразийский национальный университет им. Л.Н. Гумилева, Астана, Казахстан;<br></br>\nпрофессор М.Ю. Кокурин, Марийский государственный университет, Йошкар-Ола, Россия;<br></br>\nпрофессор И.В. Коптюг, Международный томографический центр СО РАН, Новосибирск, Россия;<br></br>\nпрофессор Г.М. Курамшина, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nпрофессор М.М. Лаврентьев, Новосибирский государственный университет, Новосибирск, Россия;<br></br>\nпрофессор В.И. Максимов, Институт математики и механики УрО РАН, Екатеринбург, Россия;<br></br>\nпрофессор РАН М.А. Марченко, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор РАН И.В. Оселедец, Сколковский институт науки и технологий, Москва, Россия;<br></br>\nпрофессор В.В. Пененко, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор В.В. Пикалов, Институт теоретической и прикладной механики им. С.А. Христиановича СО РАН, Новосибирск, Россия;<br></br>\nпрофессор К.К. Сабельфельд, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия;<br></br>\nпрофессор РАН Д.Н. Сидоров, Институт систем энергетики им. Л.А. Мелентьева СО РАН,Иркутск, Россия;<br></br>\nпрофессор В.А. Юрко, Саратовский государственный университет, Саратов, Россия;<br></br>\nпрофессор А.Г. Ягола, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nд.ф.-м.н. Г.А. Бочаров, Институт вычислительной математики РАН, Москва, Россия;<br></br>\nд.ф.-м.н. А.В. Гасников, Московский физико-технический институт, Москва, Россия;<br></br>\nд.ф.-м.н. А.С. Козелков, Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики, Саров, Россия;<br></br>\nк.ф.-м.н. С.Г. Казанцев, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nк.ф.-м.н. Д.В. Лукьяненко, Московский государственный университет им. М.В. Ломоносова, Москва, Россия;<br></br>\nк.ф.-м.н. В.С. Михайлов, Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН, Санкт-Петербург, Россия;<br></br>\nк.ф.-м.н. Н.С. Новиков, Институт математики им. С.Л. Соболева СО РАН, Новосибирск, Россия;<br></br>\nProfessor H. Ammari, ETH Zürich, Zürich, Switzerland;<br></br>\nProfessor A. Baklanov, World Meteorological Organization, Geneva, Switzerland;<br></br>\nProfessor A.L. Bougheim, Kansas State University, Kansas, USA;<br></br>\nProfessor J. Cheng, Fudan University, Shanghai, China;<br></br>\nProfessor Ya. Efendiev, Texas A&M University, College Station, USA;<br></br>\nProfessor D.N. Hao, Institute of Mathematics, Hanoi, Vietnam;<br></br>\nProfessor A. Hasanoglu, Izmit University, Izmit, Turkey;<br></br>\nProfessor T. Hohage, University of Göttingen, Göttingen, Germany;<br></br>\nProfessor M. Ikehata, Hiroshima University, Hiroshima, Japan;<br></br>\nProfessor M. Klibanov, University of North Carolina at Charlotte,Charlotte, USA;<br></br>\nProfessor D. Lesnic, University of Leeds, Leeds, UK;<br></br>\nProfessor J. Liu, Southeast University, Nanjing, China;<br></br>\nProfessor A. Louis, Saarland University, Saarbrücken, Germany;<br></br>\nProfessor R. Novikov, Centre de Mathématiques Appliquées, Ecole Polytechnique, France;<br></br>\nProfessor O. Scherzer, Johann Radon Institute for Computational and Applied Mathematics, Vienna, Austria;<br></br>\nProfessor Y. Wang, Institute of Geology and Geophysics, Beijing, China;<br></br>\nProfessor Ye Zhang, MSU-BIT University, Shenzhen, China;<br></br>\nProfessor Sh. Zhang, Tianjin University of Finance and Economics,Tianjin, China;<br></br>\nProfessor J. Zou, Chinese University of Hong Kong, Hong Kong, China.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Более подробная информация указана на <a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mcip2024/general_info\">сайте конференции</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>09.08.2024</p></div>\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer_En from '../Components/Footer_En'\nimport NaviBarv2_En from '../Components/NaviBarv2_En'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_ModernProblemsOfInverseProblems2 from \"../images/conf/conf_ModernProblemsOfInverseProblems2.png\"\n\n\nexport function ModernProblemsOfInverseProblems_En () {\n  return (\n        <>\n    <NaviBarv2_En />\n    <Container>\n    <div><img src={conf_ModernProblemsOfInverseProblems2} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>International Scientific Conference «Modern problems of inverse problems».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">From October 3 to 5, the S.L. Sobolev Institute of Mathematics SB RAS will host the International Scientific Conference «Modern problems of inverse problems» From October 3 to 5 at the S. Sobolev Institute of Mathematics SB RAS.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>The Organizing Committee:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Chairman:</b> M. Shishlenin, Doctor of Physical and Mathematical Sciences, Professor of the Russian Academy of Sciences. <br></br> <b>Deputy Chairman:</b> Doctor of Physical and Mathematical Sciences O. Krivorotko, Candidate of Physical and Mathematical Sciences N. Novikov.<br></br><b>Academic Secretary:</b> A. Glukhov.<br></br><b>The Organizing Committee:</b> N. Zyatkov, T. Zvonareva, P. Surnin, A. Neverov, A. Huber.<br></br><b>Organizing Committee's mail:</b> tcmiip@yandex.ru</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Program Committee:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Co-Chairs of the Program Committee: </b>corresponding member. S. Kabanikhin, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\n    Professor of the Russian Academy of Sciences M. Shishlenin, S. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\n    Doctor of Physical and Mathematical Sciences O. Krivorotko, International Mathematical Center, S. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.<br></br>\n<b>Academic Secretary: </b>P. Surnin, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia.<br></br>\n<b>Program Committee: </b>Academician of the Russian Academy of Sciences V. Berdyshev, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\nAcademician of the Russian Academy of Sciences M. Guzev, Institute of Applied Mathematics, FEB RAS, Vladivostok, Russia;<br></br>\nAcademician of the Russian Academy of Sciences V. Dymnikov, G.I. Marchuk Institute of Computational Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\nAcademician of the Russian Academy of Sciences Yu. Yevtushenko, FITZ \"Informatics and Management\" RAS, Moscow, Russia;<br></br>\nAcademician of the National Academy of Sciences of the Republic of Kazakhstan T. Kalmenov, Center for Physical and Mathematical Research of the Ministry of Education and Science of the Republic of Kazakhstan, Almaty, Kazakhstan;<br></br>\nAcademician N. Kolchanov, Institute of Cytology and Genetics SB RAS, Novosibirsk, Russia;<br></br>\nAcademician of the Russian Academy of Sciences N. Lukoyanov, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\nAcademician of the Russian Academy of Sciences V. Romanov, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\nAcademician of the Russian Academy of Sciences G. Savin, Lomonosov Moscow State University, Moscow, Russia;<br></br>\nAcademician of the Russian Academy of Sciences R. Sagdeev, International Tomographic Center SB RAS, Novosibirsk, Russia;<br></br>\nAcademician of the Russian Academy of Sciences V. Sadovnichy, Lomonosov Moscow State University, Moscow, Russia;<br></br>\nAcademician of the Russian Academy of Sciences E. Tyrtyshnikov, Institute of Computational Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\nAcademician of the Russian Academy of Sciences M. Fedoruk, Novosibirsk State University, Novosibirsk, Russia;<br></br>\nAcademician of the Russian Academy of Sciences B. Chetverushkin, M.V. Keldysh Institute of Applied Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\nAcademician of the Russian Academy of Sciences A. Shananin, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\nAcademician of the Russian Academy of Sciences M. Epov, A.A. Trofimuk Institute of Petroleum Geology and Geophysics SB RAS, Novosibirsk, Russia;<br></br>\ncorresponding member. RAN V. Vasin, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\ncorresponding member. RAS V. Glinskikh, A.A. Trofimuk Institute of Petroleum Geology and Geophysics SB RAS, Novosibirsk, Russia;<br></br>\ncorresponding member. S. Lebedev, Russian Federal Nuclear Center - All-Russian Scientific Research Institute of Technical Physics named after Academician E. I. Zababakhin, Snezhinsk, Russia;<br></br>\ncorresponding member. RAS G. Mikhailov, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\ncorresponding member. RAN I. Petrov, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\ncorresponding member. RAS R. Shagaliev, Russian Federal Nuclear Center - All-Russian Scientific Research Institute of Experimental Physics, Sarov, Russia;<br></br>\nProfessor M. Bektemesov, Abai Kazakh National Pedagogical University, Almaty, Kazakhstan;<br></br>\nProfessor I. Belishev, St. Petersburg Department of the Steklov Mathematical Institute of the Russian Academy of Sciences, St. Petersburg, Russia;<br></br>\nProfessor V. Vasiliev, Northeastern Federal University named after M.K. Ammosov, Yakutsk, Russia;<br></br>\nProfessor of the Russian Academy of Sciences K. Vorontsov, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\nProfessor S. Golushko, Novosibirsk State University, Novosibirsk, Russia;<br></br>\nProfessor I. Yeltsov, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\nProfessor G. Erokhin, I. Kant Baltic Federal University, Kaliningrad, Russia;<br></br>\nProfessor K. Iskakov, L.N. Gumilyov Eurasian National University, Astana, Kazakhstan;<br></br>\nProfessor M. Kokurin, Mari State University, Yoshkar-Ola, Russia;<br></br>\nProfessor I. Koptyug, International Tomography Center SB RAS, Novosibirsk, Russia;<br></br>\nProfessor G. Kuramshina, Lomonosov Moscow State University, Moscow, Russia;<br></br>\nProfessor M. Lavrentiev, Novosibirsk State University, Novosibirsk, Russia;<br></br>\nProfessor V. Maksimov, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, Yekaterinburg, Russia;<br></br>\nRAS Professor M. Marchenko, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\nProfessor of the Russian Academy of Sciences I. Oseledets, Skolkovo Institute of Science and Technology, Moscow, Russia;<br></br>\nProfessor V. Penenko, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\nProfessor V. Pikalov, S.A. Khristianovich Institute of Theoretical and Applied Mechanics SB RAS, Novosibirsk, Russia;<br></br>\nProfessor K. Sabelfeld, Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk, Russia;<br></br>\nRAS Professor D. Sidorov, L.A. Melentiev Institute of Energy Systems SB RAS,Irkutsk, Russia;<br></br>\nProfessor V. Yurko, Saratov State University, Saratov, Russia;<br></br>\nProfessor A. Yagola, Lomonosov Moscow State University, Moscow, Russia;<br></br>\nDoctor of Physical and Mathematical Sciences G. Bocharov, Institute of Computational Mathematics of the Russian Academy of Sciences, Moscow, Russia;<br></br>\nDoctor of Physical and Mathematical Sciences A. Gasnikov, Moscow Institute of Physics and Technology, Moscow, Russia;<br></br>\nDoctor of Physical and Mathematical Sciences A. Kozelkov, Russian Federal Nuclear Center - All-Russian Scientific Research Institute of Experimental Physics, Sarov, Russia;<br></br>\nCandidate of Physical and Mathematical Sciences S. Kazantsev, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\nCandidate of Physical and Mathematical Sciences D. Lukyanenko, Lomonosov Moscow State University, Moscow, Russia;<br></br>\nCandidate of Physical and Mathematical Sciences V. Mikhailov, St. Petersburg Department of the Steklov Mathematical Institute of the Russian Academy of Sciences, St. Petersburg, Russia;<br></br>\nCandidate of Physical and Mathematical Sciences N. Novikov, S.L. Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia;<br></br>\nProfessor H. Ammari, ETH Zürich, Zürich, Switzerland;<br></br>\nProfessor A. Baklanov, World Meteorological Organization, Geneva, Switzerland;<br></br>\nProfessor A.L. Bougheim, Kansas State University, Kansas, USA;<br></br>\nProfessor J. Cheng, Fudan University, Shanghai, China;<br></br>\nProfessor Ya. Efendiev, Texas A&M University, College Station, USA;<br></br>\nProfessor D.N. Hao, Institute of Mathematics, Hanoi, Vietnam;<br></br>\nProfessor A. Hasanoglu, Izmit University, Izmit, Turkey;<br></br>\nProfessor T. Hohage, University of Göttingen, Göttingen, Germany;<br></br>\nProfessor M. Ikehata, Hiroshima University, Hiroshima, Japan;<br></br>\nProfessor M. Klibanov, University of North Carolina at Charlotte,Charlotte, USA;<br></br>\nProfessor D. Lesnic, University of Leeds, Leeds, UK;<br></br>\nProfessor J. Liu, Southeast University, Nanjing, China;<br></br>\nProfessor A. Louis, Saarland University, Saarbrücken, Germany;<br></br>\nProfessor R. Novikov, Centre de Mathématiques Appliquées, Ecole Polytechnique, France;<br></br>\nProfessor O. Scherzer, Johann Radon Institute for Computational and Applied Mathematics, Vienna, Austria;<br></br>\nProfessor Y. Wang, Institute of Geology and Geophysics, Beijing, China;<br></br>\nProfessor Ye Zhang, MSU-BIT University, Shenzhen, China;<br></br>\nProfessor Sh. Zhang, Tianjin University of Finance and Economics,Tianjin, China;<br></br>\nProfessor J. Zou, Chinese University of Hong Kong, Hong Kong, China.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">More detailed information is available on the <a rel=\"noopener\" target=\"_blank\" href=\"http://conf.nsc.ru/mcip2024/general_info\">conference website</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>09.08.2024</p></div>\n    </Container>\n    <Footer_En />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_bioresources from \"../images/conf/conf_bioresources.PNG\"\n\n\nexport function Conf_bioresources () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_bioresources} align=\"left\" width={500} ></img></div>\n    <div class=\"row my-4 ps-4\"><h2>Международная научно-практическая конференция «Биоресурсы, изменение климата и сохранение биоразнообразия: междисциплинарные подходы, инновационные решения».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Международная научно-практическая конференция \"Биоресурсы, изменение климата и сохранение биоразнообразия: междисциплинарные подходы, инновационные решения\" (BIORESCON 2025) состоится в формате видеоконференции 27-28 февраля 2025 г. К участию в конференции приглашаются ученые, преподаватели, эксперты, представители некоммерческих организаций и государственных природоохранных структур. Основные задачи конференции: обмен опытом, презентация инновационных решений, выработка практических рекомендаций для устойчивого управления биоресурсами и сохранения биоразнообразия, публикация и распространение материалов конференции.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Цель конференции – развитие междисциплинарных подходов для рационального использования биоресурсов, повышения устойчивости экосистем в условиях изменения климата и сохранения биоразнообразия. Ожидаемые результаты: разработка рекомендаций по устойчивому управлению биоресурсами, улучшению природоохранной деятельности, внедрению инновационных решений в агроэкологию и биотехнологии.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Конференция охватывает следующие направления: биоресурсы, сохранение биоразнообразия, экосистемные услуги, устойчивое развитие, изменение климата, агроэкология, биотехнологии, управление отходами, циркулярная экономика.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Организация конференции возложена на Консорциум содействия развитию науки и технологий (AST Consortium) при участии уважаемых международных партнеров. Материалы конференции будут опубликованы ведущими издательствами научной литературы. Рабочие языки конференции: английский, русский.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Организационный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Анисимов Олег Александрович – </b> д.г.н., профессор, зав. отделом исследований изменений климата, Государственный гидрологический институт, г. Санкт-Петербург, Россия. <br></br> \n    <b>Замолодчиков Дмитрий Геннадьевич – </b> д.б.н., г.н.с. лаборатории структурно-функциональной организации и устойчивости лесных экосистем, Центр по проблемам экологии и продуктивности лесов РАН, г. Москва, Россия. <br></br> \n    <b>Гемеджиева Надежда Геннадьевна – </b> д.б.н., профессор, член-корреспондент РАЕ, зав. лабораторией растительных ресурсов, Институт ботаники и фитоинтродукции, г. Алматы, Казахстан. <br></br> \n    <b>Партоев Курбонали – </b> д.с.-х.н., профессор, зав. лабораторией генетики и селекции растений, Институт ботаники, физиологии и генетики растений Национальной академии наук Таджикистана, г. Душанбе, Таджикистан. <br></br> \n    <b>Яндовка Людмила Фёдоровна – </b> д.б.н., доцент, профессор кафедры ботаники и экологии, Российский государственный педагогический университет им. А.И. Герцена, г. Санкт-Петербург, Россия. <br></br> \n    <b>Колбовский Евгений Юлисович – </b> д.г.н., профессор, в.н.с. кафедры физической географии мира и геоэкологии, в.н.с. лаборатории природных ресурсов и техногенных изменений природной среды, МГУ им. М.В. Ломоносова, г. Москва, Россия. <br></br> \n    <b>Бузмаков Сергей Алексеевич – </b> д.г.н., профессор, зав. кафедрой биогеоценологии и охраны природы, Пермский государственный национальный исследовательский университет, г. Пермь, Россия. <br></br> \n    <b>Сергеева Ирина Вячеславовна – </b> д.б.н., профессор, зав. кафедрой ботаники и экологии, Саратовский государственный университет генетики, биотехнологии и инженерии имени Н.И. Вавилова, г. Саратов, Россия. <br></br> \n    <b>Еськов Иван Дмитриевич – </b> д.с.-х.н., профессор, зав. кафедрой защиты растений и плодоовощеводства, Саратовский гос. университет генетики, биотехнологии и инженерии имени Н.И. Вавилова, г. Саратов, Россия. <br></br> \n    <b>Шагидуллина Раиса Абдулловна – </b> д.х.н., профессор кафедры прикладной экологии, Казанский (Приволжский) федеральный университет, с.н.с. Института проблем экологии и недропользования АН РТ, г. Казань, Россия. <br></br> \n    <b>Ильмаст Николай Викторович – </b> д.б.н., доцент, профессор кафедры зоотехнии, рыбоводства, агрономии и землеустройства, Петрозаводский государственный университет, г. Петрозаводск, Россия. <br></br> \n    <b>Соловых Галина Николаевна – </b> д.б.н., профессор, зав. кафедрой биологии, Оренбургский государственный медицинский университет, г. Оренбург, Россия. <br></br> \n    <b>Колдаев Владимир Михайлович – </b> д.б.н., профессор, в.н.с. лаборатории лекарственных растений, Федеральный научный центр биоразнообразия наземной биоты Восточной Азии ДВО РАН, г. Владивосток, Россия. <br></br> \n    <b>Околелова Алла Ароновна – </b> д.б.н., профессор кафедры промышленной экологии и безопасности жизнедеятельности, Волгоградский государственный технический университет, г. Волгоград, Россия. <br></br> \n    <b>Лебедева Светлана Николаевна – </b> д.б.н., профессор кафедры биотехнологии, Восточно-Сибирский государственный университет технологий и управления, г. Улан-Удэ, Россия. <br></br> \n    <b>Смирнов Андрей Анатольевич – </b> д.б.н., доцент, г.н.с. отдела морских рыб Дальнего Востока департамента морских и пресноводных рыб, Всероссийский научно-исследовательский институт рыбного хозяйства и океанографии, г. Москва, Россия. <br></br> \n    <b>Бузмаков Сергей Алексеевич – </b> д.г.н., профессор, зав. кафедрой биогеоценологии и охраны природы, Пермский государственный национальный исследовательский университет, г. Пермь, Россия. <br></br> \n    <b>Сафарова Валентина Исаевна – </b> д.х.н., профессор, зав. кафедрой Экоинжиниринга, природообустройства и экологических технологий, Уфимский государственный нефтяной технический университет, г. Уфа, Россия. <br></br> \n    <b>Блинова Илона Владимировна – </b> д.б.н., руководитель группы растительных ресурсов, Полярноальпийский ботанический сад-институт им. Н.А. Аврорина КНЦ РАН, г. Апатиты, Россия. <br></br> \n    <b>Абдуллаев Абдуманон – </b> д.б.н., профессор, член-корреспондент НАНТ, зав. лабораторией биохимии, Институт ботаники, физиологии и генетики растений Национальной академии наук Таджикистана, г. Душанбе, Таджикистан. <br></br> \n    <b>Бубнов Андрей Германович – </b> д.х.н., доцент, профессор кафедры эксплуатации пожарной техники, средств связи и малой механизации (в составе УНК «Пожаротушение»), Ивановская пожарно-спасательная академия, г. Иваново, Россия. <br></br>\n    </p></div>\n\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Программный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Воропай Надежда Николаевна – </b> к.г.н., в.н.с. лаборатории климато-экологических исследований ИМКЭС СО РАН (г. Томск), лаборатории гидрологии и климатологии ИГ СО РАН (г. Иркутск), Россия. <br></br> \n    <b>Гусев Андрей Петрович – </b> к.г.-м.н., доцент, зав. кафедрой геологии и географии, Гомельский государственный университет им. Ф. Скорины, г. Гомель, Беларусь. <br></br> \n    <b>Светлана Васильевна Полоз – </b> к.в.н., доцент, в.н.с. лаборатории болезней рыб, Институт рыбного хозяйства, г. Минск, Беларусь. <br></br> \n    <b>Калинникова Татьяна Борисовна – </b> к.б.н., зав. лабораторией экспериментальной экологии, Институт проблем экологии и недропользования АН РТ, г. Казань, Россия. <br></br> \n    <b>Абанников Виктор Николаевич – </b> к.г.н., доцент, доцент кафедры метеорологии, климатологии и охраны атмосферы, Российский государственный гидрометеорологический университет, г. Санкт-Петербург, Россия. <br></br> \n    <b>Ахмед Мохамед Мостафа Сакр – </b> Ph.D., ассоц. профессор (доцент), Инженерный факультет (ирригация и гидравлика), Университет Мансура, г. Мансура, Египет. <br></br> \n    <b>Киселева Наталья Владимировна – </b> к.б.н., с.н.с., Ильменский государственный заповедник Южно-Уральского федерального научного центра минералогии и геоэкологии УрО РАН, г. Миасс, Россия. <br></br> \n    <b>Кукуричкин Глеб Михайлович – </b> к.б.н., доцент кафедры экологии и биофизики, Сургутский государственный университет, г. Сургут, Россия. <br></br> \n    <b>Ахмедова Ирина Дмитриевна – </b> к.г.н., доцент, доцент Высшей экологической школы, Югорский государственный университет, г. Ханты-Мансийск, Россия. <br></br> \n    </p></div>\n    \n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Более подробная информация указана на <a rel=\"noopener\" target=\"_blank\" href=\"https://ru.astconsortium.org/biorescon\">сайте конференции</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>05.02.2025</p></div>\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_Dynamics from \"../images/conf/conf_Dynamics.PNG\"\n\n\nexport function Conf_dynamics () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_Dynamics} align=\"left\" width={500} ></img></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row my-4 ps-4\"><h2>Научная конференция «Динамика в Сибири».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Конференция организована Институтом математики им. С.Л. Соболева РАН и Новосибирским государственным университетом.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Тематика конференции будет включать динамические системы, геометрию и смежные дисциплины.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Программа конференции будет включать 50-минутные пленарные доклады и 30-минутные секционные доклады.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Организационный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Дынников И. А. – </b> Математический институт им. В. А. Стеклова РАН, Москва. <br></br> \n    <b>Гузев М. А. – </b> Институт прикладной математики ДВО РАН, Владивосток. <br></br> \n    <b>Миронов А. Е. – </b> Математический институт им. С. Л. Соболева РАН, Новосибирск. <br></br> \n    <b>Тайманов И. А. – </b> Институт математики им. С. Л. Соболева РАН, Новосибирск <br></br> \n    <b>Трахинин Ю. Л. – </b> Математический институт им. С. Л. Соболева, Новосибирск <br></br> \n    <b>Маулешова Г. С. – </b> Математический институт им. С. Л. Соболева, Новосибирск <br></br> \n    <b>Ерментай М. С. – </b> Новосибирский государственный университет, Новосибирск <br></br> \n    </p></div>\n    \n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Более подробная информация указана на <a rel=\"noopener\" target=\"_blank\" href=\"http://old.math.nsc.ru/conference/ds/2025/\">сайте конференции</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>05.02.2025</p></div>\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport Sirius_conference from \"../images/conf/Sirius_conference.png\"\n\n\nexport function Conf_mathematicsAI () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={Sirius_conference} align=\"left\" width={500} ></img></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row my-4 ps-4\"><h2>Научная конференция «Математика искусственного интеллекта».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Задача конференции — создание уникальной платформы для обмена мнениями и идеями между ведущими специалистами в области математики и теоретического программирования с целью\n    сформировать формальный базис таких ключевых трендов в разработке интеллектуальных программных систем, как <br></br>\n    - доверенный искусственный интеллект;\n    - объяснимый искусственный интеллект;\n    - гибридный искусственный интеллект;\n    - большие языковые модели.\n    </p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Конференция посвящена новым математическим методам и подходам для систем искусственного интеллекта. Построение сильного искусственного интеллекта требует новых прорывных математических решений, особенно это касается обучения интеллектуальных систем.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Организационный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Иван Оселедец – </b> Сколтех<br></br> \n    <b>Денис Турдаков – </b> ИСП РАН <br></br> \n    <b>Андрей Нечесов – </b> НГУ & ИМ СО РАН <br></br> \n    <b>Сергей Стрижак – </b> ИСП РАН <br></br> \n    <b>Игорь Ануреев  – </b> ИСИ СО РАН & НГУ <br></br> \n    <b>Дмитрий Кондратьев – </b> ИСИ СО РАН & НГУ <br></br> \n    <b>Виталий Казаков – </b> НГУ <br></br> \n    <b>Иван Бондаренко – </b> НГУ <br></br> \n    <b>Сергей Новиков – </b> НГУ <br></br> \n    </p></div>\n\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><h3>Программный комитет:</h3></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Иван Оселедец – </b> Сколтех<br></br> \n    <b>Денис Турдаков – </b> ИСП РАН <br></br> \n    <b>Андрей Нечесов – </b> НГУ & ИМ СО РАН <br></br> \n    <b>Сергей Стрижак – </b> ИСП РАН <br></br> \n    <b>Игорь Ануреев  – </b> ИСИ СО РАН & НГУ <br></br> \n    <b>Дмитрий Кондратьев – </b> ИСИ СО РАН & НГУ <br></br> \n    <b>Сергей Гончаров – </b> ИМ СО РАН & НГУ <br></br> \n    <b>Иван Бондаренко – </b> НГУ <br></br> \n    <b>Евгений Витяев – </b> ИМ СО РАН & НГУ <br></br> \n    <b>Андрей Манцивода – </b> ИГУ <br></br> \n    <b>Денис Пономарев – </b> ИСИ СО РАН <br></br> \n    <b>Дмитрий Свириденко – </b> НГУ <br></br> \n    <b>Дмитрий Свириденко – </b> НГУ <br></br> \n    <b>Дмитрий Свириденко – </b> НГУ <br></br> \n    </p></div>\n    \n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Более подробная информация указана на <a rel=\"noopener\" target=\"_blank\" href=\"https://siriusmathcenter.ru/055w\">сайте конференции</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>13.02.2025</p></div>\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React from \"react\";\nimport Footer from '../Components/Footer'\nimport NaviBarv2 from '../Components/NaviBarv2'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport \"../styles.css\";\nimport {Container, Row, Col, Card, ListGroup, ListGroupItem, Button, Tab, Nav,\nOverlayTrigger, Popover, Placeholder} from 'react-bootstrap';\nimport conf_ModernProblemsOfInverseProblems from \"../images/conf/conf_ModernProblemsOfInverseProblems.png\"\n\n\nexport function Conf_innovativeMethods () {\n  return (\n        <>\n    <NaviBarv2 />\n    <Container>\n    <div><img src={conf_ModernProblemsOfInverseProblems} align=\"left\" width={500} ></img></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row my-4 ps-4\"><h2>IV Международная научно-практическая конференция «Инновационные методы математики и физики в экологических и гидрометеорологических исследованиях».</h2></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"></p></div>\n    <hr></hr>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Конференция призвана поддерживать высокий уровень научной дискуссии о современных видах энергии и тенденциях в информатике, методах их изучения и развития с привлечением к этому процессу квалифицированных экспертов – представителей науки, бизнеса и власти.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Обсуждение и обмен результатами и перспективами использования инновационных методов, достижений, тенденций математики и физики в гидрометеорологических и экологических исследованиях.</p></div>\n    <div class=\"row ps-4 my-4\"><p class=\"lead\"><b>Секции конференции</b><br></br> Секция 1. Фундаментальные и прикладные аспекты высшей математики в современных исследованиях.<br></br>\nСекция 2. Физические исследования природных процессов.<br></br>\nСекция 3. Современные прикладные информационные системы и геоинформационные технологии.<br></br>\nСекция 4. Развитие исследований в гидрометеорологии и экологии.<br></br>\nСекция 5. (для школьников). Конкурс научно-исследовательских работ «МИФы в Природе (математика, информатика, физика в природе)». <br></br></p></div>\n    \n    <div class=\"row ps-4 my-4\"><p class=\"lead\">Более подробная информация указана на <a rel=\"noopener\" target=\"_blank\" href=\"https://immfegi.rshu.ru/home\">сайте конференции</a>.</p></div>\n    <div class=\"row ps-4 my-4\"><p>13.02.2025</p></div>\n    </Container>\n    <Footer />\n    </>\n    \n    )}","import React, {useEffect, useContext} from \"react\"\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport {Button} from 'react-bootstrap';\nimport Footer from './Components/Footer'\nimport Footer_En from './Components/Footer_En'\nimport './App.css';\nimport {MainTeam} from './MainTeam'\nimport {Main_publications_more_detailed} from './Components/Main_publications_more_detailed'\nimport {Krivorotko_info} from './Components/Krivorotko_info'\nimport {Krivorotko_info_En} from './Components/Krivorotko_info_En'\nimport {Kabanikhin_info} from './Components/Kabanikhin_info'\nimport {Kabanikhin_info_En} from './Components/Kabanikhin_info_En'\nimport {Mikhailapov_info} from './Components/Mikhailapov_info'\nimport {Mikhailapov_info_En} from './Components/Mikhailapov_info_En'\nimport {Petrakova_info} from './Components/Petrakova_info'\nimport {Petrakova_info_En} from './Components/Petrakova_info_En'\nimport {Semenova_info} from './Components/Semenova_info'\nimport {Semenova_info_En} from './Components/Semenova_info_En'\nimport {Nesterova_info} from './Components/Nesterova_info'\nimport {Nesterova_info_En} from './Components/Nesterova_info_En'\nimport {Zyatkov_info} from './Components/Zyatkov_info'\nimport {Zyatkov_info_En} from './Components/Zyatkov_info_En'\nimport {Zvonareva_info} from './Components/Zvonareva_info'\nimport {Zvonareva_info_En} from './Components/Zvonareva_info_En'\nimport {Neverov_info} from './Components/Neverov_info'\nimport {Neverov_info_En} from './Components/Neverov_info_En'\nimport {Krivorotko_Zvonareva_teaching} from './Components/Krivorotko_Zvonareva_teaching';\nimport {Krivorotko_teaching} from './Components/Krivorotko_teaching';\nimport {Krivorotko_Zvonareva_teaching_En} from './Components/Krivorotko_Zvonareva_teaching_En';\nimport {Krivorotko_teaching_En} from './Components/Krivorotko_teaching_En';\nimport {Krivorotko_teaching_methods} from './Components/Krivorotko_teaching_methods';\nimport {Krivorotko_teaching_methods_En} from './Components/Krivorotko_teaching_methods_En';\n\nimport {\n  BrowserRouter as Router,\n  Routes,\n  Route,\n  Link,\n} from 'react-router-dom';\n\nimport {Covid} from './Covid';\nimport {Tub} from './Tub';\nimport {Main} from './Main';\nimport {Modeling} from './Modeling';\nimport {Data} from './Data';\nimport axios from \"axios\"\nimport {News} from './News';\nimport {News_En} from './News_En';\nimport {Conferences} from './Conferences';\nimport {Sem_Compl} from './Sem_Compl';\nimport {Links} from './Links';\nimport {Data_processing_and_analysis} from './Data_processing_and_analysis';\nimport {The_spread_of_epidemics} from './The_spread_of_epidemics';\nimport {Medicine} from './Medicine';\nimport {Pollution_modeling} from './Pollution_modeling';\nimport {Social_processes} from './Social_processes';\n\n\n\n\nimport {Helmet} from \"react-helmet\";\n\nimport \"./styles.css\";\nimport { Covid_En } from \"./Covid_En\";\nimport {Tub_En} from './Tub_En';\nimport { Main_En } from \"./Main_En\";\nimport { Modeling_En } from \"./Modeling_En\";\nimport { Data_En } from \"./Data_En\";\nimport { MainTeam_En } from \"./MainTeam_En\";\nimport {Main_publications_more_detailed_En} from './Components/Main_publications_more_detailed_En';\nimport {Conferences_En} from './Conferences_En';\nimport {Sem_Compl_En} from './Sem_Compl_En';\nimport {Links_En} from './Links_En';\nimport {Data_processing_and_analysis_En} from './Data_processing_and_analysis_En';\nimport {The_spread_of_epidemics_En} from './The_spread_of_epidemics_En';\nimport {Medicine_En} from './Medicine_En';\nimport {Pollution_modeling_En} from './Pollution_modeling_En';\nimport {Social_processes_En} from './Social_processes_En';\n\n\nimport {Sem_a} from './news/Sem_a';\nimport {Conf_a} from './news/Conf_a';\nimport {Conf_b} from './news/Conf_b'\nimport {Conf_c} from './news/Conf_c';\nimport {Conf_d} from './news/Conf_d';\nimport {Conf_e} from './news/Conf_e';\nimport {Conf_f} from './news/Conf_f';\nimport {Conf_g} from './news/Conf_g';\nimport {Conf_h} from './news/Conf_h';\nimport {Sem_a_En} from './news/Sem_a_En';\nimport {Conf_a_En} from './news/Conf_a_En';\nimport {Conf_b_En} from './news/Conf_b_En';\nimport {Conf_c_En} from './news/Conf_c_En';\nimport {Conf_d_En} from './news/Conf_d_En';\nimport {Conf_e_En} from './news/Conf_e_En';\nimport {Conf_f_En} from './news/Conf_f_En';\nimport {Conf_g_En} from './news/Conf_g_En';\nimport {Conf_h_En} from './news/Conf_h_En';\nimport {Sem_b} from './news/Sem_b';\nimport {Sem_b_En} from './news/Sem_b_En'\nimport {Sem_c} from './news/Sem_c';\nimport {Sem_c_En} from './news/Sem_c_En'\nimport {Sem_d} from './news/Sem_d';\nimport {Sem_d_En} from './news/Sem_d_En'\nimport {Sem_e} from './news/Sem_e';\nimport {Sem_e_En} from './news/Sem_e_En'\nimport {Sem_f} from './news/Sem_f';\nimport {Sem_f_En} from './news/Sem_f_En'\nimport {Sem_g} from './news/Sem_g';\nimport {Sem_g_En} from './news/Sem_g_En'\nimport {Sem_h} from './news/Sem_h';\nimport {Sem_h_En} from './news/Sem_h_En'\nimport {Sem_i} from './news/Sem_i';\nimport {Sem_i_En} from './news/Sem_i_En'\nimport {Sem_j} from './news/Sem_j';\nimport {Sem_j_En} from './news/Sem_j_En'\nimport {Sem_k} from './news/Sem_k';\nimport {Sem_k_En} from './news/Sem_k_En'\nimport {Sem_l} from './news/Sem_l';\nimport {Sem_l_En} from './news/Sem_l_En'\nimport {Sem_m} from './news/Sem_m';\nimport {Sem_m_En} from './news/Sem_m_En'\nimport {Sem_n} from './news/Sem_n';\nimport {Sem_n_En} from './news/Sem_n_En'\nimport {Sem_o} from './news/Sem_o';\nimport {Sem_o_En} from './news/Sem_o_En'\nimport {Life_a} from './news/Life_a';\nimport {Life_a_En} from './news/Life_a_En'\nimport {Life_b} from './news/Life_b';\nimport {Life_b_En} from './news/Life_b_En'\nimport {Life_c} from './news/Life_c';\nimport {Life_c_En} from './news/Life_c_En'\nimport {Life_d} from './news/Life_d';\nimport {Life_d_En} from './news/Life_d_En'\nimport {TheoryAndNumericalMethods} from './conference/TheoryAndNumericalMethods';\nimport {TheoryAndNumericalMethods_En} from './conference/TheoryAndNumericalMethods_En';\nimport {ModernProblemsOfInverseProblems} from './conference/ModernProblemsOfInverseProblems';\nimport {ModernProblemsOfInverseProblems_En} from './conference/ModernProblemsOfInverseProblems_En';\nimport {Conf_bioresources} from './conference/Conf_bioresources';\nimport {Conf_dynamics} from './conference/Conf_dynamics';\nimport {Conf_mathematicsAI} from './conference/Conf_mathematicsAI';\nimport {Conf_innovativeMethods} from './conference/Conf_innovativeMethods';\n\n\nfunction App() {\n\nreturn (<>\n    <>\n    <div className=\"bg-light\" >\n\n      <Helmet>\n         <meta charSet=\"utf-8\" />\n         <title></title>\n         <link rel=\"canonical\" href=\"http://ai-biolab.ru\" />\n       </Helmet>\n          <Routes>\n            <Route exact path=\"/statistics\" element={<Covid />} />\n            <Route exact path=\"/tub\" element={<Tub />} />\n            <Route exact path=\"/\" element={<Main />} />\n            <Route exact path=\"/modeling\" element={<Modeling />} />\n            <Route exact path=\"/data_processing_and_analysis\" element={<Data_processing_and_analysis />} />\n            <Route exact path=\"/the_spread_of_epidemics\" element={<The_spread_of_epidemics />} />\n            <Route exact path=\"/medicine\" element={<Medicine />} />\n            <Route exact path=\"/pollution_modeling\" element={<Pollution_modeling />} />\n            <Route exact path=\"/social_processes\" element={<Social_processes />} />\n            <Route exact path=\"/data_processing_and_analysis/En\" element={<Data_processing_and_analysis_En />} />\n            <Route exact path=\"/the_spread_of_epidemics/En\" element={<The_spread_of_epidemics_En />} />\n            <Route exact path=\"/medicine/En\" element={<Medicine_En />} />\n            <Route exact path=\"/pollution_modeling/En\" element={<Pollution_modeling_En />} />\n            <Route exact path=\"/social_processes/En\" element={<Social_processes_En />} />\n            <Route exact path=\"/data\" element={<Data />} />\n            <Route exact path=\"/links\" element={<Links />} />\n            <Route exact path=\"/mainTeam\" element={<MainTeam />} />\n            <Route exact path=\"/main_publications_more_detailed\" element={<Main_publications_more_detailed />} />\n            <Route exact path=\"/statistics/En\" element={<Covid_En />} />\n            <Route exact path=\"/tub/En\" element={<Tub_En />} />\n            <Route exact path=\"/En\" element={<Main_En />} />\n            <Route exact path=\"/modeling/En\" element={<Modeling_En />} />\n            <Route exact path=\"/data/En\" element={<Data_En />} />\n            <Route exact path=\"/links/En\" element={<Links_En />} />\n            <Route exact path=\"/mainTeam/En\" element={<MainTeam_En />} />\n            <Route exact path=\"/main_publications_more_detailed/En\" element={<Main_publications_more_detailed_En />} />\n            <Route exact path=\"/krivorotko_info\" element={<Krivorotko_info />} />\n            <Route exact path=\"/krivorotko_info/En\" element={<Krivorotko_info_En />} />\n            <Route exact path=\"/kabanikhin_info\" element={<Kabanikhin_info />} />\n            <Route exact path=\"/kabanikhin_info/En\" element={<Kabanikhin_info_En />} />\n            <Route exact path=\"/mikhailapov_info\" element={<Mikhailapov_info />} />\n            <Route exact path=\"/mikhailapov_info/En\" element={<Mikhailapov_info_En />} />\n            <Route exact path=\"/petrakova_info\" element={<Petrakova_info />} />\n            <Route exact path=\"/petrakova_info/En\" element={<Petrakova_info_En />} />\n            <Route exact path=\"/semenova_info\" element={<Semenova_info />} />\n            <Route exact path=\"/semenova_info/En\" element={<Semenova_info_En />} />\n            <Route exact path=\"/nesterova_info\" element={<Nesterova_info />} />\n            <Route exact path=\"/nesterova_info/En\" element={<Nesterova_info_En />} />\n            <Route exact path=\"/zyatkov_info\" element={<Zyatkov_info />} />\n            <Route exact path=\"/zyatkov_info/En\" element={<Zyatkov_info_En />} />\n            <Route exact path=\"/zvonareva_info\" element={<Zvonareva_info />} />\n            <Route exact path=\"/zvonareva_info/En\" element={<Zvonareva_info_En />} />\n            <Route exact path=\"/neverov_info\" element={<Neverov_info />} />\n            <Route exact path=\"/neverov_info/En\" element={<Neverov_info_En />} />\n            <Route exact path=\"/news\" element={<News />} />\n            <Route exact path=\"/news/En\" element={<News_En />} />\n            <Route exact path=\"/conferences\" element={<Conferences />} />\n            <Route exact path=\"/conferences/En\" element={<Conferences_En />} />\n            <Route exact path=\"/sem_compl\" element={<Sem_Compl />} />\n            <Route exact path=\"/sem_compl/EN\" element={<Sem_Compl_En />} />\n            <Route exact path=\"/sem_a\" element={<Sem_a />} />\n            <Route exact path=\"/sem_a/En\" element={<Sem_a_En />} />\n            <Route exact path=\"/conf_a\" element={<Conf_a />} />\n            <Route exact path=\"/conf_b\" element={<Conf_b />} />\n            <Route exact path=\"/conf_a/En\" element={<Conf_a_En />} />\n            <Route exact path=\"/conf_b/En\" element={<Conf_b_En />} />\n            <Route exact path=\"/conf_c\" element={<Conf_c />} />\n            <Route exact path=\"/conf_c/En\" element={<Conf_c_En />} />\n            <Route exact path=\"/conf_d\" element={<Conf_d />} />\n            <Route exact path=\"/conf_d/En\" element={<Conf_d_En />} />\n            <Route exact path=\"/conf_e\" element={<Conf_e />} />\n            <Route exact path=\"/conf_e/En\" element={<Conf_e_En />} />\n            <Route exact path=\"/conf_f\" element={<Conf_f />} />\n            <Route exact path=\"/conf_f/En\" element={<Conf_f_En />} />\n            <Route exact path=\"/conf_g\" element={<Conf_g />} />\n            <Route exact path=\"/conf_g/En\" element={<Conf_g_En />} />\n            <Route exact path=\"/conf_h\" element={<Conf_h />} />\n            <Route exact path=\"/conf_h/En\" element={<Conf_h_En />} />\n            <Route exact path=\"/sem_b\" element={<Sem_b />} />\n            <Route exact path=\"/sem_b/En\" element={<Sem_b_En />} />\n            <Route exact path=\"/sem_c\" element={<Sem_c />} />\n            <Route exact path=\"/sem_c/En\" element={<Sem_c_En />} />\n            <Route exact path=\"/sem_d\" element={<Sem_d />} />\n            <Route exact path=\"/sem_d/En\" element={<Sem_d_En />} />\n            <Route exact path=\"/sem_e\" element={<Sem_e />} />\n            <Route exact path=\"/sem_e/En\" element={<Sem_e_En />} />\n            <Route exact path=\"/sem_f\" element={<Sem_f />} />\n            <Route exact path=\"/sem_f/En\" element={<Sem_f_En />} />\n            <Route exact path=\"/sem_g\" element={<Sem_g />} />\n            <Route exact path=\"/sem_g/En\" element={<Sem_g_En />} />\n            <Route exact path=\"/sem_h\" element={<Sem_h />} />\n            <Route exact path=\"/sem_h/En\" element={<Sem_h_En />} />\n            <Route exact path=\"/sem_i\" element={<Sem_i />} />\n            <Route exact path=\"/sem_i/En\" element={<Sem_i_En />} />\n            <Route exact path=\"/sem_j\" element={<Sem_j />} />\n            <Route exact path=\"/sem_j/En\" element={<Sem_j_En />} />\n            <Route exact path=\"/sem_k\" element={<Sem_k />} />\n            <Route exact path=\"/sem_k/En\" element={<Sem_k_En />} />\n            <Route exact path=\"/sem_l\" element={<Sem_l />} />\n            <Route exact path=\"/sem_l/En\" element={<Sem_l_En />} />\n            <Route exact path=\"/sem_m\" element={<Sem_m />} />\n            <Route exact path=\"/sem_m/En\" element={<Sem_m_En />} />\n            <Route exact path=\"/sem_n\" element={<Sem_n />} />\n            <Route exact path=\"/sem_n/En\" element={<Sem_n_En />} />\n            <Route exact path=\"/sem_o\" element={<Sem_o />} />\n            <Route exact path=\"/sem_o/En\" element={<Sem_o_En />} />\n            <Route exact path=\"/life_a\" element={<Life_a />} />\n            <Route exact path=\"/life_a/En\" element={<Life_a_En />} />\n            <Route exact path=\"/life_b\" element={<Life_b />} />\n            <Route exact path=\"/life_b/En\" element={<Life_b_En />} />\n            <Route exact path=\"/life_c\" element={<Life_c />} />\n            <Route exact path=\"/life_c/En\" element={<Life_c_En />} />\n            <Route exact path=\"/life_d\" element={<Life_d />} />\n            <Route exact path=\"/life_d/En\" element={<Life_d_En />} />\n            <Route exact path=\"/theoryAndNumericalMethods\" element={<TheoryAndNumericalMethods />} />\n            <Route exact path=\"/theoryAndNumericalMethods/En\" element={<TheoryAndNumericalMethods_En />} />\n            <Route exact path=\"/modernProblemsOfInverseProblems\" element={<ModernProblemsOfInverseProblems />} />\n            <Route exact path=\"/modernProblemsOfInverseProblems/En\" element={<ModernProblemsOfInverseProblems_En />} />\n            <Route exact path=\"/conf_bioresources\" element={<Conf_bioresources />} />\n            <Route exact path=\"/conf_dynamics\" element={<Conf_dynamics />} />\n            <Route exact path=\"/conf_mathematicsAI\" element={<Conf_mathematicsAI />} />\n            <Route exact path=\"/conf_innovativeMethods\" element={<Conf_innovativeMethods />} />\n            <Route exact path=\"/krivorotko_zvonareva_teaching\" element={<Krivorotko_Zvonareva_teaching />} />\n            <Route exact path=\"/krivorotko_teaching\" element={<Krivorotko_teaching />} />\n            <Route exact path=\"/krivorotko_zvonareva_teaching/En\" element={<Krivorotko_Zvonareva_teaching_En />} />\n            <Route exact path=\"/krivorotko_teaching/En\" element={<Krivorotko_teaching_En />} />\n            <Route exact path=\"/krivorotko_teaching_methods\" element={<Krivorotko_teaching_methods />} />\n            <Route exact path=\"/krivorotko_teaching_methods/En\" element={<Krivorotko_teaching_methods_En />} />\n          </Routes>\n          </div>\n    </>\n  </>)\n}\n\nexport default App;\n//<Footer />\n//<Route exact path=\"/statistics/En\" element={<Covid_En />} />\n//<Route exact path=\"/En\" element={<Main_En />} />\n//<Route exact path=\"/modeling/En\" element={<Modeling_En />} />\n//<Route exact path=\"/data/En\" element={<Data_En />} />\n//<Route exact path=\"/mainTeam/En\" element={<MainTeam_En />} />\n//<Route exact path=\"/main_publications_more_detailed/En\" element={<Main_publications_more_detailed_En />} />","const reportWebVitals = onPerfEntry => {\n  if (onPerfEntry && onPerfEntry instanceof Function) {\n    import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n      getCLS(onPerfEntry);\n      getFID(onPerfEntry);\n      getFCP(onPerfEntry);\n      getLCP(onPerfEntry);\n      getTTFB(onPerfEntry);\n    });\n  }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {BrowserRouter} from 'react-router-dom'\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport 'bootstrap/dist/css/bootstrap.min.css'\n\n\nReactDOM.render(\n  <React.StrictMode>\n    <BrowserRouter>\n      <App />\n    </BrowserRouter>\n  </React.StrictMode>,\n  document.getElementById('root')\n);\n\nreportWebVitals();\n"],"names":["factory","__WEBPACK_EXTERNAL_MODULE_4__","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","loadProgressBar","config","instance","arguments","length","undefined","_axios2","default","requestsCounter","_nprogress2","configure","interceptors","request","use","start","update","e","inc","calculatePercentage","loaded","total","defaults","onDownloadProgress","onUploadProgress","setupUpdateProgress","response","done","error","Promise","reject","_interopRequireDefault","obj","Math","floor","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","NProgress","Settings","settings","minimum","easing","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","parent","template","clamp","min","max","toBarPerc","barPositionCSS","ease","barCSS","transform","transition","options","key","this","status","set","started","isStarted","progress","render","bar","querySelector","offsetWidth","queue","next","getPositioningCSS","css","opacity","setTimeout","remove","work","force","random","amount","initial","current","promise","$promise","state","always","fromStart","isRendered","document","getElementById","addClass","documentElement","createElement","id","innerHTML","spinner","perc","removeElement","body","appendChild","removeClass","bodyStyle","style","vendorPrefix","pending","fn","shift","push","cssPrefixes","cssProps","camelCase","string","replace","match","letter","toUpperCase","getVendorProp","vendorName","capName","charAt","slice","getStyleProp","applyCss","element","prop","properties","args","hasClass","classList","indexOf","oldList","newList","className","substring","parentNode","removeChild","require","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","transitionalDefaults","Cancel","resolve","onCanceled","requestData","data","requestHeaders","headers","responseType","cancelToken","unsubscribe","signal","removeEventListener","isFormData","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","err","open","method","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","forEach","val","toLowerCase","setRequestHeader","isUndefined","addEventListener","upload","cancel","type","abort","subscribe","aborted","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","extend","create","instanceConfig","CancelToken","isCancel","VERSION","all","promises","spread","isAxiosError","message","toString","__CANCEL__","executor","TypeError","resolvePromise","token","then","_listeners","onfulfilled","_resolve","reason","throwIfRequested","listener","index","splice","source","InterceptorManager","dispatchRequest","validator","validators","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","newConfig","onFulfilled","onRejected","getUri","handlers","eject","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","target","isPlainObject","isArray","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","JSON","parse","trim","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","RegExp","decodeURIComponent","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","arr","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","isFunction","constructor","ArrayBuffer","isView","pipe","product","assignValue","a","b","str","stripBOM","content","charCodeAt","exportName","assign","VENDOR_PREFIXES","TEST_ELEMENT","TYPE_FUNCTION","round","abs","setTimeoutContext","bindFn","invokeArrayArg","arg","each","iterator","deprecate","deprecationMessage","log","output","nextKey","dest","src","inherit","child","base","childP","baseP","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","handler","splitStr","removeEventListeners","hasParent","node","inStr","find","inArray","findByKey","toArray","uniqueArray","sort","results","values","prefixed","prefix","camelProp","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","INPUT_TYPE_TOUCH","INPUT_TYPE_MOUSE","COMPUTE_INTERVAL","INPUT_START","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","PROPS_XY","PROPS_CLIENT_XY","Input","manager","self","inputTarget","domHandler","ev","enable","init","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","offset","offsetDelta","prevDelta","prevInput","x","deltaX","y","deltaY","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","end","rotation","getRotation","maxPointers","velocity","velocityX","velocityY","direction","last","lastInterval","computeIntervalInputData","srcEvent","computeInputData","emit","recognize","clientX","clientY","p1","p2","props","sqrt","atan2","PI","evEl","evTarget","evWin","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","MouseInput","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","store","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SingleTouchInput","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","TouchInput","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","filter","touch","DEDUP_TIMEOUT","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","isSyntheticEvent","t","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","getTouchActionProps","TouchAction","compute","actions","touchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","preventDefault","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_POSSIBLE","STATE_FAILED","Recognizer","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","Hammer","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","event","additionalEvent","tryEmit","canEmit","inputDataClone","reset","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","domEvents","inputClass","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","oldCssProps","toggleCssProps","item","add","stop","stopped","curRecognizer","existing","on","events","off","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","triggerDomEvent","INPUT_MOVE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","Tap","Pan","Swipe","Pinch","Rotate","Press","define","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","condition","format","f","argIndex","framesToPop","filename","mime","bom","blob","Blob","msSaveBlob","blobURL","URL","createObjectURL","webkitURL","tempLink","display","download","click","revokeObjectURL","DataView","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","clear","entry","has","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","Map","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","Set","setCacheAdd","setCacheHas","SetCache","__data__","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","size","Symbol","Uint8Array","WeakMap","array","predicate","resIndex","baseTimes","isArguments","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","String","iteratee","accumulator","initAccum","reAsciiWord","eq","baseFor","createBaseFor","castPath","toKey","arrayPush","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","toStringTag","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","other","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","objValue","srcValue","COMPARE_PARTIAL_FLAG","isMasked","toSource","reIsHostCtor","funcProto","Function","objectProto","funcToString","reIsNative","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","isPrototype","nativeKeys","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","baseGet","arrayMap","isSymbol","symbolProto","symbolToString","baseToString","func","cache","stringToPath","baseSlice","coreJsData","fromRight","iterable","castSlice","hasUnicode","stringToArray","methodName","strSymbols","chr","trailing","arrayReduce","deburr","words","reApos","deburrLetter","basePropertyOf","arraySome","cacheHas","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","symbolValueOf","valueOf","tag","byteLength","byteOffset","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","freeGlobal","global","baseGetAllKeys","getSymbols","isKeyable","map","baseIsNative","getValue","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","propertyIsEnumerable","nativeGetSymbols","symbol","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","hasFunc","reHasUnicode","reHasUnicodeWord","nativeCreate","reIsUint","reIsDeepProp","reIsPlainProp","maskSrcKey","uid","exec","IE_PROTO","assocIndexOf","pop","getMapData","memoize","overArg","freeExports","nodeType","freeModule","freeProcess","nodeUtil","binding","freeSelf","root","pairs","LARGE_ARRAY_SIZE","asciiToArray","unicodeToArray","memoizeCapped","rePropName","reEscapeChar","quote","subString","rsAstralRange","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsModifier","rsEmoji","reUnicodeWord","capitalize","createCompounder","word","upperFirst","reLatin","reComboMark","defaultValue","baseHas","hasPath","baseHasIn","baseIsArguments","stubFalse","Buffer","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeys","isArrayLike","baseAssignValue","baseForOwn","baseIteratee","resolver","memoized","Cache","baseProperty","basePropertyDeep","snakeCase","createCaseFirst","asciiWords","hasUnicodeWord","unicodeWords","pattern","guard","propIsEnumerable","test1","test2","fromCharCode","test3","shouldUseNative","from","symbols","to","toObject","_len","_key","_createChainableTypeChecker2","_len2","_key2","_createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","propFullName","componentNameSafe","propFullNameSafe","chainedCheckType","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","secret","getShim","ReactPropTypes","bigint","bool","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","maxSize","_maxSize","_size","_values","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","part","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","setter","len","safe","segments","reduce","cb","iter","idx","isBracket","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","A","Ma","Na","Oa","prepareStackTrace","Reflect","construct","k","includes","Pa","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","firstChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","locale","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","range","tel","text","week","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","D","of","pf","qf","rf","sf","capture","passive","J","u","w","F","tf","uf","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","bh","ch","eventTime","lane","dh","K","eh","fh","gh","q","r","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","keyList","hasProp","hasElementType","Element","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","hasMap","hasSet","hasArrayBuffer","it","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","ex","React","React__default","_defineProperty","writable","canUseDOM","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","subClass","superClass","__proto__","peek","rewind","recordedState","_proto","PureComponent","getDisplayName","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","Children","only","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","toposort","nodes","edges","cursor","sorted","visited","outgoingEdges","edge","makeOutgoingEdges","nodesHash","res","makeNodesHash","visit","predecessors","nodeRep","outgoing","uniqueNodes","warning","hasOwn","classNames","classes","appendClass","parseValue","newClass","__webpack_module_cache__","cachedModule","__webpack_modules__","leafPrototypes","getProto","ns","def","definition","chunkId","miniCssF","globalThis","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","onScriptComplete","prev","onload","doneFns","head","nmd","paths","installedChunks","j","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","Action","PopStateEventType","invariant","cond","getHistoryState","usr","createLocation","_extends","parsePath","createPath","_ref","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","getLocation","createHref","validateLocation","v5Compat","globalHistory","history","Pop","getIndex","handlePop","nextIndex","delta","createURL","origin","replaceState","listen","encodeLocation","Push","historyState","pushState","DOMException","Replace","go","ResultType","matchRoutes","routes","locationArg","basename","stripBasename","branches","flattenRoutes","score","siblings","every","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matches","matchRouteBranch","safelyDecodeURI","parentsMeta","parentPath","flattenRoute","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","_route$path","exploded","explodeOptionalSegments","first","rest","isOptional","endsWith","required","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","matcher","compiledParams","regexpSource","_","paramName","compilePath","captureGroups","splatValue","safelyDecodeURIComponent","decodeURI","startIndex","nextChar","getInvalidPathError","field","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","isRouteErrorResponse","internal","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","DataRouterStateContext","NavigationContext","LocationContext","RouteContext","outlet","isDataRoute","RouteErrorContext","useInRouterContext","useLocation","UNSAFE_invariant","useIsomorphicLayoutEffect","static","useNavigate","router","useDataRouterContext","DataRouterHook","UseNavigateStable","useCurrentRouteId","DataRouterStateHook","activeRef","navigate","fromRouteId","useNavigateStable","dataRouterContext","future","routePathnamesJson","UNSAFE_getResolveToMatches","relative","useNavigateUnstable","useResolvedPath","_temp2","useRoutesImpl","dataRouterState","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","renderedMatches","_renderMatches","navigationType","DefaultErrorComponent","_state$errors","useDataRouterState","UseRouteError","routeId","errors","useRouteError","lightgrey","preStyles","padding","backgroundColor","fontStyle","defaultErrorElement","RenderErrorBoundary","super","revalidation","errorInfo","routeContext","RenderedRoute","staticContext","errorElement","ErrorBoundary","_deepestRenderedBoundaryId","_dataRouterState2","_dataRouterState","errorIndex","findIndex","renderFallback","fallbackIndex","v7_partialHydration","HydrateFallback","hydrateFallbackElement","loaderData","needsToRunLoader","loader","reduceRight","shouldRenderHydrateFallback","alreadyWarned","getChildren","hookName","ctx","useRouteContext","thisRoute","Route","_props","Router","_ref5","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","treePath","hasErrorBoundary","shouldRevalidate","handle","createSearchParams","URLSearchParams","__reactRouterVersion","ViewTransitionContext","isTransitioning","startTransitionImpl","ReactDOM","BrowserRouter","_ref4","historyRef","createBrowserHistory","setStateImpl","v7_startTransition","newState","isBrowser","ABSOLUTE_URL_REGEX","Link","_ref7","absoluteHref","reloadDocument","preventScrollReset","unstable_viewTransition","_objectWithoutPropertiesLoose","_excluded","UNSAFE_NavigationContext","isExternal","currentUrl","targetUrl","_temp","joinedPathname","useHref","internalOnClick","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","NavLink","_ref8","ariaCurrentProp","classNameProp","styleProp","_excluded2","routerState","UNSAFE_DataRouterStateContext","vtContext","useViewTransitionState","currentPath","currentLocation","nextPath","nextLocation","nextLocationPathname","navigation","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","Boolean","UNSAFE_DataRouterContext","useSearchParams","defaultInit","defaultSearchParamsRef","hasSetSearchParamsRef","searchParams","locationSearch","defaultSearchParams","getAll","append","getSearchParamsForLocation","setSearchParams","nextInit","navigateOptions","newSearchParams","DEFAULT_BREAKPOINTS","DEFAULT_MIN_BREAKPOINT","ThemeContext","prefixes","breakpoints","minBreakpoint","useBootstrapPrefix","defaultPrefix","useBootstrapBreakpoints","useBootstrapMinBreakpoint","useIsRTL","dir","Container","bsPrefix","fluid","as","suffix","_jsx","Row","decoratedBsPrefix","sizePrefix","brkPoint","propValue","cols","infix","Col","colProps","spans","span","useCol","Image","rounded","roundedCircle","thumbnail","_jsxs","xs","logo_nav","marginRight","align","variant","RF2","RNF6","CardBody","CardFooter","CardHeader","contextValue","cardHeaderBsPrefix","CardHeaderContext","CardImg","CardImgOverlay","CardLink","DivStyledAsH6","divWithClassName","CardSubtitle","CardText","DivStyledAsH5","CardTitle","Card","border","Img","Title","Subtitle","Body","Text","Header","Footer","ImgOverlay","MotionConfigContext","transformPagePoint","isStatic","reducedMotion","MotionContext","PresenceContext","LazyContext","strict","camelToDash","optimizedAppearDataAttribute","MotionGlobalConfig","Queue","scheduled","stepsOrder","createRenderBatcher","scheduleNextBatch","allowKeepAlive","runNextFrame","useDefaultElapsed","timestamp","isProcessing","steps","acc","thisFrame","nextFrame","numToRun","flushNextFrame","toKeepAlive","step","schedule","addToCurrentFrame","frameData","createRenderStep","processStep","stepId","processBatch","keepAlive","immediate","microtask","cancelMicrotask","isRefObject","isVariantLabel","isAnimationControls","variantPriorityOrder","variantProps","isControllingVariants","animate","isVariantNode","variants","useCreateMotionContext","getCurrentTreeVariants","variantLabelsAsDependency","featureProps","exit","drag","hover","tap","pan","inView","layout","featureDefinitions","isEnabled","LayoutGroupContext","SwitchLayoutGroupContext","motionComponentSymbol","createMotionComponent","preloadedFeatures","createVisualElement","useRender","useVisualState","features","loadFeatures","ForwardRefComponent","externalRef","MeasureLayout","configAndProps","layoutId","useLayoutId","visualState","visualElement","lazyContext","presenceContext","reducedMotionConfig","visualElementRef","renderer","blockInitialAnimation","wantsHandoff","HandoffComplete","postRender","animationState","animateChanges","updateFeatures","useVisualElement","initialLayoutGroupConfig","isStrict","mount","useMotionRef","_ref2","layoutGroupId","createMotionProxy","createConfig","custom","Proxy","componentCache","_target","lowercaseSVGElements","isSVGComponent","scaleCorrectors","transformPropOrder","transformProps","isForcedMotionValue","isMotionValue","translateAlias","transformPerspective","numTransforms","checkStringStartsWith","isCSSVariableName","isCSSVariableToken","getValueAsType","parseFloat","alpha","sanitize","floatRegex","colorRegex","singleColorRegex","createUnitType","unit","degrees","percent","px","vw","progressPercentage","int","numberValueTypes","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","right","bottom","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","translateX","translateY","translateZ","perspective","originX","originY","originZ","numOctaves","buildHTMLStyles","latestValues","transformTemplate","vars","transformOrigin","hasTransform","hasTransformOrigin","transformIsNone","valueType","valueAsType","transformIsDefault","enableHardwareAcceleration","allowTransformNone","transformString","transformName","buildTransform","createHtmlRenderState","copyRawValuesOnly","useStyle","useInitialMotionValues","useHTMLProps","htmlProps","dragListener","draggable","WebkitUserSelect","WebkitTouchCallout","tabIndex","onTap","onTapStart","whileTap","validMotionProps","isValidMotionProp","shouldForward","isValidProp","_a","calcOrigin","dashKeys","camelKeys","buildSVGAttrs","isSVGTag","attrX","attrY","attrScale","pathLength","pathSpacing","pathOffset","latest","viewBox","attrs","dimensions","pxOriginX","pxOriginY","calcSVGTransformOrigin","spacing","useDashCase","buildSVGPath","createSvgRenderState","useSVGProps","_isStatic","visualProps","rawStyles","createUseRender","forwardMotionProps","filteredProps","isDom","filterProps","elementProps","renderedChildren","renderHTML","projection","getProjectionStyles","camelCaseAttributes","renderSVG","renderState","_styleProp","scrapeMotionValuesFromProps","prevProps","newValues","scrapeMotionValuesFromProps$1","resolveVariantFromProps","currentValues","currentVelocity","isKeyframesTarget","isCustomValue","mix","toValue","resolveFinalValueInKeyframes","resolveMotionValue","unwrappedValue","makeUseVisualState","make","createRenderState","onMount","makeLatestValues","makeState","useConstant","scrapeMotionValues","motionValues","isControllingVariants$1","isVariantNode$1","isInitialAnimationBlocked","variantToSet","resolved","transitionEnd","valueTarget","noop","frame","cancelFrame","requestAnimationFrame","svgMotionConfig","getBBox","getBoundingClientRect","htmlMotionConfig","addDomEvent","eventName","isPrimaryPointer","extractEventInfo","pointType","point","addPointerInfo","addPointerEvent","combineFunctions","transformers","createLock","lock","openLock","globalHorizontalLock","globalVerticalLock","getGlobalLock","openHorizontal","openVertical","isDragActive","openGestureLock","Feature","addHoverEvent","callbackName","handleEvent","info","getProps","whileHover","setActive","isNodeOrChild","parentElement","fireSyntheticPointerEvent","syntheticPointerEvent","observerCallbacks","observers","fireObserverCallback","fireAllObserverCallbacks","observeIntersection","rootInteresectionObserver","lookupRoot","rootObservers","IntersectionObserver","initIntersectionObserver","observe","unobserve","thresholdNames","gestureAnimations","hasEnteredView","isInView","startObserver","viewport","rootMargin","once","isIntersecting","onViewportEnter","onViewportLeave","hasOptionsChanged","prevViewport","hasViewportOptionChanged","removeStartListeners","removeEndListeners","removeAccessibleListeners","startPointerPress","startEvent","startInfo","isPressing","removePointerUpListener","endPointerPress","endEvent","endInfo","checkPressEnd","onTapCancel","globalTapTarget","removePointerCancelListener","cancelEvent","cancelInfo","cancelPress","startPress","startAccessiblePress","removeKeydownListener","keydownEvent","keyupEvent","removeBlurListener","handleBlur","removePointerListener","removeFocusListener","onFocus","isFocusVisible","onBlur","shallowCompare","prevLength","resolveVariant","getCurrent","secondsToMilliseconds","seconds","millisecondsToSeconds","milliseconds","instantAnimationState","isBezierDefinition","isWaapiSupportedEasing","supportedWaapiEasing","cubicBezierAsString","linear","easeIn","easeOut","easeInOut","circIn","circOut","backIn","backOut","mapEasingToNativeEasing","calcBezier","a1","a2","subdivisionPrecision","subdivisionMaxIterations","cubicBezier","mX1","mY1","mX2","mY2","getTForX","aX","lowerBound","upperBound","currentX","currentT","binarySubdivide","isEasingArray","mirrorEasing","reverseEasing","sin","acos","circInOut","backInOut","easingLookup","anticipate","pow","easingDefinitionToFunction","x1","y1","x2","y2","isColorString","testProp","splitColor","aName","bName","cName","rgbUnit","clampRgbUnit","rgba","red","green","blue","alpha$1","hex","parseInt","hsla","hue","saturation","lightness","hueToRgb","mixLinearColor","fromExpo","colorTypes","asRGBA","getColorType","model","hslaToRgba","mixColor","fromRGBA","toRGBA","blended","cssVarTokeniser","regex","countKey","colorTokeniser","numberTokeniser","tokenise","tokenised","analyseComplexValue","originalValue","numVars","numColors","numNumbers","parseComplexValue","createTransformer","numValues","convertNumbersToZero","complex","_b","getAnimatableNone","transformer","mixImmediate","getMixer","mixComplex","mixArray","blendValue","fromThis","mixObject","originStats","targetStats","toFromDifference","mixNumber","createMixers","customMixer","mixers","mixerFactory","detectMixerFactory","numMixers","mixer","easingFunction","interpolate","isClamp","inputLength","reverse","interpolator","progressInRange","defaultOffset","remaining","offsetProgress","fillOffset","keyframes","duration","keyframeValues","times","easingFunctions","absoluteTimes","convertOffsetToTimes","mapTimeToKeyframe","calculatedDuration","velocityPerSecond","frameDuration","velocitySampleDuration","calcGeneratorVelocity","resolveValue","prevT","safeMin","minDuration","maxDuration","minDamping","maxDamping","findSpring","envelope","derivative","bounce","mass","dampingRatio","undampedFreq","exponentialDecay","calcAngularFreq","exp","initialGuess","rootIterations","approximateRoot","stiffness","damping","durationKeys","physicsKeys","isSpringType","spring","restDelta","restSpeed","isResolvedFromDuration","springOptions","derived","getSpringOptions","initialVelocity","initialDelta","undampedAngularFreq","isGranularScale","resolveSpring","angularFreq","cos","dampedAngularFreq","freqForT","sinh","cosh","isBelowVelocityThreshold","isBelowDisplacementThreshold","inertia","power","timeConstant","bounceDamping","bounceStiffness","modifyTarget","nearestBoundary","amplitude","ideal","calcDelta","calcLatest","applyFriction","timeReachedBoundary","spring$1","checkCatchBoundary","isOutOfBounds","hasUpdatedFrame","clearTime","newTime","frameloopDriver","passTimestamp","maxGeneratorDuration","calcGeneratorDuration","generator","decay","tween","animateValue","resolveFinishedPromise","currentFinishedPromise","autoplay","driver","keyframes$1","repeatDelay","repeatType","onPlay","onStop","onComplete","onUpdate","hasStopped","updateFinishedPromise","animationDriver","generatorFactory","mapNumbersToKeyframes","mirroredGenerator","playState","holdTime","cancelTime","resolvedDuration","totalDuration","currentTime","tick","timeWithoutDelay","isInDelayPhase","elapsed","frameGenerator","currentIteration","iterationProgress","isAnimationFinished","finish","stopAnimationDriver","play","controls","newSpeed","pause","complete","sample","supportsWaapi","acceleratedValues","createAcceleratedAnimation","valueName","pendingCancel","requiresPregeneratedKeyframes","sampleAnimation","pregeneratedKeyframes","keyframeOptions","fill","iterations","animateStyle","owner","cancelAnimation","safeCancel","onfinish","getFinalKeyframe","attachTimeline","timeline","playbackRate","setWithVelocity","underDampedSpring","keyframesTransition","getDefaultTransition","valueKey","isAnimatable","maxDefaults","applyDefaultFilter","functionRegex","functions","defaultValueTypes","outlineColor","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","WebkitFilter","getDefaultValueType","defaultValueType","isZeroValueString","isNone","getValueTransition","animateMotionValue","valueTransition","isTargetAnimatable","defaultOrigin","animatableTemplateValue","noneKeyframeIndexes","getKeyframes","originKeyframe","targetKeyframe","isOriginAnimatable","when","_delay","delayChildren","staggerChildren","staggerDirection","isTransitionDefined","createInstantAnimation","isHandoff","HTMLElement","acceleratedAnimation","isWillChangeMotionValue","isNumericalString","addUniqueItem","removeItem","SubscriptionManager","subscriptions","notify","numSubscriptions","getSize","collectMotionValues","MotionValue","_this","canTrackVelocity","updateAndNotify","updatedAt","setPrevFrameValue","setCurrent","change","renderRequest","hasAnimated","prevFrameValue","prevUpdatedAt","onChange","subscription","clearListeners","eventManagers","attach","passiveEffect","stopPassiveEffect","jump","getPrevious","startAnimation","animationStart","animationComplete","clearAnimation","animationCancel","isAnimating","motionValue","testValueType","dimensionValueTypes","findDimensionValueType","valueTypes","findValueType","setMotionValue","hasValue","addValue","setTarget","makeTargetAnimatable","getOriginFromTransition","shouldBlockAnimation","protectedKeys","needsAnimating","shouldBlock","hasKeyframesChanged","animateTarget","transitionOverride","willChange","animations","animationTypeState","getState","HandoffAppearAnimations","appearId","canSkip","shouldReduceMotion","animateVariant","getAnimation","getChildAnimations","variantChildren","forwardDelay","maxStaggerDuration","generateStaggerDuration","sortByTreeOrder","animateChildren","sortNodePosition","reversePriorityOrder","numAnimationTypes","animateList","resolvedDefinition","animateVisualElement","createAnimationState","createTypeState","whileInView","whileDrag","whileFocus","isInitialRender","buildResolvedTypeValues","changedActiveType","getVariantContext","removedKeys","encounteredKeys","removedVariantIndex","typeState","propIsVariant","activeDelta","isInherited","manuallyAnimateOnMount","prevProp","shouldAnimateType","checkVariantsDidChange","handledRemovedValues","definitionList","resolvedValues","prevResolvedValues","allKeys","markToAnimate","valueHasChanged","fallbackAnimation","fallbackTarget","getBaseTarget","shouldAnimate","setAnimateFunction","makeAnimator","updateAnimationControlsSubscription","prevAnimate","isPresent","onExitComplete","prevIsPresent","prevPresenceContext","exitAnimation","register","PanSession","contextWindow","dragSnapToOrigin","lastMoveEvent","lastMoveEventInfo","updatePoint","getPanInfo","isPanStarted","isDistancePastThreshold","xDelta","yDelta","distance2D","onStart","onMove","handlePointerMove","transformPoint","handlePointerUp","onEnd","onSessionEnd","resumeAnimation","panInfo","initialInfo","onSessionStart","removeListeners","updateHandlers","subtractPoint","lastDevicePoint","startDevicePoint","timeDelta","timestampedPoint","lastPoint","calcLength","axis","isNear","maxDistance","calcAxisDelta","originPoint","translate","calcBoxDelta","calcRelativeAxis","calcRelativeAxisPosition","calcRelativePosition","calcRelativeAxisConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","defaultElastic","resolveAxisElastic","dragElastic","minLabel","maxLabel","resolvePointElastic","label","createDelta","createBox","eachAxis","convertBoundingBoxToBox","isIdentityScale","hasScale","has2DTranslate","is2DTranslate","scalePoint","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","box","snapToDefault","Number","isInteger","translateAxis","transformAxis","transforms","scaleKey","originKey","axisOrigin","xKeys","yKeys","transformBox","measureViewportBox","topLeft","bottomRight","transformBoxPoints","getContextWindow","elementDragControls","VisualElementDragControls","openGlobalLock","isDragging","currentDirection","constraints","hasMutatedConstraints","elastic","originEvent","snapToCursor","panSession","pauseAnimation","stopAnimation","dragPropagation","onDragStart","resolveConstraints","isAnimationBlocked","getAxisMotionValue","measuredAxis","layoutBox","dragDirectionLock","onDirectionLock","onDrag","lockThreshold","getCurrentDirection","updateAxis","getAnimationState","getTransformPagePoint","onDragEnd","_point","shouldDrag","axisValue","applyConstraints","dragConstraints","measure","prevConstraints","resolveRefConstraints","calcRelativeConstraints","resolveDragElastic","relativeConstraints","rebaseAxisConstraints","onMeasureDragConstraints","constraintsElement","constraintsBox","rootProjectionNode","viewportBox","scroll","measurePageBox","measuredConstraints","calcViewportConstraints","userConstraints","convertBoxToBoundingBox","dragMomentum","dragTransition","onDragTransitionEnd","momentumAnimations","startAxisValueAnimation","dragKey","externalMotionValue","scalePositionWithinConstraints","boxProgress","sourceLength","targetLength","updateScroll","updateLayout","addListeners","stopPointerListener","measureDragConstraints","stopMeasureLayoutListener","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","asyncHandler","globalProjectionState","hasAnimatedSinceResize","hasEverUpdated","pixelsToPercent","pixels","correctBorderRadius","correct","correctBoxShadow","treeScale","projectionDelta","original","shadow","xScale","yScale","averageScale","MeasureLayoutWithContext","layoutGroup","switchLayoutGroup","correctors","defaultScaleCorrectors","group","didUpdate","safeToRemove","setOptions","layoutDependency","willUpdate","promote","relegate","getStack","members","currentAnimation","isLead","promoteContext","scheduleCheckAfterUnmount","deregister","usePresence","applyTo","boxShadow","borders","numBorders","asNumber","isPx","getRadius","radiusName","easeCrossfadeIn","compress","easeCrossfadeOut","copyAxisInto","originAxis","copyBoxInto","originBox","removePointDelta","removeAxisTransforms","sourceAxis","removeAxisDelta","removeBoxTransforms","sourceBox","isAxisDeltaZero","isDeltaZero","boxEqualsRounded","NodeStack","scheduleRender","prevLead","lead","indexOfNode","member","preserveFollowOpacity","show","resumeFrom","preserveOpacity","snapshot","animationValues","isUpdating","isLayoutDirty","crossfade","hide","exitAnimationComplete","resumingFrom","removeLeadSnapshot","buildProjectionTransform","latestTransform","xTranslate","yTranslate","elementScaleX","elementScaleY","compareByDepth","depth","FlatTree","isDirty","transformAxes","hiddenVisibility","visibility","projectionFrameData","totalNodes","resolvedTargetDeltas","recalculatedProjection","createProjectionNode","attachResizeListener","defaultParent","measureScroll","checkIsScrollRoot","resetTransform","animationId","isTreeAnimating","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isSVG","needsReset","shouldResetTransform","eventHandlers","hasTreeAnimated","updateScheduled","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","MotionDebug","record","hasProjected","isVisible","animationProgress","sharedNodes","notifyListeners","subscriptionManager","hasListeners","SVGElement","cancelDelay","resizeUnblockUpdate","checkElapsed","finishAnimation","registerSharedNode","hasRelativeTargetChanged","newLayout","isTreeAnimationBlocked","relativeTarget","layoutTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","targetChanged","targetLayout","hasOnlyRelativeTargetChanged","layoutRoot","setAnimationOrigin","animationOptions","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","resetRotation","getTransformTemplate","shouldNotifyListeners","prevTransformTemplateValue","updateSnapshot","clearMeasurements","clearIsLayoutDirty","resetTransformStyle","notifyLayoutUpdate","preRender","clearSnapshot","removeLeadSnapshots","scheduleUpdateProjection","alwaysMeasureLayout","prevLayout","layoutCorrected","phase","needsMeasurement","layoutScroll","isRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","removeTransform","pageBox","removeElementScroll","roundAxis","measuredBox","boxWithoutScroll","rootScroll","applyTransform","transformOnly","withTransforms","boxWithoutTransform","setTargetDelta","targetDelta","forceRelativeParentToResolveTarget","relativeParent","resolvedRelativeTargetAt","forceRecalculation","getLead","isShared","attemptToResolveRelativeTarget","getClosestProjectingParent","relativeTargetOrigin","targetWithTransforms","isProjecting","pendingAnimation","prevTreeScaleX","prevTreeScaleY","isSharedTransition","treeLength","applyTreeDeltas","projectionTransform","projectionDeltaWithTransform","prevProjectionTransform","notifyAll","snapshotLatestValues","mixedValues","relativeLayout","isSharedLayoutAnimation","isOnlyMember","shouldCrossfadeOpacity","hasOpacityCrossfade","prevRelativeTarget","mixTargetDelta","mixAxisDelta","mixAxis","mixBox","boxEquals","follow","opacityExit","borderLabel","followRadius","leadRadius","mixValues","motionValue$1","animateSingleValue","completeAnimation","applyTransformsToTarget","shouldAnimatePositionOnly","animationType","xLength","yLength","initialPromotionConfig","shouldPreserveFollowOpacity","getPrevLead","hasRotate","resetValues","setStaticValue","styles","emptyStyles","valuesToRender","corrected","num","resetTree","measuredLayout","axisSnapshot","layoutDelta","visualDelta","parentSnapshot","parentLayout","relativeSnapshot","onBeforeLayoutMeasure","userAgentContains","roundPoint","DocumentProjectionNode","HTMLProjectionNode","documentNode","getComputedStyle","position","removePointerDownListener","onPointerDown","pointerDownEvent","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","removeGroupControls","dragControls","ProjectionNode","splitCSSVariableRegex","maxDepth","getVariableValue","parseCSSVariable","getPropertyValue","trimmed","positionalKeys","isPositionalKey","isNumOrPxType","getPosFromMatrix","matrix","pos","getTranslateFromMatrix","pos2","pos3","_bbox","matrix3d","transformKeys","nonTranslationalTransformKeys","positionalValues","_ref3","_ref9","_ref10","_ref11","checkAndConvertChangedValueTypes","targetPositionalKeys","removedTransformValues","hasAttemptedToRemoveTransformValues","changedValueTypeKeys","fromType","toType","numKeyframes","fromIndex","removedTransforms","removeNonTranslationalTransform","scrollY","pageYOffset","convertedTarget","convertChangedValueTypes","changedKeys","originBbox","elementComputedStyle","targetBbox","_ref12","scrollTo","unitConversion","hasPositionalKey","parseDomVariant","resolveCSSVariables","prefersReducedMotion","hasReducedMotionListener","visualElementStore","featureNames","numFeatures","propEventHandlers","numVariantProps","VisualElement","valueSubscriptions","prevMotionValues","propEventSubscriptions","notifyUpdate","triggerBuild","renderInstance","baseTarget","initialValues","initialMotionValues","_prevProps","removeFromVariantTree","addVariantChild","bindToMotionValue","matchMedia","motionMediaQuery","setReducedMotionPreferences","addListener","initPrefersReducedMotion","valueIsTransform","removeOnChange","latestValue","removeOnRenderRequest","sortInstanceNodePosition","ProjectionNodeConstructor","renderedProps","FeatureConstructor","MeasureLayoutComponent","feature","build","measureInstanceViewportBox","getStaticValue","canMutate","makeTargetAnimatableFromInstance","nextValue","prevValue","existingValue","removeValue","updateMotionValuesFromProps","handleChildMotionValue","getVariant","getClosestVariantNode","closestVariantNode","removeValueFromRenderState","readValue","getBaseTargetFromProps","readValueFromInstance","setBaseTarget","valueFromInitial","DOMVisualElement","transitionOrigin","getOrigin","newValueKeys","numNewValues","targetValue","checkTargetForNewValues","HTMLVisualElement","defaultType","computedStyle","childSubscription","SVGVisualElement","createDomVisualElement","motion","createDomMotionConfig","post","rel","textDecoration","minHeight","image","institution","institution2","Phone","mail","makeEventKey","eventKey","excluded","sourceKeys","defaultKey","_toPropertyKey","hint","prim","toPrimitive","_toPrimitive","useUncontrolledProp","wasPropRef","_useState","stateValue","isProp","wasProp","useUncontrolled","fieldName","_extends2","Utils","propsValue","handlerName","_useUncontrolledProp","nextProps","prevState","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","__suppressDeprecationWarning","NavbarBrand","psuedoElement","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","isTransform","removeProperty","cssText","_setPrototypeOf","setPrototypeOf","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","nodeRef","forceReflow","performEnter","performExit","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","optionsSupported","onceSupported","wrappedHandler","__once","onceHandler","emulateTransitionEnd","called","triggerEvent","mult","parseDuration","removeEmulate","transitionEndListener","funcs","triggerBrowserReflow","offsetHeight","toFnRef","refA","refB","mergeRefs","safeFindDOMNode","componentOrElement","TransitionWrapper","childRef","mergedRef","useMergedRefs","attachRef","normalize","handleEnter","handleEntering","handleEntered","handleExit","handleExiting","handleExited","handleAddEndListener","innerProps","MARGINS","getDefaultDimensionValue","dimension","elem","margins","collapseStyles","inProp","getDimensionValue","computedDimension","createChainedFunction","role","NavbarCollapse","NavbarContext","Collapse","expanded","useEventCallback","useCommittedRef","NavbarToggle","onToggle","handleClick","isReactNative","matchersByWindow","getMatcher","query","targetWindow","matchers","mql","refCount","media","useMediaQuery","setMatches","handleChange","removeListener","useBreakpoint","breakpointValues","names","and","getMaxQuery","breakpoint","getNext","breakpointOrMap","breakpointMap","getMinQuery","createBreakpointHook","sm","xl","xxl","useMounted","mounted","useWillUnmount","onUnmount","valueRef","useUpdatedRef","usePrevious","ATTRIBUTE_PREFIX","dataAttr","OPEN_DATA_ATTRIBUTE","handleContainerOverflow","isRTL","modals","getScrollbarWidth","innerWidth","clientWidth","getBodyScrollbarWidth","getElement","setModalAttributes","_modal","removeModalAttributes","setContainerStyle","containerState","paddingProp","container","scrollBarWidth","removeContainerStyle","modal","modalIdx","isTopModal","Context","useWindow","resolveContainerRef","useWaitForDOMRef","onResolved","resolvedRef","setRef","earlyRef","nextRef","hasEnteredRef","combinedRef","ImperativeTransition","exited","setExited","onTransition","isInitialRef","handleTransition","useIsomorphicEffect","stale","isStale","onFinish","renderTransition","runTransition","NoopTransition","isEscKey","useModalManager","provided","modalManager","ModalManager","getManager","dialog","backdrop","setDialogRef","setBackdropRef","Modal","keyboard","onBackdropClick","onEscapeKeyDown","backdropTransition","runBackdropTransition","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","providedManager","containerRef","onShow","onHide","prevShow","lastFocusRef","handleShow","removeKeydownListenerRef","handleDocumentKeyDown","removeFocusListenerRef","handleEnforceFocus","_modal$dialog$ownerDo","_modal$dialog","currentActiveElement","handleHide","_lastFocusRef$current","handleBackdropClick","dialogProps","backdropElement","_Fragment","fadeStyles","Fade","transitionClasses","isAppearing","OffcanvasBody","transitionStyles","OffcanvasToggling","CloseButton","ariaLabel","AbstractModalHeader","closeLabel","closeVariant","closeButton","ModalContext","OffcanvasHeader","OffcanvasTitle","baseVal","qsa","selector","replaceClassName","origClass","classToRemove","Selector","BootstrapModalManager","adjustAndStore","adjust","actual","restore","marginProp","sharedManager","getSharedManager","DialogTransition","BackdropTransition","Offcanvas","ariaLabelledby","placement","responsive","backdropClassName","propsManager","renderStaticNode","showOffcanvas","setShowOffcanvas","hideResponsiveOffcanvas","modalContext","backdropProps","BaseModal","NavbarOffcanvas","NavbarText","Navbar","initialBsPrefix","expand","fixed","sticky","onSelect","collapseOnSelect","controlledProps","handleCollapse","expandClass","navbarContext","SelectableContext","Brand","Toggle","createUtilityClassName","utilityValues","utilName","utilValue","bpValue","gap","useForceUpdate","NavContext","useButtonProps","isTrivialHref","onKeyDown","Button","asProp","buttonProps","useNavItem","parentOnSelect","navContext","tabContext","TabContext","contextControllerId","getControllerId","contextControlledId","getControlledId","activeKey","NavItem","EVENT_KEY_ATTR","Nav","needsRefocusRef","listNode","getNextActiveTab","currentListNode","items","activeChild","handleSelect","nextActiveChild","Item","useCallbackRef","Anchor","handleKeyDown","navItemProps","uncontrolledProps","justify","navbar","navbarScroll","navbarBsPrefix","isNavbar","cardHeaderContext","BaseNav","tar","dequal","foo","ctor","tmp","getInt8","getBasePlacement","getWindow","isHTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","visualViewport","addVisualOffsets","offsetLeft","offsetTop","getLayoutRect","rootNode","getRootNode","isSameNode","getNodeName","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","contain","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","auto","basePlacements","clippingParents","popper","reference","variationPlacements","placements","modifierPhases","enabled","_state$modifiersData$","arrowElement","elements","arrow","popperOffsets","modifiersData","basePlacement","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","centerToReference","axisProp","centerOffset","effect","_options$element","requires","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","dpr","devicePixelRatio","roundOffsetsByDPR","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","strategy","attributes","_options$scroll","_options$resize","resize","scrollParents","scrollParent","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","pageXOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","overflowY","getScrollParent","listScrollParents","list","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","check","_loop","_i","fittingPlacement","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","modifiers","modifier","dep","depModifier","debounce","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","orderModifiers","merged","mergeByName","_ref$options","cleanupFn","noopFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","createPopper","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","computeStyles","eventListeners","flip","disabledApplyStylesModifier","ariaDescribedByModifier","ids","_popper$getAttribute","EMPTY_MODIFIERS","referenceElement","popperElement","prevModifiers","popperInstanceRef","_popperInstanceRef$cu","_popperInstanceRef$cu2","popperState","useSafeState","updateModifier","nextModifiers","getRefTarget","InitialTriggerEvents","onClickOutside","clickTrigger","preventMouseClickOutsideRef","waitingForTrigger","handleMouseCapture","isLeftClickEvent","handleInitialMouse","handleMouse","_ownerWindow$event","_ownerWindow$parent","currentEvent","removeInitialTriggerListener","removeMouseCaptureListener","removeMouseListener","mobileSafariHackListeners","toModifierArray","mergeOptionsWithPopperConfig","enableEvents","containerPadding","popperConfig","_modifiers$eventListe","_modifiers$preventOve","_modifiers$preventOve2","_modifiers$offset","_modifiers$arrow","toModifierMap","useDropdownMenu","DropdownContext","attachArrowRef","hasShownRef","rootCloseEvent","placementOverride","enableEventListeners","usePopper","shouldUsePopper","setMenu","menuElement","toggleElement","menuProps","metadata","hasShown","toggle","arrowProps","useClickOutside","DropdownMenu","$b5e257d569688ac6$var$defaultContext","$b5e257d569688ac6$var$SSRContext","$73SJx$react","$b5e257d569688ac6$var$IsSSRContext","$b5e257d569688ac6$var$canUseDOM","$b5e257d569688ac6$var$componentIds","$b5e257d569688ac6$var$useCounter","$73SJx$useContext","$73SJx$useRef","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","currentOwner","prevComponentValue","$b5e257d569688ac6$export$619500959fc48b26","defaultId","didSSR","$73SJx$useState","$b5e257d569688ac6$var$subscribe","$b5e257d569688ac6$var$getSnapshot","$b5e257d569688ac6$var$getServerSnapshot","counter","onStoreChange","isRoleMenu","_el$getAttribute","useDropdownToggle","useSSRSafeId","setToggle","DropdownToggle","useDropdownItem","onSelectCtx","DropdownItem","dropdownItemProps","useRefWithUpdate","Dropdown","defaultShow","rawShow","rawOnToggle","itemSelector","focusFirstItemOnShow","menuRef","toggleRef","lastShow","lastSourceEvent","focusInDropdown","nextShow","originalEvent","focusToggle","maybeFocusFirst","focusType","getNextFocusedChild","eventTarget","useEventListener","_menuRef$current","_toggleRef$current","fromMenu","fromToggle","_menuRef$current2","DropdownDivider","DropdownHeader","DropdownItemText","useWrappedRefWithWarning","getDropdownMenuPlacement","alignEnd","dropDirection","showProps","renderOnMount","contextAlign","drop","isInputGroup","InputGroupContext","alignClasses","close","childBsPrefix","dropdownContext","toggleProps","pProps","_4","autoClose","handleToggle","_meta$originalEvent","_meta$originalEvent$t","directionClasses","down","up","BaseDropdown","ItemText","Divider","NavDropdown","title","menuRole","renderMenuOnMount","menuVariant","navItemPrefix","logo_nav2","class","visible","hidden","MainTeam","posts","wid","Krivorotko","Zyatkov","Kabanikhin","Petrakova","Question","Zvonareva","Neverov","NaviBarv2","div","MTeamItem","_excluded3","useTabPanel","TabPanel","tabPanelProps","Tabs","userId","generateChildId","generateCustomChildId","propsOnSelect","propsActiveKey","defaultActiveKey","Panel","getTabTransitionComponent","TabContainer","TabContent","TabPane","tabClassName","tabAttrs","Tab","Content","Pane","MAX_DELAY_MS","setChainedTimeout","handleRef","timeoutAtMs","delayMs","useTimeout","onRootClose","onClose","handleKeyUp","removeKeyupListener","Overlay","outerRef","rootElement","mountOverlay","useRootClose","rootClose","rootCloseDisabled","PopoverHeader","PopoverBody","getOverlayDirection","bsDirection","getInitialPopperStyles","Popover","hasDoneInitialMeasure","primaryPlacement","POPPER_OFFSET","Tooltip","TOOLTIP_OFFSET","overlay","outerShow","outerProps","popperRef","firstRenderedState","setFirstRenderedState","customOffset","overlayRef","popoverClass","tooltipClass","useOverlayOffset","actualTransition","handleFirstUpdate","BaseOverlay","overlayProps","popperObj","_popperObj$state","_popperObj$state$modi","aRef","__wrapped","wrapRefs","updatedPlacement","outOfBoundaries","handleMouseOverOut","relatedNative","related","trigger","propsShow","propsDelay","triggerNodeRef","hoverStateRef","setShow","normalizeDelay","handleFocus","handleMouseOver","handleMouseOut","triggers","triggerProps","onMouseOver","onMouseOut","ListGroupItem","ListGroup","horizontal","numbered","horizontalVariant","Spinner","bsSpinnerPrefix","lastData","lastDatadate","isNullOrUndef","isNumberFinite","isFinite","finiteOrDefault","valueOrDefault","toDimension","loopable","_elementsEqual","a0","ilen","v0","v1","datasetIndex","clone$1","klen","isValidKey","_merger","tval","sval","sources","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","_splitKey","_getKeyResolver","_capitalize","defined","setsEqual","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","roundedRange","almostEquals","niceRange","fraction","epsilon","_setMinAndMaxByKey","toRadians","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","lo","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","stub","_chartjs","_arrayUnique","requestAnimFrame","throttled","updateFn","updateArgs","ticking","_toLeftRightCenter","_alignStartEnd","_getStartAndCountOfVisiblePoints","points","animationsDisabled","pointCount","_sorted","iScale","_parsed","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","atEdge","elasticIn","elasticOut","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","lim","p2b","n2b","b2n","n2p","map$1","h1","h2","hexString","isShort","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hueParse","hwb2rgb","hsv2rgb","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","unpacked","tkeys","unpack","transparent","RGB_RE","modHSL","ratio","clone","proto","fromObject","functionParse","rgbParse","Color","ret","hexParse","_rgb","_valid","valid","rgbString","hslString","weight","c1","c2","w2","w1","rgb1","rgb2","clearer","greyscale","opaquer","negate","lighten","darken","saturate","desaturate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","descriptors","getScope$1","scope","_descriptors","datasets","chart","platform","getDevicePixelRatio","font","family","hoverBackgroundColor","hoverBorderColor","hoverColor","indexAxis","interaction","intersect","includeInvisible","maintainAspectRatio","onHover","parsing","plugins","scales","showLine","drawActiveElementsOnTop","describe","override","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","local","_scriptable","_indexable","_fallback","_measureText","longest","textWidth","measureText","_longestText","arrayOfThings","garbageCollect","save","jlen","nestedThing","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rad","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","_isPointInArea","clipArea","clip","unclipArea","_steppedLineTo","previous","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","lines","strokeColor","translation","fillStyle","textAlign","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","bottomLeft","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","toTRBL","toTRBLCorners","toPadding","toFont","toFontString","inputs","cacheable","parentContext","_createResolver","scopes","rootScopes","getTarget","_cacheable","_scopes","_rootScopes","_getTarget","deleteProperty","_keys","_cached","proxy","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getKeysFromAllScopes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_subProxy","_stack","setContext","receiver","isScriptable","_resolveScriptable","isIndexable","_resolveArray","_resolveWithContext","scriptable","indexable","_allKeys","resolveFallback","getScope","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","splineCurveMonotone","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","iPixel","vPixel","monotoneCompute","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","positions","getPositionedStyle","useOffsetPos","shadowRoot","getRelativePosition","evt","borderBox","boxSizing","paddings","offsetX","offsetY","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","containerSize","containerStyle","containerBorder","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","readUsedSize","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","formatNumber","cacheKey","formatter","Intl","NumberFormat","getNumberFormat","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","getPropertyPriority","prevTextDirection","restoreTextDirection","propertyFn","between","normalizeSegment","_boundSegment","bounds","startBound","endBound","getSegment","inside","subStart","shouldStart","shouldStop","_boundSegments","sub","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","p0","p0DataIndex","p1DataIndex","styleChanged","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","callbacks","numSteps","currentStep","_refresh","_update","running","draw","_active","_total","_getAnims","charts","cur","_duration","interpolators","factor","c0","Animation","cfg","currentValue","_fn","_easing","_start","_prop","_from","_to","_promises","remain","wait","rej","colors","numbers","Animations","_properties","animatedProps","option","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","awaitAll","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","otherValue","isStacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","listenArrayEvents","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","labels","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","createStack","NEGATIVE_INFINITY","otherMin","otherMax","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","setBorderSkipped","borderSkipped","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","BarController","iAxisKey","vAxisKey","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","_index_","grid","_value_","beginAtZero","BubbleController","tooltip","DoughnutController","innerRadius","outerRadius","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","getMaxBorderWidth","getMaxOffset","cutout","toPercentage","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","LineController","_dataset","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","updateControlPoints","PolarAreaController","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","RadarController","_fullLoop","pointPosition","getPointPositionForValue","tooltipPosition","useFinalPosition","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","major","getMajorIndices","numMajorIndices","newTicks","skipMajors","evenMajorSpacing","diff","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","grace","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","Scale","_margins","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","createScaleContext","optionTicks","rot","_computeGridLineItems","ticksLength","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","positionAxisID","limit","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","tz","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","fontSize","TypedRegistry","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","addControllers","_len3","_key3","_len4","_key4","addPlugins","_len5","_key5","addScales","_len6","_key6","getController","_get","getPlugin","getScale","removeControllers","_len7","_key7","removeElements","_len8","_key8","removePlugins","_len9","_key9","removeScales","_len10","_key10","typedRegistry","reg","_getRegistryForType","_exec","itemReg","camelMethod","ScatterController","abstract","DateAdapter","chartOptions","formats","startOf","weekday","endOf","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","getIntersectItems","isPointInArea","inRange","getNearestCartesianItems","distanceMetric","useX","useY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","wrap","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","autoPadding","addBox","removeBox","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","pointerenter","pointerleave","isNullOrEmpty","eventListenerOptions","nodeListContains","nodeList","createAttachObserver","observer","MutationObserver","addedNodes","removedNodes","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","DomPlatform","renderHeight","renderWidth","displayWidth","displayHeight","initCanvas","proxies","$proxies","detach","isConnected","PluginService","hook","_createDescriptors","plugin","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onAnimationProgress","onProgress","getCanvas","instances","getChart","moveNumericKeys","intKey","Chart","userConfig","initialCanvas","existingChart","OffscreenCanvas","_detectPlatform","_aspectRatio","_metasets","_lastEvent","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","inner","lineJoin","fullCircles","drawFullCircleBorders","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","strokePathWithCache","segmentMethod","strokePathDirect","LineElement","_points","_segments","_pointsUpdated","findStartAndEnd","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","PointElement","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","half","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","skipX","skipY","addNormalRectPath","inflateRect","refRect","BarElement","addRectPath","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","pointValue","firstValue","lastValue","simpleArc","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","_drawfill","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","onLeave","isListened","hoveredItem","sameItem","itemsEqual","plugin_legend","_element","afterEvent","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","before","after","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","_eventPosition","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","findOrAddLabel","addedLabels","addIfString","lastIndexOf","CategoryScale","_startValue","_valueRange","_addedLabels","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","almostWhole","decimalPlaces","relativeLabelSize","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","stepSize","computeTickLimit","LinearScale","isMajor","tickVal","LogarithmicScale","_zero","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","INTERVALS","millisecond","second","minute","hour","day","quarter","year","UNITS","sorter","_adapter","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","addTick","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","_tickFormatFunction","minorFormat","majorFormat","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","getModifierKey","modifierKey","keyPressed","keyNotPressed","directionEnabled","getEnabledScalesByPoint","scaleIds","getScaleUnderPoint","enabledScales","scaleItem","chartStates","originalScaleLimits","updatedScaleLimits","panDelta","zoomDelta","newRange","centerPoint","minPercent","getLimit","scaleLimits","updateRange","minRange","minLimit","maxLimit","cmin","cmax","integerChange","OFFSETS","panNumericalScale","canZoom","prevStart","prevEnd","newMin","newMax","panNonLinearScale","zoomFunctions","category","maxIndex","existCategoryFromMaxZoom","panFunctions","lastLabelIndex","stepDelta","scaleLength","applied","timeseries","removeMissingScales","storeOriginalScaleLimits","shouldUpdateScaleLimits","doZoom","focalPoint","zoomOptions","overScaleMode","xEnabled","yEnabled","onZoom","pixel0","pixel1","getZoomLevel","origRange","scaleId","getOriginalRange","level","panScale","storedDelta","panOptions","getInitialScaleBounds","scaleBounds","removeHandler","addHandler","oldHandler","mouseMove","dragStart","dragging","dragEnd","zoomStart","onZoomStart","onZoomRejected","mouseDown","computeDragRect","beginPoint","endPoint","chartHeight","zoomX","zoomY","mouseUp","onZoomComplete","distanceX","distanceY","zoomRect","wheel","wheelPreconditions","addDebouncedHandler","createEnabler","panning","onPanRejected","handlePinch","zoomPercent","pinch","pinchX","pinchY","pinchAxes","handlePan","panScales","hammers","startHammer","startPinch","endPinch","panEndTimeout","startPan","onPanComplete","endPan","zoomScale","resetZoom","isZoomedOrPanned","originalMin","originalMax","beforeEvent","wheelOptions","dragOptions","stopHammer","removeState","ChartJS","SubTitle","Filler","zoomPlugin","Main_publications_more_detailed","OverlayTrigger","PublicationsData","Krivorotko_info","logo_nav2En","Krivorotko_info_En","NaviBarv2_En","Footer_En","Kabanikhin_info","Kabanikhin_info_En","Mikhailapov_info","Mikhailapov","Mikhailapov_info_En","Petrakova_info","Petrakova_info_En","Semenova_info","Semenova","Semenova_info_En","Nesterova_info","Nesterova_info_En","Zyatkov_info","Zyatkov_info_En","Zvonareva_info","Zvonareva_info_En","Neverov_info","Neverov_info_En","Krivorotko_Zvonareva_teaching","Krivorotko_teaching","Krivorotko_Zvonareva_teaching_En","Krivorotko_teaching_En","Krivorotko_teaching_methods","Krivorotko_teaching_methods_En","DefaultContext","attr","IconContext","__assign","__rest","Tree2Element","tree","GenIcon","IconBase","conf","svgProps","computedSize","xmlns","FiDownload","DivStyledAsH4","AlertHeading","AlertLink","Alert","dismissible","handleClose","alert","Heading","BsFillArrowUpRightSquareFill","BsFillCaretDownFill","BsFillCaretRightFill","BsFillEnvelopeFill","BsFillFileEarmarkPdfFill","BsFillGeoAltFill","BsFillPersonLinesFill","BsFillTelephoneFill","BsDownload","BsExclamationLg","BsInfo","BsZoomIn","BsZoomOut","defaultDatasetIdKey","reforwardRef","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","cloneData","nextData","ChartComponent","redraw","fallbackContent","updateMode","canvasRef","chartRef","renderChart","Chart$1","destroyChart","nextOptions","createTypedChart","registerables","Line","Bar","zoom_chart","setLastsData","setLastsDatadate","last_ndeaths","setlast_ndeaths","last_nrec","setlast_nrec","chartData","setChartData","setChartOptions","setLoadingprosses","cov_nd","cov_data","cov_last_nd","cov_last_date","cov_last_ndeaths","cov_last_nrec","cov_ndeaths","cov_nd_all","cov_nrec","cov_ncrit","cov_cumchild","region","setSomeerrors","new_diagnoses","new_deaths","new_recoveries","dataObj","cum_deaths","cum_diagnoses","cum_recoveries","n_critical","cum_children","pointRadius","pointHoverRadius","pointHitRadius","pointBorderWidth","quantity","loadingprosses","someerrors","lasts","MSCDItem","imageLink","download_chart3","getRegionData","title2","district","population","density","regions","Covid","postQuery","noResults","setNoResults","showAllRegions","setShowAllRegions","filteredRegions","h3","autoComplete","onSubmit","StaticCovidData","tub_nd","tub_data","tub_last_ndeaths","tub_last_nd","tub_last_date","tub_ndeaths","diagnoses","deaths","last_unemployment","setlast_unemployment","last_poverty","setlast_poverty","last_income","setlast_income","soc_data","soc_unempl","soc_pov","soc_income","soc_last_unempl","soc_last_pov","soc_last_income","unemployment","poverty","income","regionsSoc","Tub","filteredRegionsSoc","StaticTubData","StaticTubDataSoc","NaviBar","Main_picture","backgroundImage","back_1","backgroundSize","backgroundPosition","$","ReferenceError","emitter","observedBits","loading","_isMounted","ymaps","load","loadModule","onLoad","getApi","lang","namespace","api","setApi","getPromise","setPromise","enterprise","ready","fetchScript","async","_name","preload","_events","tt","et","nt","_parentElement","_getRef","mountObject","updateObject","unmountObject","instanceRef","setType","behaviors","disable","setZoom","setCenter","setBounds","fitToViewport","ot","rt","_mounted","panorama","isSupported","locate","Player","mountControl","control","updateControl","unmountControl","mapTypes","removeAllMapTypes","addMapType","jt","gt","Clusterer","geoObjects","ObjectManager","setFilter","objects","clusters","dangerZone","modifyConstructor","geometry","setCoordinates","setRadius","coordinates","Et","Pt","Main_contacts","YMaps","defaultState","ZoomControl","float","Placemark","Main_publications","journal","volume","doi","publisher","pages","pubYear","details","conference","hreff","minWidth","Main","newsItems","sem_a","sem_b","Novikov","Koshelev","hoveredIndex","setHoveredIndex","conferences","conf_bioresources","conf_Dynamics","conferencestwo","Sirius_conference","conf_ModernProblemsOfInverseProblems","alt","onMouseEnter","onMouseLeave","getDefaultActiveKey","renderTab","BaseTabs","Feedback","FormCheckInput","isInvalid","controlId","FormContext","FormCheckLabel","htmlFor","FormCheck","bsSwitchPrefix","inline","feedbackTooltip","feedback","feedbackType","innerFormContext","hasLabel","hasChildOfType","Label","FormControl","htmlSize","plaintext","readOnly","FormFloating","FormGroup","FormLabel","column","visuallyHidden","columnClass","FormRange","FormSelect","FormText","muted","Switch","FloatingLabel","validated","Form","Group","Floating","Check","Range","Select","__assign$1","__rest$1","__spreadArray","pack","ar","SuppressedError","ReactPropTypesSecret_1$1","propTypes$1","requireReactPropTypesSecret$1","factoryWithThrowingShims$1","requireFactoryWithThrowingShims$1","argType","CAccordionContext","CAccordion","activeItemKey","alwaysOpen","flush","_c","_activeItemKey","setActiveKey","React$1","classNames$1","PropTypes$1","CAccordionItemContext","CAccordionItem","itemKey","_itemKey","setVisible","_extends$1","_objectWithoutPropertiesLoose$1","_setPrototypeOf$1","_inheritsLoose","Transition$1","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","_addClass","_this$appliedClasses$","CSSTransition$1","useForkedRef","assignRef","applyStyles$1","initialStyles","attribute","getComputedStyle$1","min$1","max$1","arrow$1","computeStyles$1","hash$1","placements$1","flip$1","offset$1","preventOverflow$1","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","Event","closest","getRTLPlacement","isInViewport","innerHeight","isObjectInArray","ignore","_item","_popper","initPopper","destroyPopper","popperInstance","useStateWithCallback","initialState","runHandler","CCollapse","collapseRef","forkedRef","setHeight","currentHeight","currentWidth","collapsing","collapse","CAccordionBody","CAccordionButton","collapsed","CAccordionHeader","CCloseButton","white","colorPropType","fallbackPlacementsPropType","gradientsPropType","placementPropType","shapePropType","textColorsPropType","triggerPropType","CAlert","alertRef","_d","_visible","CAlertHeading","CLink","CAlertLink","CAvatar","statusClassName","CBackdrop","backdropRef","CBadge","CBreadcrumb","CBreadcrumbItem","CButton","_e","CButtonToolbar","CButtonGroup","CCallout","CCard","CCardBody","CCardFooter","CCardGroup","CCardHeader","CCardImage","orientation","CCardImageOverlay","CCardLink","CCardSubtitle","CCardText","CCardTitle","CCarouselContext","CCarousel","activeIndex","dark","indicators","onSlid","onSlide","_f","carouselRef","_g","_h","animating","setAnimating","_j","customInterval","setCustomInterval","_k","setDirection","_l","itemsNumber","setItemsNumber","_m","touchPosition","setTouchPosition","_o","cycle","handleScroll","_pause","nextItemWhenVisible","handleControlClick","onTouchStart","touchDown","onTouchMove","handleIndicatorClick","CCarouselCaption","CCarouselItem","carouselItemRef","prevActive","directionClassName","setDirectionClassName","orderClassName","setOrderClassName","setActiveClassName","setCount","CConditionalPortal","portal","_container","setContainer","getContainer","_typeof$1","toInteger","dirtyNumber","requiredArgs","toDate","argument","argStr","getDefaultOptions","dirtyDate","subMilliseconds","dirtyAmount","addMilliseconds","startOfUTCISOWeek","getUTCDay","setUTCDate","getUTCDate","setUTCHours","getUTCISOWeekYear","getUTCFullYear","fourthOfJanuaryOfNextYear","setUTCFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getUTCISOWeek","fourthOfJanuary","startOfUTCISOWeekYear","startOfUTCWeek","_options$weekStartsOn","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","weekStartsOn","RangeError","getUTCWeekYear","_options$firstWeekCon","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","getUTCWeek","firstWeek","startOfUTCWeekYear","addLeadingZeros","formatters$2","signedYear","getUTCMonth","dayPeriodEnumValue","getUTCHours","getUTCMinutes","getUTCSeconds","numberOfDigits","getUTCMilliseconds","formatters$3","dayPeriodEnum","localize","era","ordinalNumber","signedWeekYear","weekYear","isoWeek","dayOfYear","setUTCMonth","difference","getUTCDayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","dayPeriod","hours","_localize","timezoneOffset","_originalDate","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","originalDate","dirtyDelimiter","absOffset","minutes","delimiter","formatters$1","dateLongFormatter","formatLong","timeLongFormatter","longFormatters","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","longFormatters$1","protectedDayOfYearTokens","protectedWeekYearTokens","throwProtectedError","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance$1","tokenValue","addSuffix","comparison","buildFormatLongFn","defaultWidth","formatLong$1","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","formatRelative$1","_baseDate","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","localize$1","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findKey","valueCallback","parsePattern","parseResult","defaultLocale","formatDistance","formatRelative","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","_options$locale2","_options$locale2$opti","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatStr","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffsetInMilliseconds","formatterOptions","firstCharacter","longFormatter","cleanEscapedString","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","undefined$1","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","CHROMIUM_OS","MAC_OS","enumerize","enums","str1","str2","lowerize","rgxMapper","arrays","strMapper","windowsVersionMap","ME","XP","Vista","RT","regexes","browser","cpu","device","engine","EDGE","os","UAParser","extensions","getResult","_navigator","_ua","_uach","_rgxmap","mergedRegexes","_isSelfNav","getBrowser","_browser","majorize","brave","isBrave","getCPU","_cpu","getDevice","_device","mobile","standalone","maxTouchPoints","getEngine","_engine","getOS","_os","getUA","setUA","CPU","DEVICE","ENGINE","OS","jQuery","Zepto","commonjsGlobal","lib","uaParser_minExports","ClientUAInstance","setUa","userAgentString","parseUserAgent","UserAgentInstance","UA","setUserAgent","UAHelper","enumerableOnly","sym","_typeof","_defineProperties","_getPrototypeOf","_objectWithoutProperties","sourceSymbolKeys","_assertThisInitialized","_slicedToArray","_arrayWithHoles","_s","_arr","_n","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","InitialDeviceTypes","isMobile","isTablet","isSmartTV","isConsole","isWearable","setDefaults","getNavigatorInstance","isIOS13Check","nav","MSStream","mobilePayload","getOwnPropertyDescriptors","_objectSpread2","vendor","osVersion","isMobileType","isTabletType","isMobileAndTabletType","isSmartTVType","isBrowserType","isWearableType","isConsoleType","isEmbeddedType","getMobileVendor","getMobileModel","getDeviceType","isAndroidType","isWindowsType","_ref13","isMacOsType","_ref14","isWinPhoneType","_ref15","isIOSType","_ref16","getOsVersion","_ref17","getOsName","_ref18","isChromeType","_ref19","isFirefoxType","_ref20","isChromiumType","_ref21","isEdgeType","_ref22","isYandexType","_ref23","isSafariType","_ref24","isMobileSafariType","_ref25","isOperaType","_ref26","isIEType","_ref27","isMIUIType","_ref28","isSamsungBrowserType","_ref29","getBrowserFullVersion","_ref30","getBrowserVersion","_ref31","getBrowserName","_ref32","getEngineName","_ref33","getEngineVersion","_ref34","isElectronType","isEdgeChromiumType","getIOS13","getIPad13","getIphone13","getIPod13","getUseragent","userAg","buildSelectorsObject","isEmbedded","isMobileSafari","isChromium","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","useDeviceData","hookUserAgent","AndroidView","renderWithFragment","BrowserView","ConsoleView","CustomView","viewClassName","IEView","IOSView","MobileOnlyView","MobileView","SmartTVView","TabletView","WearableView","WinPhoneView","deviceDetect","checkDeviceType","browserMajorVersion","browserFullVersion","browserPayload","smartTvPayload","consolePayload","wearablePayload","embeddedPayload","getSelectorsByUserAgent","_UAHelper$parseUserAg","isMobile_1","useDeviceSelectors","deviceData","useMobileOrientation","_useState2","isPortrait","isLandscape","handleOrientationChange","withOrientationChange","_class","Constructor","_classCallCheck","_possibleConstructorReturn","isEventListenerAdded","onOrientationChange","onPageLoad","protoProps","staticProps","_inherits","createGroupsInArray","numberOfGroups","perGroup","getMonthDetails","firstDayOfWeek","daysPrevMonth","dates","leadingDays","getDay","getLeadingDays","daysThisMonth","lastDay","getMonthDays","daysNextMonth","monthDays","days","getTrailingDays","weeks","isDisableDateInRange","startDate","endDate","setDate","isDateDisabled","isDateInRange","isSameDateAs","isDateSelected","isEndDate","isLastDayOfMonth","date2","isStartDate","isToday","Calendar","addMonths","calendarDate","dayFormat","disabledDates","hoverDate","maxDate","minDate","onDayClick","onDayKeyDown","onDayMouseEnter","onDayMouseLeave","onMonthClick","onMonthKeyDown","onYearClick","onYearKeyDown","selectAdjacementDays","selectEndDate","showAdjacementDays","weekdayFormat","listOfMonths","setListOfMonths","months","setMonth","toLocaleString","getMonthsNames","monthDetails","listOfYears","years","_year","getYears","weekDays","toLocaleDateString","clickable","Navigation","navNextDoubleIcon","navNextIcon","navPrevDoubleIcon","navPrevIcon","navYearFirst","onNavigationClick","justifyContent","CCalendar","calendars","onDayHover","onCalendarDateChange","onEndDateChange","onStartDateChange","onSelectEndChange","onViewChanged","isInitialMount","_calendarDate","setCalendarDate","_startDate","setStartDate","_endDate","setEndDate","_p","_hoverDate","setHoverDate","_q","_maxDate","setMaxDate","_r","_minDate","setMinDate","_selectEndDate","setSelectEndDate","_t","setView","setCalendarPage","setFullYear","handleDayClick","handleDayMouseEnter","handleDayMouseLeave","handleMonthClick","handleMonthKeyDown","handleNavigationOnClick","double","handleYearClick","handleYearKeyDown","handleDayKeyDown","CFormFeedback","invalid","CFormControlValidation","describedby","feedbackInvalid","feedbackValid","tooltipFeedback","CFormFloating","CFormLabel","customClassName","CFormText","CFormControlWrapper","floatingClassName","floatingLabel","FormControlValidation","CPicker","dropdownClassNames","footerContent","toggler","pickerRef","pickerForkedRef","dropdownRef","togglerRef","handleMouseUp","CTimePickerRollCol","colRef","setIntersecting","useIsVisible","nodeEl","behavior","convertTimeToDate","getAmPm","toLocaleTimeString","getSelectedHour","ampm","isAmPm","getSelectedMinutes","getSelectedSeconds","CTimePicker","cancelButton","cancelButtonColor","cancelButtonSize","cancelButtonVariant","cleaner","confirmButton","confirmButtonColor","confirmButtonSize","confirmButtonVariant","indicator","inputReadOnly","onTimeChange","placeholder","_u","formRef","inputRef","_v","_w","initialDate","setInitialDate","_x","setIsValid","_y","_ampm","setAmPm","_z","_0","listOfHours","listOfMinutes","listOfSeconds","hour12","localizedTimePartials","setLocalizedTimePartials","listOfMinutesSeconds","setMinutes","getLocalizedTimePartials","timeStyle","handleFormValidation","handleTimeChange","abbr","setHours","setSeconds","toTimeString","isValidTime","handleClear","InputGroup","_a$1","_b$1","_c$1","_d$1","_e$1","_f$1","CDateRangePicker","closeOnSelect","format$1","inputDateFormat","inputDateParse","inputOnChangeDelay","ranges","rangesButtonsColor","rangesButtonsSize","rangesButtonsVariant","separator","timepicker","todayButton","todayButtonColor","todayButtonSize","todayButtonVariant","inputEndRef","inputStartRef","_1","_2","_3","_5","initialStartDate","setInitialStartDate","_6","initialEndDate","setInitialEndDate","_7","inputStartHoverValue","setInputStartHoverValue","_8","inputEndHoverValue","setInputEndHoverValue","_9","_10","setInputValue","formatDate","handleEndDateChange","handleStartDateChange","handleOnChange","useDebouncedCallback","rgx","partials","groups","getLocalDateFromString","handleDayHover","handleCalendarDateChange","__","CDatePicker","onDateChange","getPlacement","_placement","CDropdownContext","CDropdown","dropdownToggleRef","dropdownMenuRef","contextValues","handleKeyup","alignmentDirection","CDropdownDivider","CDropdownHeader","CDropdownItem","CDropdownItemPlain","alignmentClassNames","CDropdownMenu","CDropdownToggle","togglerProps","CSpinner","visuallyHiddenLabel","CElementCover","boundaries","elementCoverRef","customBoundaries","setCustomBoundaries","getCustomBoundaries","parentCoords","sides","coords","sideMargin","containerCoords","coverStyles","CFooter","CForm","CFormCheck","hitArea","indeterminate","FormValidation","CFormInput","plainText","timeOutId","CFormRange","CFormSelect","CFormSwitch","CFormTextarea","CInputGroup","CInputGroupText","BREAKPOINTS$3","CCol","repsonsiveClassNames","bp","BREAKPOINTS$2","CContainer","BREAKPOINTS$1","CRow","gutter","gutterX","gutterY","CHeader","CHeaderBrand","CHeaderDivider","CHeaderNav","CHeaderText","CHeaderToggler","CImage","CListGroup","CListGroupItem","CLoadingButton","disabledOnLoading","spinnerType","_loading","setLoading","CModalContent","CModalDialog","fullscreen","scrollable","CModalContext","CModal","onClosePrevented","unmountOnClose","activeElementRef","modalRef","modalContentRef","staticBackdrop","setStaticBackdrop","handleClickOutside","handleDismiss","fade","CModalBody","CModalFooter","CModalHeader","CModalTitle","createNativeOptions","CMultiSelectNativeSelect","CVirtualScroller","visibleItems","onScroll","virtualScrollRef","virtualScrollContentRef","setBuffer","currentItemIndex","setCurrentItemIndex","setItemHeight","viewportPadding","setViewportPadding","viewportHeight","setViewportHeight","setMaxHeight","_currentItemIndex","filterOptionsList","optionsList","_options_1","flattenOptionsArray","keepGroupLabel","options_1","options_2","selectOptions","deselected","_selected","selectedOption","deselectedOption","deduplicated","_selected_1","CMultiSelectOptions","handleOptionOnClick","optionsMaxHeight","optionsStyle","optionsTemplate","optionsGroupsTemplate","searchNoResultsLabel","virtualScroller","createOptions","_option","nextElementSibling","getNextSibling","previousElementSibling","getPreviousSibling","CMultiSelectSelection","onRemove","selectionType","selectionTypeCounterText","CMultiSelect","allowCreateOptions","clearSearchOnSelect","onFilterChange","selectAll","selectAllLabel","multiSelectRef","multiSelectForkedRef","nativeSelectRef","searchRef","searchValue","setSearchValue","setSelected","userOptions","setUserOptions","filteredOptions","flattenedOptions","userOption","uniqueValue","createOption","last_1","CNav","CNavGroupItems","CNavContext","CSidebarNav","CNavContextValues","visibleGroup","setVisibleGroup","isInVisibleGroup","el1","el2","array1","CNavGroup","compact","navItemsRef","entering","entered","exiting","handleTogglerOnCLick","CNavLink","navLinkRef","CNavItem","CNavTitle","CNavbar","colorScheme","CNavbarBrand","CNavbarNav","CNavbarText","CNavbarToggler","COffcanvas","offcanvasRef","showing","COffcanvasBody","COffcanvasHeader","COffcanvasTitle","CPagination","CPaginationItem","BREAKPOINTS","CPlaceholder","CProgressStackedContext","CProgressStacked","CProgressBar","CProgress","progressBarClassName","thin","CPopover","popoverRef","uID","toggleVisible","cilArrowBottom","cilArrowTop","cilFilterX","cilSwapVertical","getDefaultExportFromCjs","ReactPropTypesSecret_1","hasRequiredReactPropTypesSecret","factoryWithThrowingShims","hasRequiredFactoryWithThrowingShims","requireReactPropTypesSecret","requireFactoryWithThrowingShims","classnames","CIcon","icon","setChange","_icon","titleCode","iconName","$1","iconCode","_className","CSmartPagination","activePage","arrows","dots","doubleArrows","firstButton","lastButton","nextButton","onActivePageChange","previousButton","showDots","maxPrevItems","maxNextItems","beforeDots","afterDots","computedLimit","lastItem","itemsAmount","setPage","CTableHead","CTableHeaderCell","CTableBody","CTableDataCell","CTableRow","CTableFoot","CTableCaption","CTableResponsiveWrapper","pretifyName$1","getColumnNamesFromItems$1","CTable","bordered","borderless","caption","captionTop","small","striped","stripedColumns","tableFootProps","tableHeadProps","columnNames","getColumnNames$1","_style","getColumnLabel$1","colName","_cellProps","filterTable","tableFilter","tableFilterState","itemsDataColumns","getClickedColumnName","clickedCell","getColumnKey","getColumnLabel","pretifyName","getColumnNames","_columns","columns_1","getColumnNamesFromItems","getColumns","_columns_1","countColumns","_counter","columns_2","getColumnSorterState","sorterState","getTableHeaderCellProps","getTableHeaderCellStyles","columnSorter","CSmartTableBody","clickableRows","currentItems","firstItemOnActivePageIndex","noItemsLabel","onRowChecked","onRowClick","scopedColumns","selectable","colspan","trIndex","getTableDataCellProps","colSpan","CSmartTableHead","columnFilter","columnFilterState","handleOnCustomFilterChange","handleFilterOnChange","handleFilterOnInput","handleSelectAllChecked","handleSort","selectedAll","showGroups","sortingIcon","sortingIconAscending","sortingIconDescending","selectAllcheckboxRef","refresh","setRefresh","traverseColumns","deep","_column","columns_3","objects_1","getColumnGroups","cell","columnSorterIcon","getColumnValues","onInput","CSmartTable","columnFilterValue","elementCover","header","itemsPerPage","itemsPerPageLabel","itemsPerPageOptions","itemsPerPageSelect","onColumnFilterChange","onFilteredItemsChange","onItemsPerPageChange","onSelectAll","onSelectedItemsChange","onSorterChange","onTableFilterChange","pagination","paginationProps","sorterValue","tableBodyProps","tableFilterLabel","tableFilterPlaceholder","tableFilterValue","tableProps","mountedRef","_activePage","setActivePage","_items","setItems","_itemsNumber","_itemsPerPage","setItemsPerPage","setColumnFilterState","setSelectedAll","setSorterState","setTableFilterState","filteredColumns","filterColumns","filteredTable","sortedItems","item2","value2","sortItems","numberOfPages","handleClean","handleColumnFilterChange","handleTableFilterChange","isDataColumn","isSortable","resetable","handleSorterChange","columnName","handleRowChecked","page","handleItemsPerPageChange","isOnMobile","CSidebar","onVisibleChange","overlaid","unfoldable","sidebarRef","setMobile","inViewport","setInViewport","handleResize","handleOnClick","CSidebarBrand","CSidebarFooter","CSidebarToggler","CSidebarHeader","CTabContent","CTabPane","tabPaneRef","CToastContext","CToast","autohide","toastRef","_autohide","CToastBody","CToastClose","CToastHeader","CToaster","toasts","setToasts","addToast","toast","CTooltip","tooltipRef","CWidgetStatsA","CWidgetStatsB","inverse","CWidgetStatsC","CWidgetStatsD","CWidgetStatsE","CWidgetStatsF","isMergeableObject","isNonNullObject","stringValue","REACT_ELEMENT_TYPE","isReactElement","isSpecial","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","arrayMerge","sourceIsArray","destination","mergeObject","objectCtorString","getPrototype","isNew","newValue","copyObject","nativeKeysIn","isProto","baseKeysIn","keysIn","allocUnsafe","isDeep","copy","getSymbolsIn","arrayBuffer","dataView","cloneArrayBuffer","reFlags","regexp","lastIndex","typedArray","cloneDataView","cloneTypedArray","cloneRegExp","cloneSymbol","objectCreate","baseCreate","nodeIsMap","isMap","baseIsMap","nodeIsSet","isSet","baseIsSet","funcTag","cloneableTags","baseClone","isFlat","isFull","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","baseAssignIn","copySymbols","baseAssign","initCloneByTag","subValue","getAllKeysIn","arrayEach","CLONE_DEEP_FLAG","FormikContext","FormikProvider","useFormikContext","formik","isEmptyArray","isEmptyChildren","isPromise","getIn","toPath","setIn","resVal","pathArray","currentObj","setNestedObjectValues","_Object$keys","emptyErrors","emptyTouched","useFormik","validateOnChange","_ref$validateOnChange","validateOnBlur","_ref$validateOnBlur","validateOnMount","_ref$validateOnMount","isInitialValid","enableReinitialize","_ref$enableReinitiali","initialErrors","initialTouched","fieldRegistry","setIteration","stateRef","touched","isSubmitting","isValidating","submitCount","msg","isEqual","formikReducer","runValidateHandler","maybePromisedErrors","actualException","runValidationSchema","validationSchema","validateAt","sync","normalizedValues","prepareDataForValidation","abortEarly","validateYupSchema","yupError","_iterator","_isArray","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","fieldValidations","fieldErrorsList","runAllValidations","fieldErrors","schemaErrors","validateErrors","validateFormWithHighPriority","combinedErrors","resetForm","dispatchFn","onReset","maybePromisedOnReset","imperativeMethods","validateField","maybePromise","registerField","unregisterField","setTouched","shouldValidate","setErrors","setValues","setFieldError","setFieldValue","executeChange","eventOrTextValue","maybePath","outerHTML","valueProp","currentArrayOfValues","isValueInArray","getValueForCheckbox","getSelectedValues","eventOrPath","setFieldTouched","executeBlur","_e$target","eventOrString","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","promiseOrUndefined","executeSubmit","_errors","handleSubmit","validateForm","handleReset","getFieldMeta","initialError","getFieldHelpers","setError","getFieldProps","nameOrOptions","isAnObject","valueState","dirty","Formik","formikbag","innerRef","shouldClone","_action","_useFormikContext","insert","arrayLike","copyArrayLike","createAlterationHandler","alteration","defaultFunction","FieldArrayInner","updateArrayField","alterTouched","alterErrors","updateErrors","updateTouched","fieldError","fieldTouched","cloneDeep","handlePush","swap","indexA","indexB","handleSwap","handleMove","handleInsert","handleReplace","handleUnshift","handleRemove","arrayHelpers","_this$props2","circulars","clones","cloneNode","errorToString","regExpToString","SYMBOL_REGEXP","printSimpleValue","quoteStrings","printNumber","printValue","mixed","notOneOf","notType","isCast","uuid","lowercase","uppercase","lessThan","moreThan","negative","integer","isValue","noUnknown","__isYupSchema__","otherwise","isSchema","strReg","ValidationError","formatError","isError","errorOrErrors","captureStackTrace","runTests","endEarly","tests","fired","nestedErrors","Reference","isContext","isSibling","cast","isRef","__isYupRef","createValidation","Ref","nextParams","mapValues","validOrError","OPTIONS","lastPart","lastPartDebug","_part","innerType","fields","ReferenceSet","resolveAll","newItems","removeItems","BaseSchema","conditions","_mutate","_typeError","_whitelist","_blacklist","exclusiveTests","spec","withMutation","typeError","strip","recursive","nullable","presence","_typeCheck","_value","_whitelistError","_blacklistError","combined","mergedSpec","resolvedSchema","_cast","assert","formattedResult","getDefault","_validate","initialTests","finalTests","maybeCb","validateSync","isValidSync","_getDefault","_isPresent","exclusive","notRequired","isNullable","isExclusive","Condition","valids","invalids","alias","optional","Mixed","NumberSchema","isAbsent","less","more","truncate","_method","avail","isoReg","invalidDate","DateSchema","struct","numericKeys","minutesOffset","isoParse","prepareParam","INVALID_DATE","_err$path","sortByKeyOrder","defaultSort","ObjectSchema","_sortErrors","_nodes","_excludedEdges","_options$stripUnknown","stripUnknown","intermediateValue","innerOptions","__validating","isChanged","exists","fieldValue","inputValue","fieldSpec","nextFields","schemaOrRef","getDefaultFromShape","dft","additions","excludes","excludedEdges","addNode","depPath","sortFields","pick","picked","omit","fromGetter","newObj","noAllow","unknownKeys","known","unknown","allow","mapKeys","constantCase","Table","responsiveClass","Description_SEIRHCD","sfblok","blokd","sfifblok","firdblok","lastDate2","download_chart","dates2","setdates2","openBS","setOpenBS","openM","setOpenM","openV","setOpenV","chartData_bsR0","setChartData_bsR0","chartOptions_bsR0","setChartOptions_bsR0","forecasts_R0","mean","tr","tr_min","tr_max","datatype","dataT","R0_mean","R0_min","R0_max","chartData_pred","setChartData_pred","chartOptions_pred","setChartOptions_pred","forecasts_new","stype","ventilation","setAE","alpha_e_std","setAI","alpha_i_std","setEhc","eps_hc_std","setM","mu_std","setAE_mean","alpha_e_mean","setAI_mean","alpha_i_mean","setEhc_mean","eps_hc_mean","setM_mean","mu_mean","fk_mean","fk_max","fk_min","C_mean","C_max","C_min","D_mean","D_max","D_min","r0_mean","r0_max","r0_min","r0_meanBS","setr0_meanDataBS","res_validR0","dataBS","chartData2","setChartData2","chartDataTrain","setChartDataTrain","chartOptionsTrain","setChartOptionsTrain","res_trainR0","chartOptionsSEIRHCD","setChartOptionsSEIRHCD","chartDataSEIRHCD","setChartDataSEIRHCD","res_train","dataSEIRHCD","mean_data","max_data","min_data","r_data","res2","chartOptionsSEIRHCD_v","setChartOptionsSEIRHCD_v","chartDataSEIRHCD_v","setChartDataSEIRHCD_v","res_valid","chartOptions_p","setChartOptions_p","chartData_p","setChartData_p","res_validP","ae_data","ai_data","e_data","m_data","chartOptions_pm","setChartOptions_pm","chartData_pm","setChartData_pm","res_trainP","prognose_type","setPrognose_type","prognose_data","setPrognose_data","ehc","ae_mean","ai_mean","ehc_mean","m_mean","openSEIRHCD","setOpenSEIRHCD","variants2","noValidate","OptionItem","selectedType","scrollbarSize","recalc","scrollDiv","ModalBody","ModalDialog","contentClassName","centered","dialogClass","fullScreenClass","ModalFooter","ModalHeader","ModalTitle","dialogClassName","dialogAs","Dialog","dataBsTheme","ariaDescribedby","modalStyle","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","setModalRef","getModalManager","updateDialogStyle","containerIsOverflowing","modalIsOverflowing","getScrollbarSize","handleWindowResize","handleDialogMouseDown","handleStaticModalAnimation","handleStaticBackdropClick","baseModalStyle","onMouseUp","onMouseDown","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","files","setIsActive","file","setOpen","_show","Description_AOM","show1","setShow1","HSKG","OmskG","AltayG","fblok","handleShow1","handleClose1","sblok","CovidDataFiles","CollapseParamCSV","download_article","resA","FileDownload","yup","n_future","init_infected","Modeling","population_data","setPopulation_data","region_data","setRegion_data","region_name","setRegion_name","n_future_day","setN_future_day","init_inf","setInit_inf","chartData_all","setChartData_all","initchartData_all","setINITChartData_all","isrunning","setIsrunning","cov_nd_high","cov_nd_state","cov_data_state","setData","data_cov_nd_high","setData_cov_nd_high","data_cov_nd","setData_cov_nd","cov_cum_diag","cov_cum_diag_high","data_cov_cum_diag_high","setData_cov_cum_diag_high","data_cov_cum_diag","setData_cov_cum_diag","cov_new_death","cov_new_death_high","data_cov_new_death_high","setData_cov_new_death_high","data_new_death","setData_cov_new_death","cov_new_rec","cov_new_rec_high","data_cov_new_rec_high","setData_cov_new_rec_high","data_new_rec","setData_cov_new_rec","cov_new_crit","cov_new_crit_high","data_cov_new_crit_high","setData_cov_new_crit_high","data_new_crit","setData_cov_new_crit","chartnum","setChartnum","real_data1","initchart","new_diagnoses_high","subtitle","setnewChart","withspinner","setWithspinner","newChart","setReset","break_get","lastName","selectedRegion","sregion","run_msim_","chart_cumdiag","cum_diagnoses_high","chart_newdeath","new_deaths_high","chart_new_rec","new_recoveries_high","chart_new_crit","new_critical","new_critical_high","initchart_cumdiag","initchart_newdeath","initchart_new_rec","initchart_new_crit","ModelingSEIR_HCD","Data","RussiaG","CollapseParamInvitro","CollapseParamNSKsmall","CollapseMSDeath_data","MoscowG","SpbG","CollapseParamOmsk","CollapseParamAltay","CollapseParamAltaysmoothed","News","conf_e","conf_c","conf_d","conf_b","conf_a","sem_c","life_d","life_c","life_b","life_a","NewsData","News_En","Conferences","Sem_Compl","Links","Data_processing_and_analysis","epid1","epid2","epid3","econ1","econ2","ecol1","ecol2","The_spread_of_epidemics","seir1","seir2","seir3","seir4","seir5","seir6","field1","field2","field3","machine1","machine2","machine3","machine4","machine5","machine6","machine7","machine8","machine9","Medicine","medicine1","medicine2","medicine3","medicine4","medicine5","medicine6","medicine7","Pollution_modeling","pollution1","pollution2","pollution3","Social_processes","social1","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","createClass","objectWithoutProperties","encodeSpecialCharacters","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","objectAssign","rafPolyfill","clock","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","_helmetCallback","commitTagChanges","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","tags","headElement","tagNodes","indexToDelete","newElement","styleSheet","existingTag","isEqualNode","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","generateTitleAsReactComponent","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","noscript","HelmetExport","HelmetWrapper","classCallCheck","possibleConstructorReturn","inherits","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","defaultTitle","defer","titleTemplate","mappedState","Helmet","withSideEffect","renderStatic","Covid_En","StaticCovidData_En","Tub_En","StaticTubData_En","StaticTubDataSoc_En","NaviBar_En","Main_picture_En","Main_contacts_En","Main_publications_En","Main_publications_more_detailed_En","Main_En","conf_TheoryAndNumericalMethods","Description_SEIRHCD_En","Description_AOM_En","CovidDataFiles_En","CollapseParamCSV_En","Modeling_En","ModelingSEIR_HCD_En","Data_En","CollapseParamInvitro_En","CollapseParamNSKsmall_En","CollapseMSDeath_data_En","CollapseParamOmsk_En","CollapseParamAltay_En","CollapseParamAltaysmoothed_En","MainTeam_En","MTeamItem_En","Conferences_En","Sem_Compl_En","Links_En","Data_processing_and_analysis_En","The_spread_of_epidemics_En","Medicine_En","Pollution_modeling_En","Social_processes_En","Sem_a","Conf_a","Conf_b","Conf_c","Conf_d","Conf_e","Conf_f","Conf_g","Conf_h","Sem_a_En","Conf_a_En","Conf_b_En","Conf_c_En","Conf_d_En","Conf_e_En","Conf_f_En","Conf_g_En","Conf_h_En","Sem_b","Sem_b_En","Sem_c","Sem_c_En","Sem_d","Sem_d_En","Sem_e","Sem_e_En","Sem_f","Sem_f_En","Sem_g","Sem_g_En","Sem_h","Sem_h_En","Sem_i","Sem_i_En","Sem_j","Sem_j_En","Sem_k","Sem_k_En","Sem_l","Sem_l_En","Sem_m","Sem_m_En","Sem_n","Sem_n_En","Sem_o","Sem_o_En","Life_a","Life_a_En","Life_b","Life_b_En","Life_c","Life_c_En","Life_d","Life_d_En","TheoryAndNumericalMethods","conf_TheoryAndNumericalMethods2","TheoryAndNumericalMethods_En","ModernProblemsOfInverseProblems","conf_ModernProblemsOfInverseProblems2","ModernProblemsOfInverseProblems_En","Conf_bioresources","Conf_dynamics","Conf_mathematicsAI","Conf_innovativeMethods","charSet","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","App","reportWebVitals"],"sourceRoot":""}